Datacenter Jakarta, Indonesia Disk NVMe · KVM Bayar QRIS, tanpa kartu kredit Mulai Rp20.000/bulan
Keamanan

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/Jakarta agar 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.1 atau 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.

Praktikkan

Paket yang cocok untuk panduan ini

Nano

VPS 20 ribu untuk belajar & bot ringan.

Rp20.000/bulan

  • 1 vCPU Intel Xeon
  • 512 MB RAM
  • 20 GB NVMe
  • Jakarta · IP publik

Mini

VPS 30 ribu, RAM 2 GB — siap WordPress.

Rp30.000/bulan

  • 1 vCPU Intel Xeon
  • 2 GB RAM
  • 25 GB NVMe
  • Jakarta · IP publik

Mulai dari Rp20.000, aktif dalam hitungan menit

Pilih paket sesuai kebutuhan, bayar via QRIS, dan server Jakarta kamu siap dipakai. Upgrade kapan saja tanpa instal ulang.