
Daftar Isi
Anda baru saja menyelesaikan instalasi server Linux untuk proyek penting. Semuanya berjalan lancar—hingga tiba-tiba server diretas, log dihapus, dan sistem tidak bisa diakses lagi. 😨
Masalah seperti ini sering terjadi bukan karena sistem Linux lemah, tapi karena tidak dilakukan hardening sebelum digunakan di lingkungan produksi. Banyak administrator pemula merasa sudah aman hanya karena memakai Linux, padahal kenyataannya konfigurasi default belum tentu cukup aman.
Jika Anda merasa bingung harus mulai dari mana untuk mengamankan server, tenang saja. Artikel ini akan menjadi panduan lengkap Anda untuk melakukan hardening Linux server. Anda akan mendapatkan checklist praktis langkah demi langkah, lengkap dengan penjelasan singkat dan tips agar tidak salah konfigurasi.
Setelah membaca sampai akhir, Anda akan tahu:
- Apa saja langkah dasar Linux server hardening yang wajib dilakukan.
- Bagaimana cara memperkuat keamanan login, jaringan, dan sistem file.
- Tools bawaan Linux yang bisa Anda manfaatkan untuk perlindungan tambahan.
Apa Itu Hardening Server?
Server hardening adalah proses memperkuat sistem agar tidak mudah diserang. Ibaratnya seperti menutup semua celah pintu dan jendela sebelum Anda meninggalkan rumah. Tujuannya adalah mengurangi risiko, menonaktifkan fitur yang tidak perlu, dan memastikan hanya pengguna sah yang bisa mengakses sistem.
Checklist Hardening Linux Server
Berikut langkah-langkah utama yang bisa Anda ikuti secara berurutan:
1. Perbarui Sistem Secara Berkala
Langkah pertama dan paling dasar: pastikan semua paket selalu diperbarui.
sudo dnf update -y # untuk RHEL/CentOS/Rocky
sudo apt update && sudo apt upgrade -y # untuk Debian/UbuntuGunakan cron job atau systemd timer agar update berjalan otomatis.
Tips: Gunakan repositori resmi dan hindari paket dari sumber yang tidak jelas.
2. Nonaktifkan Akun Root untuk SSH
Jangan izinkan login langsung sebagai root. Ini celah keamanan besar.
Edit file konfigurasi SSH:
sudo nano /etc/ssh/sshd_configUbah baris ini:
PermitRootLogin noSimpan, lalu restart layanan SSH:
sudo systemctl restart sshdGunakan akun biasa dengan hak sudo untuk keamanan lebih baik.
3. Gunakan Autentikasi SSH Key
Hindari password dan gunakan SSH key authentication.
ssh-keygen -t ed25519
ssh-copy-id user@serverSetelah berhasil, nonaktifkan login menggunakan password di /etc/ssh/sshd_config:
PasswordAuthentication no4. Atur Firewall
Gunakan firewalld atau ufw untuk membatasi akses hanya pada port yang diperlukan.
Contoh menggunakan firewalld:
sudo systemctl enable firewalld --now
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reloadPastikan hanya port penting seperti 22 (SSH), 80 (HTTP), dan 443 (HTTPS) yang terbuka.
5. Aktifkan SELinux atau AppArmor
Jangan dimatikan! Gunakan SELinux (Red Hat-based) atau AppArmor (Debian-based) untuk membatasi akses antar proses.
Cek status SELinux:
sestatusJika masih Permissive, ubah ke Enforcing di /etc/selinux/config:
SELINUX=enforcingReboot agar aktif.
6. Amankan Layanan dan Port
Matikan semua layanan yang tidak digunakan agar tidak menjadi celah serangan:
sudo systemctl disable bluetooth avahi-daemon cupsLihat daftar port terbuka dengan:
sudo ss -tulnPastikan hanya port yang diperlukan yang aktif.
7. Gunakan Fail2Ban untuk Mencegah Brute Force
Instal dan aktifkan Fail2Ban agar server otomatis memblokir IP yang mencoba login berulang kali:
sudo dnf install fail2ban -y
sudo systemctl enable fail2ban --nowFile konfigurasi utama ada di /etc/fail2ban/jail.local.
8. Konfigurasi Log dan Audit
Pastikan semua aktivitas terekam dengan baik:
sudo dnf install audit -y
sudo systemctl enable auditd --nowUntuk mengecek log keamanan:
sudo ausearch -m avcAnda juga bisa menggunakan journalctl untuk meninjau log sistem secara real-time.
9. Batasi Hak Akses File dan Direktori
Gunakan prinsip least privilege — hanya berikan izin sesuai kebutuhan.
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.sshGunakan ls -l untuk memeriksa kepemilikan file penting seperti /etc/shadow dan /etc/passwd.
10. Gunakan Monitoring dan Alert System
Gunakan tools seperti:
- Lynis untuk audit keamanan.
- Nagios / Zabbix / Grafana Loki untuk pemantauan real-time.
Contoh instalasi Lynis:
sudo dnf install lynis -y
sudo lynis audit systemLaporan Lynis akan menunjukkan celah keamanan dan rekomendasi perbaikannya.
Anda sudah memiliki checklist lengkap hardening Linux server untuk produksi. Dengan mengikuti langkah-langkah di atas, Anda bisa meminimalkan risiko serangan, menjaga kestabilan sistem, dan memastikan server siap digunakan di lingkungan nyata.
Jika Anda ingin melangkah lebih jauh, baca juga artikel kami berikutnya: “Panduan Konfigurasi Fail2Ban di Rocky Linux untuk Mencegah Serangan Brute Force.”
