Setiap server VPS yang terhubung ke internet dengan IP publik akan menerima ribuan percobaan login otomatis (brute-force attack) dari bot hacker setiap harinya. Tanpa perlindungan memadai, server Anda dapat diambil alih, disusupi penambang crypto (cryptominer), atau dijadikan pengirim email spam.
Kenapa Server VPS Selalu Diincar Hacker?
Bot crawler di internet secara aktif memindai rentang IP publik di seluruh dunia untuk mencari port standar yang terbuka (seperti port SSH 22, database 3306, FTP 21) dan mencoba login menggunakan jutaan kombinasi kata sandi umum (dictionary attack).
Untuk menutup celah keamanan ini, kita perlu menerapkan prinsip Defense in Depth (Pertahanan Berlapis).
1. Update Sistem & Patch Keamanan
Langkah fundamental pertama adalah memastikan seluruh paket aplikasi di Ubuntu selalu berada di versi paling aman dan bebas dari celah CVE:
sudo apt update && sudo apt upgrade -y
sudo apt autoremove -y
2. Amankan Akses SSH (Ganti Port & Gunakan Key)
Secara default, SSH berjalan pada port 22 dan mengizinkan login menggunakan password root. Kita akan mengubah port ini dan menonaktifkan password authentication.
Buka konfigurasi SSH:
sudo nano /etc/ssh/sshd_config
Ubah baris berikut:
Port 2244 # Ganti ke nomor port acak antara 1024 - 65535
PermitRootLogin prohibit-password # Atau gunakan SSH Key login
PasswordAuthentication no # Nonaktifkan login dengan kata sandi (setelah pasang SSH key)
Simpan dan restart service SSH:
sudo systemctl restart ssh
Buka jendela terminal baru dan coba login menggunakan port baru Anda (ssh -p 2244 user@ip-vps) untuk memastikan Anda tidak terkunci di luar server.
3. Setup Firewall UFW (Uncomplicated Firewall)
UFW adalah firewall bawaan Ubuntu yang sangat tangguh untuk memblokir semua koneksi masuk yang tidak diizinkan.
Jalankan perintah urutan konfigurasi UFW berikut:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2244/tcp # Izinkan Port SSH Baru Anda
sudo ufw allow 80/tcp # Izinkan HTTP Web
sudo ufw allow 443/tcp # Izinkan HTTPS Web
sudo ufw enable
Cek status firewall untuk memastikan aturan telah aktif:
sudo ufw status verbose
4. Pasang & Konfigurasi Fail2Ban
Fail2Ban memonitor log sistem secara real-time dan otomatis memblokir (ban) IP hacker yang terdeteksi gagal memasukkan password 3-5 kali berturut-turut.
Install Fail2Ban:
sudo apt install fail2ban -y
Buat file konfigurasi lokal di /etc/fail2ban/jail.local:
[DEFAULT]
bantime = 1d # Blokir penyerang selama 24 jam
findtime = 10m # Dalam jendela waktu 10 menit
maxretry = 3 # Maksimal 3 kali percobaan gagal
[sshd]
enabled = true
port = 2244 # Sesuaikan dengan port custom SSH Anda
Restart service Fail2Ban:
sudo systemctl restart fail2ban
sudo fail2ban-client status sshd
5. Proteksi Tingkat Aplikasi WordPress
Selain server Linux, lindungi direktori instalasi WordPress Anda:
- Atur Permissions File: Folder
755dan file644. - Blokir Eksekusi PHP di Folder Uploads: Mencegah hacker menjalankan backdoor yang diunggah via celah plugin.
- Nonaktifkan XML-RPC: Mencegah serangan XML-RPC multicall brute-force.
- Gunakan Cloudflare WAF: Blokir bot scraping dan serangan injection di level DNS.
Kesimpulan
Dengan menerapkan UFW Firewall, SSH Key authentication, dan Fail2Ban, server VPS Anda kini memiliki proteksi tingkat militer terhadap serangan hacker dan bot jahat di internet.