Checklist Keamanan VPS Linux Baru (SSH, Firewall, Update)

abcdefghaniv Diperbarui

Checklist Keamanan VPS Linux Baru (SSH, Firewall, Update)

Beberapa minggu terakhir memperlihatkan pola yang sama: server yang terbuka ke internet dan tidak dijaga dengan dasar-dasar keamanan menjadi sasaran. Ini checklist untuk VPS Linux yang baru Anda sewa, dari login pertama sampai pembaruan otomatis. Tidak ada yang rumit, tetapi urutannya penting, terutama saat mengubah pengaturan SSH.

Contoh di bawah untuk Debian 12 atau Ubuntu 22.04 ke atas. Rangkuman insiden per 28 Oktober 2026.

Sebelum mulai: selalu buka sesi SSH kedua dan uji login sebelum menutup sesi pertama setiap kali mengubah pengaturan SSH atau firewall. Kesalahan kecil bisa mengunci Anda dari server sendiri.

Kenapa ini penting minggu ini

  • PHP2Shell: celah di PHP yang menuntut update dan restart layanan.
  • Nextcloud lewat Collabora CODE: aplikasi tambahan yang dipakai untuk menanam web shell.
  • Plex2Shell: server media rumahan yang diserang penambang kripto.
  • Penyerang membajak lebih dari 300 relai keluar Tor untuk menyadap koneksi SSH yang memakai password. Dari analisis peneliti, sebuah operator relai dibobol karena satu kata sandi dipakai ulang untuk login SSH, sudo, dan frasa sandi cadangan, dan login password SSH masih menyala di server yang terpapar internet.

Pelajarannya: update tepat waktu, jangan memakai ulang kata sandi, dan matikan login password SSH.

1. Update sistem

sudo apt update
sudo apt full-upgrade
sudo reboot

Reboot diperlukan kalau kernel ikut diperbarui.

2. Buat user biasa dan jangan pakai root untuk sehari-hari

sudo adduser admin1
sudo usermod -aG sudo admin1

Ganti admin1 dengan nama yang Anda mau. Gunakan kata sandi yang unik dan panjang, simpan di pengelola kata sandi, dan jangan sama dengan kata sandi lain.

3. Pasang SSH key

Di komputer Anda (bukan di server), buat kunci dan salin ke server:

ssh-keygen -t ed25519 -C "laptop-saya"
ssh-copy-id admin1@IP-SERVER

Lalu uji login dengan kunci dari terminal baru:

ssh admin1@IP-SERVER

Kunci pribadi (~/.ssh/id_ed25519) tidak boleh disalin ke server atau dibagikan. Beri frasa sandi pada kunci saat ssh-keygen bertanya.

4. Matikan login root dan login password

Buat file pengaturan sendiri di folder sshd_config.d. Beri nama berawalan angka kecil supaya dibaca lebih dulu, karena untuk setiap opsi OpenSSH memakai nilai pertama yang ditemukan. Pada beberapa penyedia VPS, ada file bawaan lain di folder itu yang menyalakan login password:

sudo nano /etc/ssh/sshd_config.d/01-hardening.conf

Isi dengan:

PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin no
PubkeyAuthentication yes

Cek sintaks, lihat nilai yang benar-benar berlaku, lalu muat ulang SSH:

sudo sshd -t
sudo sshd -T | grep -Ei 'passwordauthentication|permitrootlogin|kbdinteractive'
sudo systemctl reload ssh

Opsi KbdInteractiveAuthentication berlaku di OpenSSH versi baru (Ubuntu 22.04 ke atas, Debian 12). Di Rocky atau AlmaLinux, nama layanannya sshd. Buka sesi baru dan pastikan Anda masih bisa login dengan kunci. Coba juga login dengan password, yang seharusnya ditolak.

Perlindungan ini relevan dengan insiden relai Tor tadi: menurut analisis peneliti, login dengan kunci tidak bisa diteruskan ke server asli oleh penyadap seperti login dengan password, karena tanda tangan kunci terikat pada sesi tertentu.

5. Aktifkan firewall

Izinkan SSH sebelum menyalakan firewall, supaya Anda tidak terkunci:

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verbose

Buka hanya port yang benar-benar dipakai. Catatan: port yang dipublikasikan oleh Docker bisa melewati aturan UFW, jadi cek dengan sudo ss -tlnp apa yang sebenarnya mendengarkan dari luar.

6. Update keamanan otomatis

sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

Ini memasang pembaruan keamanan secara otomatis, tetapi tidak merestart layanan aplikasi seperti PHP yang Anda pasang sendiri dari sumber lain. Tetap jadwalkan cek manual rutin seperti di artikel PHP2Shell.

7. Kurangi percobaan login (opsional)

sudo apt install fail2ban
sudo fail2ban-client status sshd

Setelah login password dimatikan, ini terutama mengurangi kebisingan di log. Pada Debian dan Ubuntu, paket ini biasanya sudah menyalakan jail untuk SSH secara bawaan, yang bisa Anda pastikan lewat perintah kedua.

8. Perhatikan peringatan kunci host SSH

Saat pertama menyambung, SSH menampilkan sidik jari kunci server. Cocokkan dengan yang tertera di konsol penyedia VPS atau dari server sendiri:

ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

Kalau suatu hari muncul peringatan REMOTE HOST IDENTIFICATION HAS CHANGED, jangan langsung menerima kunci baru. Itu bisa berarti server dipasang ulang, atau ada penyadap di tengah jalan. Cek lewat konsol penyedia dulu.

9. Pantau dan jaga cadangan

last -n 10
sudo journalctl -u ssh --since today | grep -i failed
sudo ss -tlnp
  • Pastikan semua port yang mendengarkan memang Anda kenal.
  • Simpan cadangan di tempat lain, dan jangan taruh kunci atau kata sandi cadangan di server yang sama. Pada kasus relai Tor tadi, salinan kunci yang seharusnya offline ternyata tersimpan di cadangan pada server yang dibobol.
  • Jika Anda curiga sebuah server sudah disusupi, jangan mengetik kata sandi di server itu. Periksa dari sistem rescue atau image disk offline.

Checklist singkat

  • Sistem sudah diupdate dan direboot.
  • User non-root dengan kata sandi unik.
  • Login SSH dengan kunci berfrasa sandi, password dan root dimatikan, dan sudah diuji.
  • Firewall aktif, hanya port yang perlu terbuka.
  • Update keamanan otomatis menyala.
  • Cadangan terpisah dan kunci tidak disimpan di server yang sama.

Sumber

Belum ada komentar

- Kritik dan saran sangat saya nantikan untuk kemajuan blog ini.
- Silakan report, jika ada link yang mati.
- Mohon untuk berkomentar sesuai dengan tema postingan.
- Dilarang berkomentar yang mencantumkan LINK AKTIF.