Begitu VPS aktif dan punya IP publik, bot di internet mulai mencoba login dalam hitungan menit. Tujuh langkah ini memakan waktu 15 menit dan menutup hampir semua celah umum. Contoh memakai Ubuntu 24.04; Debian serupa, AlmaLinux/Rocky ganti apt dengan dnf dan ufw dengan firewalld.
1. Update sistem
apt update && apt upgrade -y
reboot
Reboot hanya perlu bila ada pembaruan kernel. Di VPSHosting.ID, template OS sudah diperbarui saat dibuat, tapi tetap jalankan ini di awal.
2. Buat user non-root
Bekerja sebagai root setiap hari berisiko: satu salah ketik rm -rf bisa menghapus sistem. Buat user biasa dengan hak sudo:
adduser budi
usermod -aG sudo budi
3. Pasang kunci SSH
Di laptop (Mac/Linux/Windows PowerShell), buat kunci bila belum punya:
ssh-keygen -t ed25519 -C "laptop-budi"
ssh-copy-id -p PORT budi@IP-VPS
Uji login: ssh -p PORT budi@IP-VPS harus masuk tanpa kata sandi. Jangan lanjut ke langkah 4 sebelum ini berhasil.
4. Matikan login password dan root
Edit /etc/ssh/sshd_config (atau buat file di /etc/ssh/sshd_config.d/hardening.conf):
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
Lalu systemctl restart ssh. Sekarang hanya pemilik kunci yang bisa masuk — serangan tebak kata sandi menjadi sia-sia. Bila suatu hari terkunci, konsol VNC di panel tetap bisa dipakai.
5. Aktifkan firewall
ufw allow OpenSSH
ufw allow 80,443/tcp
ufw enable
ufw status
Buka port lain hanya bila benar-benar dibutuhkan (misalnya 25565 untuk Minecraft). Firewall di panel VPSHosting.ID bisa dipakai sebagai lapisan tambahan di luar VM.
6. Pasang fail2ban
apt install -y fail2ban
systemctl enable --now fail2ban
Bawaan sudah memantau SSH: IP yang gagal login 5 kali diblokir 10 menit. Template kami sudah menyertakan fail2ban, tapi tidak ada salahnya memastikan.
7. Update keamanan otomatis
apt install -y unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades
Pilih Yes. Patch keamanan akan terpasang otomatis tanpa reboot paksa.
Bonus: hal yang sering dilupakan
- Snapshot sebelum perubahan besar — satu klik di panel.
- Backup ke luar VPS (object storage atau VPS lain) untuk data penting; snapshot bukan pengganti backup.
- Ganti port SSH mengurangi log sampah, meski bukan pengaman utama.
- Jangan buka database ke publik: MySQL/PostgreSQL cukup di
127.0.0.1atau lewat SSH tunnel. - Cloudflare di depan website menyembunyikan IP asli dan menyaring serangan lapisan 7 — lihat VPS anti DDoS.
Checklist cepat
-
apt upgrade+ reboot - user sudo non-root
- kunci SSH berfungsi
- password & root login mati
- ufw aktif (SSH, 80, 443)
- fail2ban jalan
- unattended-upgrades aktif
- snapshot pertama dibuat
Selesai? Lanjut ke instal WordPress di VPS atau pasang n8n.