Menyewa Virtual Private Server (VPS) untuk pertama kali terasa menyenangkan — Anda mendapatkan sebuah mesin Linux yang bisa diakses dari mana saja dan bebas dikonfigurasi sesuai kebutuhan. Namun, begitu VPS aktif, server itu langsung terhubung ke internet publik. Artinya, siapa pun di dunia dapat mencoba menebak kata sandi root Anda melalui port SSH yang terbuka. Bot penjelajah internet biasanya mulai menyapu alamat IP baru dalam hitungan menit setelah server online.

Karena itu, pengerasan (hardening) bukan pekerjaan opsional yang dilakukan “nanti kalau sempat”. Pengerasan adalah langkah pertama sebelum Anda memasang aplikasi apa pun — baik itu blog pribadi, bot, API, maupun layanan lain. Kabar baiknya, langkah-langkah dasarnya tidak sulit dan bisa diselesaikan dalam waktu kurang dari satu jam, bahkan oleh pemula.

Artikel ini membahas daftar langkah pengerasan awal yang wajib dilakukan pada VPS baru: memperbarui sistem, membuat pengguna non-root, mengaktifkan otentikasi kunci SSH, dan mengatur firewall. Semua langkah dilakukan pada server milik Anda sendiri, sepenuhnya legal, dan justru merupakan praktik standar industri. Seluruh contoh memakai distribusi Ubuntu atau Debian, dua pilihan paling umum di penyedia VPS, dengan manajer paket apt.

Perbarui Sistem Segera Setelah Login Pertama

Penyedia VPS umumnya memakai citra (image) sistem operasi yang dibuat beberapa waktu lalu. Selama rentang itu, celah keamanan baru mungkin sudah ditemukan dan ditambal oleh pengembang distribusi. Login pertama Anda — biasanya sebagai root lewat SSH — harus langsung diikuti pembaruan sistem.

Jalankan dua perintah berikut:

apt update
apt upgrade -y

Perintah pertama mengambil daftar paket terbaru dari repositori, sedangkan perintah kedua memasang semua pembaruan yang tersedia. Prosesnya bisa memakan waktu beberapa menit. Jika ada pembaruan kernel, lakukan reboot dengan reboot, lalu masuk kembali.

Agar tidak lupa di masa depan, aktifkan pembaruan keamanan otomatis dengan paket unattended-upgrades:

apt install unattended-upgrades -y
dpkg-reconfigure --priority=low unattended-upgrades

Pilih “Yes” pada dialog yang muncul. Dengan begitu, tambalan keamanan penting terpasang otomatis tanpa menunggu Anda ingat mengeceknya. Kebiasaan kecil ini menutup banyak celah yang umum dieksploitasi pada server yang terbengkalai.

Buat Pengguna Non-Root dengan Hak Sudo

Bekerja sehari-hari sebagai root adalah kebiasaan buruk. Akun root memiliki kuasa penuh — salah ketik satu perintah bisa menghapus seluruh sistem, dan jika penyerang berhasil masuk sebagai root, tidak ada lagi penghalang baginya. Selain itu, nama “root” adalah target tebakan pertama dalam setiap serangan brute-force SSH.

Buat pengguna baru dengan nama pilihan Anda:

adduser agus

Anda akan diminta mengisi kata sandi yang kuat dan beberapa data opsional. Selanjutnya, berikan hak sudo agar pengguna ini bisa menjalankan perintah administratif bila dibutuhkan:

usermod -aG sudo agus

Uji dengan berpindah ke pengguna tersebut:

su - agus
sudo whoami

Jika hasilnya root, konfigurasi sudah benar. Mulai titik ini, semua pekerjaan dilakukan lewat pengguna biasa, dan hak root hanya dipinjam sesaat lewat sudo. Pola ini memberi jejak audit yang jelas dan membatasi dampak kesalahan maupun penyusupan.

Aktifkan Otentikasi Kunci SSH dan Matikan Login Password

Kata sandi, sekuat apa pun, tetap bisa ditebak dengan percobaan berulang yang dilakukan bot tanpa lelah. Kunci SSH jauh lebih aman karena memakai pasangan kriptografi: kunci privat tersimpan di komputer Anda, kunci publik diletakkan di server. Tanpa kunci privat yang cocok, login ditolak.

