Semua Panduan VPSHosting & cPanelCloud HostingPenyimpanan & BackupDeploy AplikasiEmail BisnisKeamanan Server
Awan.co.idβ€ΊChecklist Keamanan VPS Linux Pemula: SSH Key hin
Keamanan Server

Checklist Keamanan VPS Linux Pemula: SSH Key hingga Backup

✍️ Rizal Hidayat πŸ“… 10 November 2026 ⏱️ 7 mnt baca πŸ‘οΈ 1Γ—
Checklist Keamanan VPS Linux Pemula: SSH Key hingga Backup

Dua tahun lalu, seorang kawan pembuat web girang bukan main ketika aplikasi pertamanya berhasil tayang di internet pada pukul dua dini hari. Dia tidur pulas dengan senyum terkembang, merasa tugas beratnya tuntas. Namun, begitu membuka laptop pukul sembilan pagi, dasbor servernya mendadak membeku, utilisasi CPU menyentuh angka 100 persen, dan puluhan proses mencurigakan berjalan liar menguras bandwidth. Server barunya disusupi skrip penambang kripto hanya dalam waktu tujuh jam setelah aktif, semata-mata karena dia membiarkan autentikasi kata sandi bawaan dengan kombinasi yang gampang ditebak.

Apakah Anda baru saja meluncurkan server virtual pribadi untuk pertama kalinya? Jika iya, selamat datang di dunia infrastruktur mandiri. Mengelola VPS memberi Anda kebebasan penuh atas sistem operasi, alokasi memori, hingga arsitektur direktori. Kendati begitu, kebebasan ini menuntut tanggung jawab proteksi ekstra. Bot pemindai alamat IP tidak pernah tidur; mereka menjelajahi jutaan server publik setiap detik untuk mencari celah terkecil.

Kabar baiknya, Anda tidak butuh gelar master keamanan siber untuk melindungi server dari mayoritas ancaman otomatis. Ikuti checklist komprehensif ini untuk membentengi VPS Linux Anda sejak jam pertama operasional.

Mengapa Hardening Server Harus Dilakukan di Jam Pertama?

Banyak pemula berasumsi bahwa server yang baru online dan belum memiliki nama domain berada dalam posisi aman dari pantauan luar. Faktanya, peretas modern jarang menargetkan domain secara manual satu per satu. Mereka mengerahkan botnet otomatis yang memindai seluruh blok rentang alamat IPv4 dan IPv6 di seluruh dunia setiap hari.

Berdasarkan pantauan lalu lintas jaringan global, sebuah server publik yang baru dinyalakan rata-rata menerima percobaan login liar dalam kurun waktu kurang dari lima belas menit. Apabila pintu gerbang server Anda masih memakai pengaturan pabrik (default), bot-bot ini akan mencoba ribuan kombinasi nama pengguna dan kata sandi umum lewat serangan kamus (brute force dictionary attack).

Poin Penting: Membangun sistem keamanan server bukan tentang menciptakan benteng yang mustahil ditembus, melainkan menutup celah-celah mendasar sehingga bot otomatis merasa terlalu repot dan beralih mencari mangsa lain yang lebih rentan.

Langkah 1: Mengunci Pintu Depan dengan SSH Key dan Menutup Login Root

Langkah paling mendesak setelah login pertama ke mesin server adalah menghentikan kebiasaan memakai kata sandi biasa saat melakukan remote terminal melalui Secure Shell (SSH). Kriptografi kunci asimetris menawarkan perlindungan jauh lebih superior dibandingkan kata sandi sepanjang apa pun.

1. Membuat Pasangan Kunci SSH (SSH Key Pair)

Buka terminal di komputer lokal Anda (Linux/macOS atau PowerShell di Windows), lalu jalankan perintah pembuatan kunci modern dengan algoritma Ed25519 yang terkenal sangat aman dan efisien:

ssh-keygen -t ed25519 -C "[email protected]"

Tekan enter untuk menyetujui lokasi penyimpanan berkas default, kemudian masukkan passphrase tambahan untuk perlindungan lapis ganda. Perintah ini akan menghasilkan dua berkas di komputer Anda: kunci privat (id_ed25519) yang pantang dibagikan kepada siapa pun, dan kunci publik (id_ed25519.pub) yang akan diunggah ke VPS.

2. Menyalin Kunci Publik ke Server

Kirimkan kunci publik Anda ke server dengan satu baris perintah praktis:

ssh-copy-id -i ~/.ssh/id_ed25519.pub namauser@ip-vps-anda

