Catatan Kuliah: Security & Permission
Dasar Teori
1. Pentingnya Keamanan Sistem
Keamanan (security) merupakan aspek penting dalam pengelolaan sistem operasi dan server. Tujuan utama keamanan sistem adalah:
- Menjaga kerahasiaan data (Confidentiality)
- Menjaga integritas data (Integrity)
- Menjamin ketersediaan layanan (Availability)
Konsep ini dikenal sebagai CIA Triad.
Contoh ancaman keamanan:
- Pencurian akun
- Brute force login
- Malware
- Penghapusan file oleh pengguna tidak berwenang
- Penyusupan melalui layanan jaringan
2. Konsep AAA (Authentication, Authorization, Accounting)
AAA merupakan konsep dasar dalam keamanan sistem.
A. Authentication
Authentication adalah proses verifikasi identitas pengguna.
Pertanyaan yang dijawab:
"Siapa Anda?"
Contoh:
- Username dan password
- PIN ATM
- Sidik jari
- Face recognition
- SSH Key
Contoh login Linux:
ssh [email protected]Sistem akan meminta password untuk memverifikasi identitas pengguna.
B. Authorization
Authorization adalah proses pemberian hak akses setelah pengguna berhasil login.
Pertanyaan yang dijawab:
"Apa yang boleh Anda lakukan?"
Contoh:
Sistem Akademik
Role Mahasiswa:
- Melihat nilai
- Mengisi KRS
Role Dosen:
- Menginput nilai
- Mengubah nilai
- Melihat data mahasiswa
Role Admin:
- Mengelola seluruh sistem
Pada Linux, authorization diwujudkan dalam bentuk:
- Permission file
- Permission direktori
- Membership group
- Hak sudo
C. Accounting
Accounting adalah proses pencatatan aktivitas pengguna.
Pertanyaan yang dijawab:
"Apa yang telah dilakukan pengguna?"
Contoh:
- Log login pengguna
- Log web server
- Log database
- Log SSH
Contoh file log Linux:
/var/log/auth.logMelihat log login:
sudo tail -f /var/log/auth.log3. Permission pada Linux
Linux menggunakan model keamanan berbasis user dan group.
Setiap file memiliki:
- Owner (pemilik)
- Group
- Others (pengguna lain)
Lihat permission:
ls -lContoh:
-rw-r--r-- 1 user user 1024 Jul 10 file.txtArti:
-rw-r--r--││ │ │││ │ └── Others││ └──── Group│└────── Owner└──────── File type4. Permission Read, Write, Execute
| Simbol | Nilai | Fungsi |
|---|---|---|
| r | 4 | Read (baca) |
| w | 2 | Write (tulis) |
| x | 1 | Execute (eksekusi) |
Contoh:
rwx = 7rw- = 6r-- = 4--- = 05. chmod
Perintah untuk mengubah permission file atau direktori.
Sintaks:
chmod [permission] nama_fileMetode Numerik
777
chmod 777 file.txtArtinya:
Owner : rwxGroup : rwxOthers : rwxSemua pengguna dapat membaca, mengubah, dan menjalankan file.
⚠ Tidak direkomendasikan pada sistem produksi.
644
chmod 644 file.txtOwner : rw-Group : r--Others : r--Digunakan untuk file biasa.
600
chmod 600 file.txtOwner : rw-Group : ---Others : ---Hanya pemilik yang dapat membaca dan menulis file.
755
chmod 755 script.shOwner : rwxGroup : r-xOthers : r-xUmumnya digunakan untuk script atau executable.
Metode Simbolik
Tambahkan execute:
chmod +x script.shHapus write:
chmod -w file.txtTambahkan read untuk group:
chmod g+r file.txt6. chown
Digunakan untuk mengubah pemilik file.
Sintaks:
sudo chown user file.txtContoh:
sudo chown mahasiswa file.txtMengubah owner dan group:
sudo chown mahasiswa:kelasA file.txtMelihat hasil:
ls -l7. sudo
Linux membatasi akses administratif demi keamanan.
Perintah:
sudoberarti:
"Jalankan perintah sebagai administrator (root)."
Contoh:
sudo apt updatesudo apt install apache2Mengapa Tidak Login Sebagai Root?
Prinsip keamanan:
Least Privilege Principle
Pengguna hanya diberi hak minimum yang diperlukan.
Risiko login root:
- Salah menghapus file sistem
- Menjalankan malware dengan hak penuh
- Sulit melakukan audit aktivitas pengguna
Karena itu Linux lebih menyarankan penggunaan sudo.
8. Keamanan SSH
SSH (Secure Shell) digunakan untuk remote login secara aman.
Contoh:
ssh [email protected]Risiko SSH
Penyerang dapat melakukan:
- Brute Force Attack
- Password Guessing
- Dictionary Attack
Contoh:
admin/adminroot/root123456password9. SSH Public Key Authentication
Metode yang lebih aman dibanding password.
Membuat Key Pair
Pada komputer client:
ssh-keygenHasil:
~/.ssh/id_rsa~/.ssh/id_rsa.pubMengirim Public Key ke Server
ssh-copy-id user@ip_serverLogin Tanpa Password
ssh user@ip_serverSistem akan memverifikasi private key.
Keuntungan
- Lebih aman
- Sulit ditebak
- Mendukung otomatisasi
10. Membatasi Percobaan Login SSH
Edit konfigurasi:
sudo nano /etc/ssh/sshd_configContoh:
MaxAuthTries 3PermitRootLogin noPasswordAuthentication yesRestart SSH:
sudo systemctl restart ssh11. Firewall UFW
Apa itu Firewall?
Firewall adalah mekanisme penyaringan lalu lintas jaringan.
Firewall menentukan:
- Paket mana yang boleh masuk
- Paket mana yang ditolak
UFW (Uncomplicated Firewall)
Merupakan firewall sederhana berbasis iptables/nftables yang mudah digunakan.
Instalasi
sudo apt updatesudo apt install ufw -yCek Status
sudo ufw statusMengizinkan SSH
sudo ufw allow sshatau
sudo ufw allow 22/tcpMengaktifkan Firewall
sudo ufw enableMenolak Port
sudo ufw deny 80/tcpMenghapus Rule
sudo ufw delete allow 80/tcpMelihat Detail Rule
sudo ufw status verbose12. Fail2ban
Apa itu Fail2ban?
Fail2ban adalah aplikasi keamanan yang memonitor file log dan memblokir alamat IP yang melakukan percobaan login berulang.
Tujuannya:
- Mencegah brute force attack
- Mengurangi percobaan login ilegal
- Melindungi layanan SSH
Cara Kerja
Attacker │ ▼Percobaan login gagal │ ▼Log SSH │ ▼Fail2ban membaca log │ ▼IP diblokir sementaraInstalasi
sudo apt updatesudo apt install fail2ban -yMengecek Status
sudo systemctl status fail2banMenjalankan Service
sudo systemctl enable fail2bansudo systemctl start fail2banMelihat Jail Aktif
sudo fail2ban-client statusStatus SSH Jail
sudo fail2ban-client status sshdContoh output:
Currently banned: 1Banned IP list: 192.168.1.100Troubleshooting
Firewall Mengunci Akses SSH
Pastikan rule SSH dibuat sebelum mengaktifkan UFW:
sudo ufw allow sshFail2ban Tidak Berjalan
Periksa:
sudo systemctl status fail2banLihat log:
sudo journalctl -u fail2banSSH Ditolak
Periksa:
sudo fail2ban-client status sshdJika IP terblokir:
sudo fail2ban-client set sshd unbanip IP_ADDRESSKesimpulan
Pada praktikum ini mahasiswa telah mempelajari konsep keamanan dasar Linux yang mencakup Authentication, Authorization, dan Accounting (AAA), pengelolaan hak akses file menggunakan chmod dan chown, penggunaan hak administratif melalui sudo, pengamanan jaringan menggunakan UFW Firewall, serta perlindungan layanan SSH terhadap brute force attack menggunakan Fail2ban. Kemampuan ini merupakan fondasi penting dalam administrasi server dan keamanan sistem informasi.