Di komputer lokal Anda (bukan di server), buat pasangan kunci:

ssh-keygen -t ed25519

Tekan Enter untuk menerima lokasi default, dan isi passphrase sebagai lapisan pengaman tambahan. Kemudian salin kunci publik ke server untuk pengguna baru Anda:

ssh-copy-id agus@alamat-ip-server

Uji dari terminal baru: ssh agus@alamat-ip-server. Pastikan Anda bisa masuk tanpa kata sandi sebelum melanjutkan — jangan tutup sesi root yang sedang terbuka sampai login kunci terbukti berhasil, agar Anda tidak terkunci di luar server sendiri.

Setelah yakin, edit konfigurasi SSH di server:

sudo nano /etc/ssh/sshd_config

Ubah atau pastikan baris berikut:

PermitRootLogin no
PasswordAuthentication no

Baris pertama melarang login langsung sebagai root. Baris kedua mematikan login berbasis kata sandi sepenuhnya, sehingga hanya pemegang kunci privat yang bisa masuk. Simpan berkas, lalu muat ulang layanan:

sudo systemctl reload ssh

Dengan dua baris itu, seluruh serangan tebakan kata sandi terhadap server Anda menjadi sia-sia.

Batasi Akses dengan Firewall

Setiap port yang terbuka adalah pintu potensial. VPS baru sering kali menerima semua koneksi masuk secara default, padahal server Anda mungkin hanya butuh SSH dan satu atau dua layanan lain. Prinsipnya sederhana: firewall sebaiknya hanya membuka port layanan yang benar-benar dipakai, dan menolak sisanya.

Di Ubuntu, alat paling mudah adalah UFW (Uncomplicated Firewall). Pasang bila belum ada, lalu izinkan SSH terlebih dahulu sebelum mengaktifkan firewall — urutan ini penting agar koneksi Anda sendiri tidak terputus:

sudo apt install ufw -y
sudo ufw allow OpenSSH
sudo ufw enable

Jika server menjalankan web server, tambahkan izin untuk HTTP dan HTTPS:

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

Periksa hasilnya:

sudo ufw status verbose

Anda akan melihat daftar aturan aktif. Jika suatu saat layanan dipindah atau dihentikan, tutup kembali portnya dengan sudo ufw delete allow <nomor-port>. Biasakan meninjau aturan firewall setiap kali memasang aplikasi baru. Server dengan sedikit port terbuka menyusutkan permukaan serangan secara drastis — pemindai otomatis akan menemukan hampir tidak ada apa pun untuk diserang.

Lanjutkan Belajar dan Jaga Kebiasaan Aman

Empat langkah di atas — pembaruan sistem, pengguna non-root, kunci SSH, dan firewall — sudah menempatkan VPS Anda jauh di atas rata-rata server baru dari sisi keamanan. Namun keamanan bukan kondisi akhir, melainkan kebiasaan. Periksa log di /var/log/auth.log sesekali untuk melihat percobaan login, pertimbangkan alat seperti Fail2ban untuk memblokir IP yang gagal login berulang kali, dan selalu uji perubahan konfigurasi sebelum menutup sesi aktif.

Untuk memperdalam materi, tersedia sumber belajar berbahasa Indonesia yang ramah pemula. Panduan pengerasan server dan materi belajar keamanan berbahasa Indonesia dapat Anda temukan di kalilinux.info, yang membahas berbagai topik mulai dari dasar Linux hingga teknik pengujian keamanan. Gunakan pengetahuan tersebut secara etis — hanya pada server dan jaringan milik sendiri atau yang Anda kelola dengan izin tertulis dari pemiliknya. Menguji teknik pada sistem orang lain tanpa izin adalah pelanggaran hukum, apa pun niatnya.

Terakhir, dokumentasikan setiap langkah yang Anda lakukan pada server sendiri. Catatan sederhana berisi perintah yang dijalankan, port yang dibuka, dan layanan yang aktif akan sangat membantu saat pemecahan masalah atau saat Anda menyiapkan VPS berikutnya. Dengan fondasi yang aman sejak hari pertama, Anda bisa fokus membangun aplikasi di atasnya dengan tenang.