Pastikan Anda sudah membuat user non-root dengan hak akses sudo sebelum melanjutkan. Bekerja sehari-hari langsung menggunakan akun root ibarat menyetir mobil tanpa sabuk pengaman di jalan tol.

3. Menonaktifkan Password Authentication dan Akses Root

Setelah memastikan Anda bisa login menggunakan kunci publik yang baru dipasang, buka berkas konfigurasi daemon SSH pada server:

sudo nano /etc/ssh/sshd_config

Cari baris-baris berikut dan ubah nilainya menjadi:

  • PermitRootLogin no β€” Melarang siapa pun login langsung memakai identitas root.
  • PasswordAuthentication no β€” Mematikan opsi login berbasis kata sandi sama sekali. Bot brute force tidak akan lagi bisa mencoba kata sandi apa pun.
  • PubkeyAuthentication yes β€” Memastikan otentikasi kunci publik aktif.

Simpan perubahan berkas, lalu muat ulang layanan SSH:

sudo systemctl restart sshd

Jangan tutup jendela terminal aktif sebelum Anda membuka jendela terminal kedua untuk menguji login ulang. Jika jendela kedua berhasil masuk tanpa kata sandi, konfigurasi Anda sukses.

Langkah 2: Menghalau Port Terbuka Menggunakan Firewall UFW

Secara default, Linux membuka jalan bagi port yang dipakai oleh aplikasi apa pun yang sedang Anda pasang. Tanpa firewall lokal, layanan basis data seperti MySQL atau Redis bisa tanpa sengaja terpapar langsung ke internet luar.

Uncomplicated Firewall (UFW) merupakan perkakas bawaan Ubuntu dan Debian yang sangat ramah pemula untuk mengatur lalu lintas paket data iptables.

Kebijakan Ketat UFW

Terapkan aturan dasar terbaik: tolak semua koneksi masuk yang tidak dikenal, dan izinkan semua koneksi keluar:

sudo ufw default deny incoming
sudo ufw default allow outgoing

Selanjutnya, buka port esensial sebelum mengaktifkan firewall agar koneksi kerja Anda tidak terputus di tengah jalan:

sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Jika Anda mengubah port SSH default (misalnya ke port 2222), pastikan membuka port tersebut (sudo ufw allow 2222/tcp) terlebih dahulu. Setelah aman, aktifkan UFW:

sudo ufw enable

Cek status aturan yang telah terpasang dengan mengetikkan sudo ufw status verbose.

Langkah 3: Memasang Fail2ban untuk Menghukum Upaya Login Liar

Meskipun Anda sudah menonaktifkan autentikasi kata sandi, bot penyerang tetap bisa membombardir port SSH Anda ribuan kali per jam. Aktivitas ini mengotori catatan log sistem dan menyita kapasitas CPU server.

Fail2ban bekerja bak satpam pintar yang membaca log autentikasi sistem. Jika ada alamat IP yang terdeteksi gagal berulang kali dalam rentang waktu tertentu, Fail2ban akan memerintahkan firewall untuk memblokir IP tersebut sementara waktu atau permanen.

Instalasi dan Konfigurasi Fail2ban

Pasang paket dari repositori resmi:

sudo apt update && sudo apt install fail2ban -y

Salin berkas konfigurasi bawaan agar pembaruan paket di masa depan tidak menghapus setelan khusus yang Anda buat:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Buka sudo nano /etc/fail2ban/jail.local, cari blok [sshd], lalu pastikan parameter berikut disesuaikan:

  • enabled = true
  • maxretry = 3 (jumlah toleransi kesalahan input)
  • findtime = 10m (jendela pengawasan waktu)
  • bantime = 1h (durasi pemblokiran IP bandel)

Jalankan ulang layanan dengan perintah sudo systemctl restart fail2ban. Untuk memantau berapa banyak penyerang yang telah terperangkap ke dalam daftar blokir, Anda cukup menjalankan sudo fail2ban-client status sshd.

Langkah 4: Mengotomatiskan Pembaruan Sistem Keamanan

Berapa sering Anda masuk ke terminal VPS hanya untuk menjalankan apt update && apt upgrade setiap hari? Kemungkinan besar, Anda sering melewatkannya karena sibuk mengembangkan fitur aplikasi.

Padahal, kerentanan sistem operasi (Common Vulnerabilities and Exposures / CVE) ditemukan hampir setiap pekan. Menunda pembaruan pustaka sistem membuka jalan lebar bagi eksploitasi berbasis kernel atau web server.

