Seiring meningkatnya ancaman dunia siber, menjaga keamanan server menjadi prioritas utama bagi administrator sistem dan pengelola infrastruktur TI. Meski Ubuntu Server dikenal stabil dan aman secara default, langkah-langkah tambahan tetap diperlukan untuk melindungi data dan layanan dari serangan yang semakin kompleks.
Artikel ini akan membahas berbagai strategi hardening Ubuntu Server yang dapat kamu terapkan untuk memperkuat pertahanan sistem, mulai dari pengaturan dasar hingga praktik keamanan lanjutan. Baik kamu pemula maupun profesional, panduan ini akan membantumu membangun server Linux aman dan andal.
1. Selalu Perbarui Sistem
Langkah pertama dan paling sederhana untuk menjaga Ubuntu security adalah memastikan semua perangkat lunak dalam server selalu diperbarui.
bashCopyEditsudo apt update && sudo apt upgrade -y
Untuk menjaga keamanan otomatis, aktifkan pembaruan otomatis:
bashCopyEditsudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades
Dengan begitu, sistem akan menerima patch keamanan tanpa perlu campur tangan manual.
2. Nonaktifkan Login Root via SSH
Penggunaan akun root langsung dapat meningkatkan risiko serangan brute force. Nonaktifkan login root di SSH:
Edit file konfigurasi SSH:
bashCopyEditsudo nano /etc/ssh/sshd_config
Temukan baris berikut dan ubah:
nginxCopyEditPermitRootLogin no
Kemudian restart SSH:
bashCopyEditsudo systemctl restart ssh
Pastikan kamu sudah memiliki akun dengan akses sudo sebelum menonaktifkan root.
3. Gunakan SSH Key Authentication
Login dengan password lebih rentan dibobol. Ganti metode otentikasi SSH menggunakan key pair:
a. Buat SSH key di klien:
bashCopyEditssh-keygen
b. Salin ke server:
bashCopyEditssh-copy-id user@ip-server
c. Nonaktifkan otentikasi dengan password:
Edit /etc/ssh/sshd_config
:
nginxCopyEditPasswordAuthentication no
Restart SSH:
bashCopyEditsudo systemctl restart ssh
Langkah ini sangat penting untuk keamanan server jangka panjang.
4. Aktifkan dan Konfigurasi Firewall (UFW)
UFW (Uncomplicated Firewall) adalah alat firewall bawaan Ubuntu. Aktifkan dan batasi port yang dibutuhkan:
bashCopyEditsudo ufw allow OpenSSH
sudo ufw enable
Tambahkan layanan lain sesuai kebutuhan:
bashCopyEditsudo ufw allow 'Nginx Full'
Cek status:
bashCopyEditsudo ufw status
Firewall mencegah akses tidak sah ke layanan yang tidak perlu terbuka.
5. Instal Fail2Ban
Fail2Ban memantau log sistem dan memblokir IP yang mencoba login berulang kali dengan cara mencurigakan, mencegah brute force attack.
bashCopyEditsudo apt install fail2ban
Konfigurasi dasar:
bashCopyEditsudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Kemudian atur sesuai kebutuhan di jail.local
, khususnya untuk SSH.
6. Hapus atau Nonaktifkan Layanan Tidak Digunakan
Banyak layanan terinstal secara default yang mungkin tidak kamu perlukan. Periksa semua layanan aktif:
bashCopyEditsudo ss -tuln
sudo systemctl list-units --type=service
Nonaktifkan layanan tidak perlu:
bashCopyEditsudo systemctl disable nama-layanan
sudo systemctl stop nama-layanan
Langkah ini mengurangi permukaan serangan potensial.
7. Gunakan AppArmor
Ubuntu dilengkapi dengan AppArmor, sistem kontrol akses yang membatasi apa yang bisa dilakukan oleh aplikasi. Pastikan AppArmor aktif:
bashCopyEditsudo aa-status
Jika belum terinstal:
bashCopyEditsudo apt install apparmor apparmor-profiles
AppArmor membatasi akses aplikasi ke bagian tertentu dari sistem, meningkatkan Ubuntu security.
8. Amankan Port dengan Port Knocking atau VPN
Untuk mengurangi risiko pemindaian port dan serangan terbuka, kamu bisa:
- Ganti port default SSH (misal ke 2222)
- Gunakan port knocking untuk membuka port hanya setelah urutan tertentu
- Jalankan SSH di balik VPN seperti WireGuard atau OpenVPN
Ini menambah satu lapisan keamanan fisik pada server Linux aman milikmu.
9. Backup Teratur
Serangan tidak hanya bisa dicegah, tapi juga harus dipersiapkan. Backup rutin membantu meminimalisasi kerugian jika server disusupi.
Gunakan alat seperti:
rsync
untuk backup lokal atau remoteduplicity
untuk backup terenkripsicron
untuk menjadwalkan backup
Contoh backup dengan rsync:
bashCopyEditrsync -av /etc /home /backup
10. Monitoring dan Audit Log
Amati aktivitas server secara aktif:
- Gunakan
logwatch
,journalctl
, atausyslog
- Gunakan
psad
untuk mendeteksi port scan - Pasang alat monitoring seperti Netdata, Nagios, atau Zabbix
Aktivitas mencurigakan bisa dideteksi lebih awal dengan sistem pemantauan yang baik.
Recent Comments