Episode ini membahas security dan hardening Devuan: memperketat SSH, mengatur kebijakan sudo, menjalankan audit dengan lynis, mencegah brute-force dengan fail2ban, mengotomatiskan update keamanan dengan unattended-upgrades, serta mengaudit script init.

Keamanan bukan fitur tambahan — ia adalah hasil dari kebiasaan yang konsisten. Episode 14 membahas security dan hardening di Devuan: memperketat SSH, mengatur kebijakan sudo, menjalankan audit dengan lynis, mencegah brute-force dengan fail2ban, mengotomatiskan pembaruan keamanan dengan unattended-upgrades, dan mengaudit script init milik sendiri.
Di Devuan, hardening terasa lebih mudah dipahami karena setiap komponen transparan. Tidak ada daemon keamanan tersembunyi; semuanya adalah file konfigurasi dan script init yang bisa kalian baca. Mari jadikan transparansi ini sebagai keunggulan.
SSH adalah pintu masuk utama server. Perketat dengan mengubah beberapa opsi di /etc/ssh/sshd_config:
sudo sed -i 's/^#PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sudo sed -i 's/^#PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo service ssh restartPermitRootLogin no mematikan login root langsung; PasswordAuthentication no mewajibkan kunci SSH. Sebelum menonaktifkan password, pastikan kunci publik sudah terpasang di ~/.ssh/authorized_keys atau kalian bisa terkunci.
Uji perubahan dari mesin lain:
ssh -i ~/.ssh/id_ed25519 budi@server
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pubssh-keygen -lf menampilkan sidik jari host key — nilai yang harus kalian cocokkan saat first-connect untuk menolak man-in-the-middle.
Berikan hak administratif hanya kepada user yang benar-benar membutuhkannya. Di Devuan, group sudo mengendalikan akses ini:
sudo usermod -aG sudo budi
sudo gpasswd -d sinta sudousermod -aG sudo budi memberi budi akses sudo; gpasswd -d sinta sudo mencabutnya dari sinta. Periksa daftar pengguna sudo kapan saja:
getent group sudogetent group sudo menampilkan semua anggota group sudo. Audit rutin daftar ini mencegah akun yang tidak terpakai memiliki akses root.
lynis adalah tool audit keamanan yang memeriksa konfigurasi, paket, dan service:
sudo apt install lynis
sudo lynis audit systemsudo lynis audit system menjalankan audit menyeluruh dan menghasilkan skor keamanan. Perhatikan bagian suggestions dan warnings — di situlah kalian menemukan langkah perbaikan yang spesifik.
Laporan lynis disimpan di /var/log/lynis.log dan ringkasannya di /var/log/lynis-report.dat. Kebiasaan baik: jalankan audit sebelum dan sesudah perubahan besar, lalu bandingkan skornya. Tool ini bukan penghakiman akhir, melainkan checklist yang memandu prioritas hardening.
fail2ban memblokir alamat IP yang gagal login berulang kali:
sudo apt install fail2ban
sudo service fail2ban start
sudo service fail2ban statussudo service fail2ban start menyalakan daemon fail2ban. Konfigurasi utama berada di /etc/fail2ban/jail.conf, dan pengaturan lokal yang tidak tertimpa update diletakkan di /etc/fail2ban/jail.local.
Aktifkan jail untuk SSH dengan file lokal:
cat > /etc/fail2ban/jail.local <<'EOF'
[sshd]
enabled = true
maxretry = 5
bantime = 1h
EOF
sudo service fail2ban restartmaxretry menentukan jumlah percobaan gagal sebelum diblokir, bantime lamanya blokir. Setelah restart, pantau IP yang diblokir dengan sudo fail2ban-client status sshd.
Pembaruan keamanan tidak boleh menunggu admin ingat. Pasang unattended-upgrades agar paket keamanan terpasang otomatis:
sudo apt install unattended-upgrades
sudo unattended-upgradesudo unattended-upgrade menjalankan pembaruan keamanan langsung untuk pengujian. Untuk pembaruan terjadwal, aktifkan service-nya:
sudo dpkg-reconfigure --priority=low unattended-upgrades
sudo service unattended-upgrades statusdpkg-reconfigure --priority=low unattended-upgrades memastikan pembaruan otomatis diaktifkan. Di Devuan, service unattended-upgrades dijalankan init sesuai jadwal cron.
Tidak ada daemon tersembunyi di Devuan — tetapi hanya jika kalian rutin memeriksanya. Kebiasaan terakhir hardening adalah audit service:
service --status-all
ps aux --sort=-%mem | head -15service --status-all menampilkan semua service init dan statusnya. Bandingkan dengan ekspektasi kalian: service apa pun yang tidak dikenal layak diselidiki. Audit init scripts juga berarti memastikan tidak ada service yang diaktifkan tanpa alasan — hapus dengan update-rc.d disable.
Episode 14 membahas security dan hardening Devuan: memperketat SSH, mengatur kebijakan sudo dengan least privilege, menjalankan audit lynis, mencegah brute-force dengan fail2ban, mengotomatiskan pembaruan keamanan, dan mengaudit service yang berjalan.
Inti yang harus dibawa pulang:
Di episode 15 selanjutnya kita akan membahas eudev dan device management — memahami eudev sebagai device manager non-systemd, memakai udevadm untuk inspeksi dan monitor, serta menulis rules di /etc/udev/rules.d/ untuk mengendalikan perangkat.