Catatan Kuliah: Security & Permission

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.log

Melihat log login:

sudo tail -f /var/log/auth.log

3. Permission pada Linux

Linux menggunakan model keamanan berbasis user dan group.

Setiap file memiliki:

  • Owner (pemilik)
  • Group
  • Others (pengguna lain)

Lihat permission:

ls -l

Contoh:

-rw-r--r-- 1 user user 1024 Jul 10 file.txt

Arti:

-rw-r--r--││ │ │││ │ └── Others││ └──── Group│└────── Owner└──────── File type

4. Permission Read, Write, Execute

SimbolNilaiFungsi
r4Read (baca)
w2Write (tulis)
x1Execute (eksekusi)

Contoh:

rwx = 7rw- = 6r-- = 4--- = 0

5. chmod

Perintah untuk mengubah permission file atau direktori.

Sintaks:

chmod [permission] nama_file

Metode Numerik

777

chmod 777 file.txt

Artinya:

Owner  : rwxGroup  : rwxOthers : rwx

Semua pengguna dapat membaca, mengubah, dan menjalankan file.

⚠ Tidak direkomendasikan pada sistem produksi.


644

chmod 644 file.txt
Owner  : rw-Group  : r--Others : r--

Digunakan untuk file biasa.


600

chmod 600 file.txt
Owner  : rw-Group  : ---Others : ---

Hanya pemilik yang dapat membaca dan menulis file.


755

chmod 755 script.sh
Owner  : rwxGroup  : r-xOthers : r-x

Umumnya digunakan untuk script atau executable.


Metode Simbolik

Tambahkan execute:

chmod +x script.sh

Hapus write:

chmod -w file.txt

Tambahkan read untuk group:

chmod g+r file.txt

6. chown

Digunakan untuk mengubah pemilik file.

Sintaks:

sudo chown user file.txt

Contoh:

sudo chown mahasiswa file.txt

Mengubah owner dan group:

sudo chown mahasiswa:kelasA file.txt

Melihat hasil:

ls -l

7. sudo

Linux membatasi akses administratif demi keamanan.

Perintah:

sudo

berarti:

"Jalankan perintah sebagai administrator (root)."

Contoh:

sudo apt update
sudo apt install apache2

Mengapa 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/root123456password

9. SSH Public Key Authentication

Metode yang lebih aman dibanding password.

Membuat Key Pair

Pada komputer client:

ssh-keygen

Hasil:

~/.ssh/id_rsa~/.ssh/id_rsa.pub

Mengirim Public Key ke Server

ssh-copy-id user@ip_server

Login Tanpa Password

ssh user@ip_server

Sistem akan memverifikasi private key.


Keuntungan

  • Lebih aman
  • Sulit ditebak
  • Mendukung otomatisasi

10. Membatasi Percobaan Login SSH

Edit konfigurasi:

sudo nano /etc/ssh/sshd_config

Contoh:

MaxAuthTries 3PermitRootLogin noPasswordAuthentication yes

Restart SSH:

sudo systemctl restart ssh

11. 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 -y

Cek Status

sudo ufw status

Mengizinkan SSH

sudo ufw allow ssh

atau

sudo ufw allow 22/tcp

Mengaktifkan Firewall

sudo ufw enable

Menolak Port

sudo ufw deny 80/tcp

Menghapus Rule

sudo ufw delete allow 80/tcp

Melihat Detail Rule

sudo ufw status verbose

12. 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 sementara

Instalasi

sudo apt updatesudo apt install fail2ban -y

Mengecek Status

sudo systemctl status fail2ban

Menjalankan Service

sudo systemctl enable fail2bansudo systemctl start fail2ban

Melihat Jail Aktif

sudo fail2ban-client status

Status SSH Jail

sudo fail2ban-client status sshd

Contoh output:

Currently banned: 1Banned IP list: 192.168.1.100

Troubleshooting

Firewall Mengunci Akses SSH

Pastikan rule SSH dibuat sebelum mengaktifkan UFW:

sudo ufw allow ssh

Fail2ban Tidak Berjalan

Periksa:

sudo systemctl status fail2ban

Lihat log:

sudo journalctl -u fail2ban

SSH Ditolak

Periksa:

sudo fail2ban-client status sshd

Jika IP terblokir:

sudo fail2ban-client set sshd unbanip IP_ADDRESS

Kesimpulan

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.