Paket unattended-upgrades menyelesaikan masalah ini dengan mengunduh dan memasang patch keamanan Linux secara otomatis tanpa campur tangan manusia.

Konfigurasi Unattended-Upgrades

Instal paket pendukung:

sudo apt install unattended-upgrades -y

Aktifkan integrasinya ke sistem pembaruan Debian/Ubuntu:

sudo dpkg-reconfigure --priority=low unattended-upgrades

Pilih opsi Yes saat jendela dialog muncul di layar terminal. Berkas konfigurasi di /etc/apt/apt.conf.d/50unattended-upgrades secara otomatis menyaring agar pembaruan yang dipasang murni sebatas patch stabilitas dan keamanan kritis, sehingga tidak akan merusak paket dependensi aplikasi utama Anda.

Langkah 5: Strategi Backup 3-2-1 dan Redundansi Data

Pilar terakhir dari keamanan bukanlah alat pencegah serangan, melainkan jaring pengaman saat skenario terburuk terjadi: backup data. Tidak ada sistem di dunia yang 100 persen kebal terhadap kesalahan manusia, bencana perangkat keras, atau serangan ransomware canggih.

Pegang teguh aturan baku 3-2-1: miliki 3 salinan data, simpan dalam 2 media berbeda, dan letakkan minimal 1 salinan di luar lokasi server utama (off-site).

Bila Anda mengisolasi aplikasi web ke dalam arsitektur kontainer modern menggunakan paket vps docker, proses backup menjadi jauh lebih rapi. Anda cukup mencadangkan berkas konfigurasi compose dan folder bind-mount secara berkala.

Untuk mengamankan database dan berkas unggahan pengguna ke tempat terpisah, manfaatkan protokol penyimpanan berbasis objek yang kompatibel dengan API cloud. Mengirimkan dump database terenkripsi ke layanan object storage s3 secara otomatis menggunakan skrip cron menjamin data Anda tetap utuh sekalipun seluruh instans server harus dihapus dan dibangun ulang dari nol.

Tabel Checklist: Default VPS vs Hardened VPS

Mari telaah perbedaan mendasar antara server baru yang belum dikonfigurasi dengan server yang sudah menerapkan checklist pengamanan standar industri:

Aspek KeamananKondisi Awal (Default)Kondisi Hardened
Metode Akses SSHKata sandi teks biasaSSH Keypair (Ed25519) tanpa password
Akses Akun RootTerbuka untuk siapa sajaDinonaktifkan; wajib sudo user
Regulasi Port (Firewall)Semua port berpeluang terbukaUFW: Deny incoming selain port esensial
Pencegahan Brute ForceTidak ada mekanisme blokirFail2ban memblokir IP setelah 3 kegagalan
Patching OSManual, sering terlewatUnattended-upgrades berjalan otomatis
Pemulihan BencanaBergantung snapshot lokalOtomatis off-site ke penyimpanan terpisah

Rangkuman Checklist Keamanan Server Linux

Menerapkan checklist ini hanya membutuhkan waktu sekitar 20 hingga 30 menit di awal penyewaan server, namun proteksi yang dihadirkan menghemat puluhan jam pemecahan masalah serta melindungi reputasi digital Anda dari potensi kebocoran data berbahaya.

Berikut ringkasan poin yang wajib Anda centang saat mengonfigurasi mesin baru:

  1. Segera generate SSH Key Ed25519 dan upload public key ke akun pengguna baru.
  2. Matikan PasswordAuthentication dan PermitRootLogin di berkas sshd_config.
  3. Nyalakan firewall UFW dengan aturan whitelist hanya pada port layanan yang diperlukan.
  4. Konfigurasi Fail2ban untuk membekukan IP scanner nakal secara instan.
  5. Nyalakan pembaruan keamanan otomatis dengan unattended-upgrades.
  6. Rancang alur pencadangan berkala ke lokasi penyimpanan independen di luar server.

Infrastruktur yang tangguh berawal dari pondasi yang kokoh. Bila Anda sedang mencari fondasi server virtual dengan performa komputasi tinggi dan akses jaringan lokal Indonesia berlatensi rendah untuk proyek baru Anda, jelajahi pilihan infrastruktur dan cek transparansi layanan kami langsung melalui laman awan.co.id/harga.

Lihat harga layanan
Terapkan yang Anda baca langsung di Awan.co.id.
Kunjungi Awan.co.id β†—