Setiap VPS baru akan menerima percobaan login dalam hitungan menit setelah alamat IP-nya aktif — mesin pemindai bekerja terus-menerus di seluruh rentang alamat. Enam langkah berikut menutup jalur masuk yang paling sering dipakai, dan semuanya bisa selesai dalam setengah jam.

1. Masuk dengan kunci, bukan kata sandi #

Buat pasangan kunci di komputer Anda, salin kunci publiknya ke server, lalu uji masuk di sesi terminal kedua sebelum menutup sesi pertama. Urutan ini penting: bila ada yang salah, Anda masih punya satu pintu yang terbuka.

ssh-keygen -t ed25519 -C "nama-anda"
ssh-copy-id pengguna@IP-SERVER

2. Matikan login kata sandi dan root #

Setelah kunci terbukti bekerja, ubah konfigurasi SSH: PasswordAuthentication no dan PermitRootLogin no, lalu muat ulang layanan SSH. Pada Ubuntu, perhatikan berkas di /etc/ssh/sshd_config.d/ — berkas bawaan penyedia sering menyalakan kembali login kata sandi, dan nilai yang terbaca pertama yang menang.

3. Firewall: tutup semuanya, buka seperlunya #

Buka hanya port yang memang dipakai: SSH, lalu 80/443 bila server melayani web. Basis data tidak boleh mendengar di alamat publik — ikat ke 127.0.0.1 saja.

sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw allow 80,443/tcp
sudo ufw enable

4. Pembatas percobaan masuk #

Pasang fail2ban agar alamat yang gagal berulang kali diblokir sementara. Dua aturan sudah sangat membantu: pemblokiran panjang untuk nama pengguna yang tidak ada, dan pemblokiran pendek untuk kunci yang salah. Jangan lupa memasukkan alamat IP kantor Anda ke daftar pengecualian — pemblokiran pertama biasanya menimpa pemiliknya sendiri.

5. Pembaruan keamanan otomatis #

Pasang unattended-upgrades agar tambalan keamanan masuk tanpa menunggu seseorang ingat. Untuk server produksi, atur agar pembaruan yang membutuhkan muat ulang layanan dijadwalkan pada jam sepi, dan pantau berkas /var/run/reboot-required.

6. Cadangan yang pernah diuji #

Cadangan yang belum pernah dipulihkan bukan cadangan. Jadwalkan salinan harian ke lokasi di luar server itu — penyimpanan objek atau server lain — lalu sekali sebulan pulihkan ke mesin kosong dan pastikan datanya utuh. Snapshot bawaan penyedia berguna untuk pemulihan cepat, tetapi tidak menolong bila akun penyedianya sendiri yang bermasalah.

Yang sering terlewat sesudahnya #

  • Pemantauan. Minimal pemberitahuan saat disk hampir penuh dan saat layanan mati.
  • Zona waktu dan NTP. Jam yang meleset membuat log sulit dibaca dan sertifikat bermasalah.
  • Pengguna lama. Hapus akun bawaan penyedia yang tidak dipakai.
  • Sertifikat. Pasang pembaruan otomatis Let's Encrypt dan uji perpanjangannya satu kali.

Bila Anda masih menimbang antara VPS dan cloud besar, baca perbandingannya di sini.