Hardening Sistem dan Pengendalian Akses
- Durasi: 1 Pertemuan (3 x 50 menit)
- Tingkat: Dasar–Menengah
Capaian Pembelajaran
Setelah menyelesaikan praktikum ini mahasiswa mampu:
- Menjelaskan konsep System Hardening.
- Menerapkan prinsip Least Privilege.
- Mengelola akun pengguna dan grup pada Linux.
- Mengelola kepemilikan file dan direktori.
- Mengatur hak akses file dan direktori menggunakan
chmod. - Mengkonfigurasi akses SSH secara aman.
- Mengkonfigurasi firewall menggunakan UFW.
- Memverifikasi konfigurasi keamanan yang telah diterapkan.
Tujuan Praktikum
Mahasiswa mampu menerapkan mekanisme pengendalian akses pada sistem operasi Linux sehingga hanya pengguna yang berwenang dapat mengakses sumber daya sistem.
Dasar Teori
1. System Hardening
System Hardening merupakan proses mengurangi risiko keamanan dengan menghilangkan konfigurasi yang tidak diperlukan serta memperkuat konfigurasi keamanan sistem. Tujuan hardening:
- mengurangi attack surface,
- mencegah akses tidak sah,
- meningkatkan keamanan sistem,
- memenuhi kebijakan keamanan.
2. Principle of Least Privilege
Prinsip Least Privilege menyatakan bahwa setiap pengguna hanya diberikan hak akses minimum yang diperlukan untuk menjalankan pekerjaannya. Contoh:
- Administrator memiliki hak penuh.
- Operator hanya dapat mengelola layanan tertentu.
- Pengguna biasa hanya dapat membaca data yang diizinkan serta tidak dapat mengubah konfigurasi sistem.
3. Authentication dan Authorization
- Authentication menjawab pertanyaan "Siapa Anda?"
- Authorization menjawab pertanyaan "Apa yang boleh Anda lakukan?"
4. Ownership pada Linux
Setiap file memiliki tiga atribut utama:
- Owner
- Group
- Permission
Contoh:
-rw-r----- 1 student student laporan.txt
Keterangan:
| Bagian | Arti |
|---|---|
| student pertama | Owner |
| student kedua | Group |
| rw-r----- | Permission |
5. Permission Linux
Permission terdiri atas:
- Read (r)
- Write (w)
- Execute (x)
Untuk:
- Owner
- Group
- Others
Contoh:
-rwxr-x---
Peralatan
VM dari Praktikum 1:
- Windows Host
- Ubuntu Server (VM)
Software:
- OpenSSH Server
- OpenSSH Client / PuTTY / Terminal
- UFW
Topologi
Praktikum ini menggunakan topologi yang telah disiapkan pada Praktium 1.
Internet
│
VirtualBox NAT Network
│
┌──────────────────┴──────────────────┐
│ │
Ubuntu Server Kali
192.168.56.10 192.168.56.20
│ │
└──────────────────┬──────────────────┘
│
VirtualBox Host-Only Network
│
Windows Host
192.168.56.1
Langkah Praktikum
A. Update Sistem
sudo apt update
sudo apt upgrade -y
B. Membuat User
Lihat user:
cat /etc/passwd
Buat user:
sudo adduser auditor
Buat grup:
sudo groupadd adminlab
Masukkan user:
sudo usermod -aG adminlab auditor
Verifikasi:
groups auditor
C. Pengujian Hak Akses
Masuk sebagai:
su - auditor
Coba jalankan:
sudo apt update
Diskusikan hasilnya.
D. Ownership File
Buat folder:
mkdir praktikum3
Buat file:
touch praktikum3/rahasia.txt
Lihat ownership:
ls -l praktikum3
Ubah owner:
sudo chown auditor praktikum3/rahasia.txt
Ubah owner dan group:
sudo chown auditor:adminlab praktikum3/rahasia.txt
Verifikasi:
ls -l praktikum3
E. Permission File
Login menggunakan akun user auditor. Atur permission berikut.
chmod 600 praktikum3/rahasia.txt
Login menggunakan user lain.
Apakah file dapat dibaca?
Ubah menjadi
chmod 644 praktikum3/rahasia.txt
Lakukan pengujian kembali.
Ubah menjadi
chmod 777 praktikum3/rahasia.txt
Diskusikan:
Apakah konfigurasi tersebut aman?
Mengapa?
F. Permission Direktori
Buat direktori:
mkdir data
Atur:
chmod 700 data
Masuk sebagai user lain.
Apakah direktori dapat dibuka?
Ubah menjadi
chmod 755 data
Bandingkan hasilnya.
G. Tabel Permission
Lengkapi tabel berikut.
| Permission | Nilai |
|---|---|
| rwx | |
| rw- | |
| r-x | |
| r-- | |
| -wx | |
| -w- | |
| --x | |
| --- |
H. Hardening SSH
Periksa status:
sudo systemctl status ssh
Edit konfigurasi:
sudo nano /etc/ssh/sshd_config
Ubah:
PermitRootLogin no
Ubah:
Port 2222
Tambahkan:
AllowUsers auditor
Restart:
sudo systemctl restart ssh
Verifikasi:
sudo ss -tlnp
Pengujian dari Windows Host:
ssh auditor@192.168.56.10
Lakukan percobaan login menggunakan akun lain dan amati hasilnya.
I. Firewall
Aktifkan UFW.
sudo ufw enable
Izinkan SSH.
sudo ufw allow ssh
Perintah di atas akan mengizinkan koneksi TCP di port 22 (port default ssh). Namun karena sebelumnya port ssh sudah diganti ke 2222, maka perintah yang lebih tepat adalah:
sudo ufw allow 2222/tcp
Izinkan HTTP.
sudo ufw allow 80/tcp
Lihat aturan.
sudo ufw status verbose
J. Audit Keamanan
Periksa:
User:
cat /etc/passwd
Port:
sudo ss -tuln
Firewall:
sudo ufw status verbose
SSH:
sudo systemctl status ssh
Studi Kasus
Sebuah server memiliki konfigurasi berikut:
-rwxrwxrwx database.sql
Jawablah:
- Apa risiko konfigurasi tersebut?
- Permission berapa yang lebih tepat? Apa alasannya?
Administrator juga menemukan file berikut:
-rwx------ id_rsa
Apakah konfigurasi tersebut sudah sesuai? Apa alasannya?
Tugas Praktikum
Tugas 1
Buat tiga akun berikut.
| Username | Hak Akses |
|---|---|
| adminlab | Administrator |
| laboran | Laboran |
| auditor | User biasa |
Verifikasi grup masing-masing.
Tugas 2
Buat struktur direktori seperti berikut:
/home/auditor/
└──project/
├── laporan.pdf
├── backup.tar.gz
└── script.sh
Atur permission sehingga:
- laporan.pdf hanya dapat dibaca dan diubah oleh pemilik.
- backup.tar.gz dapat dibaca oleh anggota grup tetapi tidak dapat diubah.
- script.sh dapat dieksekusi oleh seluruh pengguna, tetapi hanya dapat diubah oleh pemilik.
Sertakan hasil perintah:
ls -l
Tugas 3
Konfigurasikan SSH sehingga:
- login root dinonaktifkan,
- hanya akun auditor yang dapat login melalui SSH.
Lakukan pengujian menggunakan akun lain.
Tugas 4
Aktifkan UFW sehingga:
- SSH diizinkan,
- HTTP diizinkan,
- seluruh koneksi masuk lainnya ditolak.
Laporan Praktikum
Laporan memuat:
- Tujuan praktikum.
- Dasar teori.
- Hasil pengelolaan pengguna dan grup.
- Hasil pengaturan ownership dan permission file.
- Hasil konfigurasi SSH.
- Hasil konfigurasi UFW.
- Analisis studi kasus.
- Jawaban tugas praktikum.
- Kesimpulan.
Rubrik Penilaian
| Komponen | Bobot |
|---|---|
| Manajemen pengguna dan grup | 20% |
Ownership (chown/chgrp) | 20% |
Permission (chmod) | 20% |
| Hardening SSH | 15% |
| Firewall UFW | 15% |
| Laporan | 10% |
Persiapan untuk Praktikum 4
Pada akhir praktikum, pastikan kondisi berikut telah terpenuhi:
- Ubuntu Server telah diperbarui (
apt updatedanapt upgrade). - OpenSSH Server berjalan pada port 2222.
- Firewall UFW aktif dengan aturan yang sesuai.
- Buat snapshot VirtualBox dengan nama Praktikum-3 agar konfigurasi hardening dapat dipulihkan apabila terjadi kesalahan pada praktikum selanjutnya.
Dengan demikian, lingkungan laboratorium akan siap digunakan untuk implementasi Web Application Firewall (WAF) pada Praktikum 4.