Baru beli VPS pertama dan dapat email berisi IP address plus password root? Jangan langsung install aplikasi. Urutan yang benar dari nol itu penting: mayoritas VPS baru diserang bot dalam hitungan menit setelah online, mencoba password root default. Artikel ini adalah checklist yang kami pakai sendiri, urut dari menit pertama.
TL;DR
- Mayoritas VPS baru diserang bot dalam hitungan menit setelah online, jadi urutan setup dari login pertama sangat penting sebelum menginstall aplikasi.
- Menonaktifkan login root dan password authentication di SSH menutup sekitar 95% risiko brute force, dengan syarat kamu sudah memasang SSH key.
- Firewall UFW diterapkan dengan prinsip deny-by-default, sehingga semua port tertutup kecuali yang dibuka eksplisit seperti OpenSSH.
- Fail2ban memblokir IP mencurigakan yang gagal login berulang, dan statistiknya bisa menunjukkan ratusan IP yang di-ban dalam seminggu.
- Swap 2GB disarankan untuk VPS RAM kecil 1-2GB agar tidak langsung OOM saat ada spike memory.
1. Login Pertama dan Update Sistem
SSH ke server kamu, lalu hal pertama yang wajib:
ssh root@IP_SERVER_KAMU
apt update && apt upgrade -y
Update bisa makan beberapa menit. Ini memastikan semua paket bawaan image provider sudah patch keamanan terbaru.
2. Buat User Kerja Non-Root
Kerja sehari-hari pakai root itu kebiasaan buruk: satu typo di command bisa hancurkan server, dan bot internet tahu username root itu ada.
adduser deploy
usermod -aG sudo deploy
# pindah ke user baru
su - deploy
3. Hardening SSH (Paling Penting di Seluruh Checklist)
Serangan brute force SSH itu konstan dan otomatis. Tiga perubahan ini menutup 95% risiko:
sudo sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart sshd
Syarat sebelum jalankan baris kedua: kamu harus sudah pakai SSH key. Kalau belum, buat dulu di komputer lokal kamu dengan ssh-keygen lalu salin pakai ssh-copy-id deploy@IP_SERVER. Tanpa itu, kamu bisa mengunci diri sendiri di luar.
Jangan tutup sesi SSH yang sedang jalan sebelum menguji login baru dari terminal kedua. Kalau sesi kedua masuk sukses, baru sesi lama aman ditutup.
4. Firewall: Tutup Semua, Buka yang Perlu
sudo apt install ufw -y
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status
Prinsipnya deny-by-default: semua port tertutup kecuali yang kamu buka eksplisit. Nanti kalau aplikasi kamu butuh port 80/443, buka saat itu juga dengan sudo ufw allow 80,443/tcp.
5. Fail2ban: Kurir Bot Brute Force
UFW menutup port, fail2ban memblokir IP yang mencurigakan sebelum sempat menebak password berkali-kali:
sudo apt install fail2ban -y
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd
Default config sudah masuk akal (ban IP yang gagal login berulang). Cek statistiknya seminggu kemudian, kamu akan kaget lihat ratusan IP ke-ban.
6. Patch Otomatis: Supaya Server Kamu di-Patch Walau Kamu Lupa
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades
Pilih "yes". Security patch penting akan terpasang otomatis tanpa kamu mikir.
7. Timezone, Swap, dan Finishing
# samakan jam server (penting untuk log dan cron)
sudo timedatectl set-timezone Asia/Jakarta
# swap 2GB buat VPS RAM kecil (1-2GB)
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Swap mencegah server RAM 1GB langsung OOM ketika ada spike memory.
8. Deploy Aplikasi Pertama
Server sudah hardened. Sekarang baru deploy. Jalur termudah di 2026: pakai panel self-hosted seperti Coolify yang memberi kamu dashboard PaaS di atas VPS sendiri. Panduan lengkapnya ada di tutorial self-host Coolify di VPS Ubuntu.
Atau kalau mau jalur klasik: Docker + Nginx + Let's Encrypt dari nol, lalu SSL otomatis via Certbot.
Langkah yang paling sering dilupakan dan paling mahal akibatnya: backup otomatis. Pasang sejak hari pertama, bukan setelah kejadian.
Beli VPS-nya Dari Mana?
Untuk budget minimal, promo VPS RackNerd mulai $21.99/tahun cukup untuk checklist di atas plus satu aplikasi kecil. Untuk kebutuhan lebih besar atau lokasi Asia, program promo Alibaba Cloud layak dibandingkan.
Perbandingan Rekomendasi Provider VPS dalam Artikel
| Provider | Kecocokan | Harga/Catatan |
|---|---|---|
| RackNerd | Budget minimal, checklist dasar plus satu aplikasi kecil | Promo mulai $21.99/tahun |
| Alibaba Cloud | Kebutuhan lebih besar atau lokasi Asia | Tersedia program promo |
FAQ
Apakah wajib matikan password login SSH? Sangat disarankan. Password bisa ditebak, SSH key tidak (dalam praktik). Semua panduan keamanan server modern menganggap ini standar minimum.
Berapa lama waktu yang dibutuhkan untuk semua checklist ini? 15 sampai 30 menit untuk pemula, termasuk setup SSH key.
Kalau aku salah config dan terkunci di luar server? Provider VPS umumnya punya konsol/VNC dari dashboard yang memungkinkan akses langsung tanpa SSH. Dari situ kamu bisa perbaiki config. Tapi lebih baik ikuti aturan "uji sesi baru sebelum tutup sesi lama".
Apakah checklist ini berlaku untuk semua provider VPS? Ya. Ubuntu 22.04/24.04 dan Debian 11/12 jalan persis seperti di atas. CentOS/Rocky pakai dnf dan firewalld, logika tetap sama.
FAQ
Apakah wajib mematikan password login SSH?
Sangat disarankan, karena password bisa ditebak sedangkan SSH key tidak dalam praktik. Semua panduan keamanan server modern menganggap ini standar minimum.
Berapa lama waktu yang dibutuhkan untuk menyelesaikan seluruh checklist ini?
Sekitar 15 sampai 30 menit untuk pemula, termasuk waktu untuk setup SSH key.
Apa yang harus dilakukan jika salah konfigurasi dan terkunci di luar server?
Provider VPS umumnya menyediakan konsol atau VNC dari dashboard yang memberi akses langsung tanpa SSH, sehingga config bisa diperbaiki dari situ. Lebih baik tetap ikuti aturan uji sesi baru sebelum menutup sesi lama.
Apakah checklist ini berlaku untuk semua provider VPS?
Ya. Ubuntu 22.04/24.04 dan Debian 11/12 bisa menjalankan langkah-langkah persis seperti di artikel. Untuk CentOS/Rocky, gunakan dnf dan firewalld dengan logika yang tetap sama.
Mengapa fail2ban perlu dipasang selain UFW?
UFW menutup port, sedangkan fail2ban memblokir IP yang mencurigakan sebelum sempat menebak password berkali-kali. Default config-nya sudah masuk akal dengan ban pada IP yang gagal login berulang.
Sumber & Referensi
Rujukan resmi yang dipakai untuk memverifikasi klaim di artikel ini:
💬 Komentar (0)
Belum ada komentar. Jadilah yang pertama! 💬