VPS baru dengan alamat IP publik mulai menerima percobaan login otomatis dalam hitungan menit. Semuanya tidak bersifat personal; bot hanya memindai setiap alamat. Beberapa langkah dasar menghentikan hampir semuanya. Daftar periksa ini mengasumsikan server Ubuntu 24.04 atau Debian 12/13 yang baru dan memakan waktu sekitar lima belas menit.
1. Perbarui semuanya dulu
apt update && apt full-upgrade -y
reboot
Login kembali setelah reboot. Selalu mulai dari sistem yang sudah ditambal sepenuhnya.
2. Buat pengguna non-root
Bekerja sebagai root sepanjang waktu membuat setiap salah ketik berbahaya. Buat pengguna biasa dengan hak sudo:
adduser deploy
usermod -aG sudo deploy
3. Siapkan kunci SSH
Di komputer Anda sendiri, buat pasangan kunci jika belum punya dan salin bagian publiknya ke server:
ssh-keygen -t ed25519 -C "my-vps"
ssh-copy-id deploy@YOUR_SERVER_IP
Buka terminal kedua dan pastikan Anda bisa login sebagai deploy dengan kunci sebelum melanjutkan. Jangan tutup sesi awal Anda sebelum itu berhasil.
4. Matikan login kata sandi dan root
Edit konfigurasi daemon SSH:
sudo nano /etc/ssh/sshd_config.d/99-hardening.conf
Masukkan baris-baris ini ke dalam file:
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
Periksa sintaksis dan muat ulang:
sudo sshd -t && sudo systemctl reload ssh
5. Aktifkan firewall
UFW adalah opsi paling sederhana. Izinkan SSH dulu, lalu nyalakan firewall:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp # only if you run a web server
sudo ufw enable
sudo ufw status verbose
Buka port hanya untuk layanan yang benar-benar Anda jalankan. Semua yang lain tetap tertutup secara default.
6. Tambahkan fail2ban
Fail2ban memantau log dan memblokir sementara alamat yang terus gagal login.
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd
Pengaturan default sudah masuk akal untuk SSH. Karena Anda sudah menonaktifkan kata sandi, ini terutama mengurangi kebisingan log dan CPU yang terbuang.
7. Aktifkan pembaruan keamanan otomatis
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
Ini memasang tambalan keamanan secara otomatis. Reboot sesekali untuk pembaruan kernel, atau biarkan alatnya melakukannya pada jam sepi.
8. Periksa apa yang sedang listening
sudo ss -tulpn
Apa pun yang listening di 0.0.0.0 yang tidak Anda duga layak diselidiki. Layanan yang hanya untuk penggunaan lokal (database, cache, panel admin) sebaiknya listening di 127.0.0.1.
9. Pemantauan dasar dan backup
- Pantau log dengan
journalctl -u ssh --since todaysesekali. - Periksa sumber daya dengan
htopdandf -hagar disk penuh atau proses liar tidak mengejutkan Anda. - Buat backup. Ambil snapshot server sebelum perubahan besar dan simpan salinan di luar server untuk apa pun yang tidak bisa Anda buat ulang.
Apa selanjutnya
Sekarang Anda punya server yang jauh lebih sulit dibobol daripada pengaturan default. Dari sini, jaga perangkat lunak tetap diperbarui, jalankan tiap layanan sebagai pengguna tanpa hak istimewa miliknya sendiri, dan hanya ekspos yang Anda perlukan. Jika Anda ingin terowongan privat ke server, panduan kami tentang menyiapkan WireGuard adalah langkah lanjutan yang baik.
Pertanyaan yang sering diajukan
Apa yang harus saya lakukan pertama kali di VPS baru?
Perbarui paket, buat pengguna non-root, beralih ke kunci SSH, nonaktifkan login dengan kata sandi, dan aktifkan firewall.
Haruskah saya mengganti port SSH?
Ini mengurangi kebisingan log tetapi bukan keamanan sejati. Kunci dan firewall jauh lebih penting.