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.

bash
sudo apt update && sudo apt upgrade -y

Untuk menjaga keamanan otomatis, aktifkan pembaruan otomatis:

bash
sudo 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:

bash
sudo nano /etc/ssh/sshd_config

Temukan baris berikut dan ubah:

nginx
PermitRootLogin no

Kemudian restart SSH:

bash
sudo 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:

bash
ssh-keygen

b. Salin ke server:

bash
ssh-copy-id user@ip-server

c. Nonaktifkan otentikasi dengan password:

Edit /etc/ssh/sshd_config:

nginx
PasswordAuthentication no

Restart SSH:

bash
sudo 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:

bash
sudo ufw allow OpenSSH
sudo ufw enable

Tambahkan layanan lain sesuai kebutuhan:

bash
sudo ufw allow 'Nginx Full'

Cek status:

bash
sudo 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.

bash
sudo apt install fail2ban

Konfigurasi dasar:

bash
sudo 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:

bash
sudo ss -tuln
sudo systemctl list-units --type=service

Nonaktifkan layanan tidak perlu:

bash
sudo 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:

bash
sudo aa-status

Jika belum terinstal:

bash
sudo 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 remote

  • duplicity untuk backup terenkripsi

  • cron untuk menjadwalkan backup

Contoh backup dengan rsync:

bash
rsync -av /etc /home /backup

10. Monitoring dan Audit Log

Amati aktivitas server secara aktif:

  • Gunakan logwatch, journalctl, atau syslog

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