Mengamankan VPS Linux dalam 15 Menit
Checklist keamanan dasar VPS Linux: kunci SSH, matikan login password, user non-root, ufw/firewalld, fail2ban, update otomatis, dan pemantauan sederhana.
4 Oktober 2026 · 8 menit baca · Tim VPS Indonesia
Begitu VPS punya IP publik, bot otomatis mulai mencoba login dalam hitungan menit. Checklist ini menutup celah paling umum dan berlaku untuk semua paket, dari Nano sampai Titan.
1. Pakai kunci SSH, matikan login password
Di komputermu (bukan di VPS):
ssh-keygen -t ed25519 -C "laptop-saya"
ssh-copy-id -p PORT root@ALAMAT_IP
Uji login tanpa password. Jika berhasil, matikan autentikasi password di VPS:
sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl restart ssh # Debian/Ubuntu (sshd di AlmaLinux/Rocky)
Pastikan kunci sudah bekerja sebelum mematikan password. Jika terkunci, gunakan Konsol VNC di panel.
2. User non-root dengan sudo
adduser deploy
usermod -aG sudo deploy # wheel di AlmaLinux/Rocky
rsync --archive --chown=deploy:deploy ~/.ssh /home/deploy
Login sehari-hari sebagai deploy, gunakan sudo saat perlu.
3. Firewall: hanya buka port yang dipakai
Debian/Ubuntu (ufw):
apt install -y ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow PORT_SSH/tcp
ufw allow 80,443/tcp
ufw enable
AlmaLinux/Rocky (firewalld):
firewall-cmd --permanent --add-port=PORT_SSH/tcp
firewall-cmd --permanent --add-service=http --add-service=https
firewall-cmd --reload
4. Fail2ban: blokir percobaan login brute-force
apt install -y fail2ban
cat >/etc/fail2ban/jail.local <<'EOF'
[sshd]
enabled = true
port = PORT_SSH
maxretry = 5
bantime = 1h
EOF
systemctl enable --now fail2ban
5. Update keamanan otomatis
apt install -y unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades
Di AlmaLinux/Rocky: dnf install -y dnf-automatic && systemctl enable --now dnf-automatic.timer.
6. Hal kecil yang sering dilupakan
- Zona waktu:
timedatectl set-timezone Asia/Jakartaagar log mudah dibaca. - Swap untuk paket kecil:
fallocate -l 1G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile, lalu tambahkan ke/etc/fstab. - Jangan ekspos database (3306/5432/6379) ke publik — ikat ke
127.0.0.1atau batasi dengan firewall ke IP aplikasi. - Backup rutin ke lokasi terpisah — kami belum menyediakan backup otomatis. Lihat panduan backup.
7. Pemantauan sederhana
Pasang Uptime Kuma di VPS lain (bahkan Nano cukup) untuk memantau website dan mengirim notifikasi Telegram/WhatsApp saat down. Untuk melihat siapa yang mencoba login: journalctl -u ssh --since today | grep Failed | wc -l.
Semua VPS kami berjalan di KVM dengan kernel sendiri, sehingga firewall dan modul keamanan berfungsi penuh seperti di server fisik.