SSD Nodes Learn
Panduan Matt ConnorOleh Matt Connor · Diperbarui 2026-07-24

Cara mengamankan VPS baru dalam 10 menit

Lindungi VPS Anda dari pemindai otomatis dengan langkah cepat ini. Pelajari cara membuat user sudo, mengatur SSH key, dan mengaktifkan firewall dengan benar.

10 menit pertama menentukan seberapa aman server Anda

VPS yang baru dibuat tidaklah aman. Sejak memiliki IP publik, pemindai (scanners) akan mencoba masuk, dan citra (image) default memberikan target yang besar: root sering kali dapat dijangkau, kata sandi sering kali diizinkan, tidak ada firewall, dan tidak ada pembaruan terjadwal. Kabar baiknya adalah menutup semua celah tersebut hanya membutuhkan waktu sekitar sepuluh menit dengan beberapa perintah. Ini adalah runbook yang saya jalankan pada setiap server baru sebelum saya menginstal apa pun di dalamnya.

Kerjakan secara berurutan, karena setiap langkah saling bergantung. Setiap langkah memiliki panduan sendiri yang ditautkan saat Anda berjalan; halaman ini adalah jalur cepat yang menyatukan semuanya.

Menit 1: Perbarui semuanya

Masuk sebagai root dengan kredensial yang diberikan penyedia Anda, dan perbarui sistem sepenuhnya sebelum melakukan hal lain:

apt update && apt upgrade -y

Server yang tidak diperbarui adalah target termudah, jadi ini dilakukan pertama kali. Setelah selesai, atur pembaruan keamanan otomatis agar sistem tetap terperbarui tanpa Anda harus mengingatnya.

Menit 2: Buat pengguna biasa dengan sudo

Jangan terus bekerja sebagai root. Buatlah pengguna untuk diri Anda sendiri dan berikan hak sudo:

adduser matt
usermod -aG sudo matt

Mulai saat ini, Anda masuk sebagai pengguna ini dan gunakan sudo untuk tugas admin. Bekerja sebagai root setiap saat berarti setiap kesalahan dan setiap kompromi terjadi dengan hak akses tak terbatas, yang mana merupakan hal yang ingin dicegah oleh berjalan sebagai pengguna tanpa hak istimewa.

Menit 4: Atur SSH keys

Kata sandi dapat ditebak; kunci (keys) tidak. Pada laptop Anda sendiri, jika Anda belum memiliki kunci, buatlah satu:

ssh-keygen -t ed25519

Kemudian salin bagian publiknya ke server:

ssh-copy-id matt@YOUR_SERVER

ssh-copy-id memerlukan login kata sandi diaktifkan untuk pengguna baru; jika sudah nonaktif, salin ~/.ssh/authorized_keys milik root ke /home/matt/.ssh/authorized_keys (milik matt), atau tempel kunci publik Anda ke file tersebut secara manual.

Model di balik langkah ini, satu kunci per perangkat, izin yang merusak login kunci, dan mencabut kunci yang hilang, dibahas dalam dasar-dasar manajemen SSH key.

Keluar dan masuk kembali sebagai matt menggunakan kunci tersebut, dan konfirmasikan bahwa ini berfungsi sebelum Anda menyentuh langkah berikutnya. Mengunci SSH sebelum Anda bisa masuk dengan kunci adalah cara orang mengunci diri mereka sendiri.

Menit 6: Matikan login root dan kata sandi

Sekarang kunci Anda sudah berfungsi, tutup dua pintu yang diandalkan oleh pemindai. Gunakan file drop-in agar pembaruan paket tidak menimpanya. Beri nama 00- agar diurutkan sebelum 50-cloud-init.conf, yang disertakan oleh citra cloud Ubuntu dengan PasswordAuthentication yes; sshd menyimpan nilai pertama yang dibacanya, sehingga file dengan urutan kemudian akan hilang secara diam-diam:

sudo nano /etc/ssh/sshd_config.d/00-hardening.conf
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin no

Kemudian muat ulang SSH:

sudo systemctl restart ssh

Kemudian periksa pengaturan yang sebenarnya digunakan sshd, agar file drop-in yang kalah urutan tidak menipu Anda:

sudo sshd -T | grep -Ei 'passwordauthentication|permitrootlogin'

Dengan kata sandi dimatikan dan login root dihilangkan, lalu lintas brute-force yang konstan terhadap server Anda tidak akan berhasil. Penanganan lengkap, termasuk perubahan port opsional, ada di pengerasan SSH pada VPS.

Menit 8: Aktifkan firewall

Tolak semua koneksi masuk secara default, lalu izinkan hanya apa yang Anda butuhkan. Izinkan SSH sebelum Anda mengaktifkan firewall, atau Anda akan memutus koneksi Anda sendiri:

sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enable

Tambahkan aturan allow untuk layanan apa pun yang Anda jalankan, seperti 80/tcp dan 443/tcp untuk situs web. Pastikan IPv4 dan IPv6 keduanya tercakup, karena firewall yang hanya menyaring IPv4 akan membiarkan sisi IPv6 terbuka lebar. Panduan lengkapnya adalah Firewalls 101 pada VPS.

Menit 10: Perlambat pemindai dengan Fail2ban

Terakhir, tambahkan Fail2ban untuk mengusir alamat yang membombardir port Anda:

sudo apt install -y fail2ban

Pada Ubuntu 24.04, instalasi standar melindungi SSH sejak booting pertama. Karena kunci sudah diwajibkan, ini adalah cadangan yang mengurangi kebisingan log dan memblokir pelanggar berulang, bukan sebagai pertahanan utama Anda.

Checklist Anda

Itulah runbooknya. Gunakan generator di bawah ini untuk mencentang setiap kontrol dan menghasilkan checklist pribadi yang dapat Anda simpan bersama server, termasuk perintah tepat untuk setiap langkah:

ToolBuild your VPS hardening checklist

Kerjakan ini sekali untuk setiap server baru dan seluruh proses ini akan menjadi memori otot. Sepuluh menit sekarang akan menyelamatkan Anda dari sore hari yang sangat buruk setelah server Anda berhasil dibobol.

Setelah hal-hal esensial terpasang, pembaruan keamanan otomatis pada Ubuntu menjaga server tetap mutakhir tanpa Anda harus masuk kembali.

FAQ

Apa yang harus saya lakukan pertama kali pada VPS baru?

Perbarui sistem dengan apt update && apt upgrade -y, lalu buat pengguna biasa dengan sudo dan berhenti bekerja sebagai root. Dari sana, atur SSH keys, nonaktifkan login root dan autentikasi kata sandi, aktifkan firewall default-deny, dan instal Fail2ban. Melakukannya dengan urutan tersebut berarti setiap langkah aman dilakukan tanpa mengunci diri Anda sendiri.

Bagaimana cara menghindari terkunci sendiri saat melakukan pengerasan SSH?

Atur dan uji login SSH key Anda sebelum Anda menonaktifkan kata sandi atau root. Keluar dan masuk kembali dengan kunci untuk mengonfirmasi fungsinya, dan baru setelah itu matikan PasswordAuthentication dan PermitRootLogin. Saat Anda mengaktifkan firewall, izinkan port 22 sebelum menjalankan ufw enable. Jika Anda tetap terkunci, konsol web penyedia Anda dapat membawa Anda masuk kembali tanpa SSH.

Apakah saya benar-benar membutuhkan semua ini pada server kecil?

Ya, karena pemindai tidak peduli seberapa kecil server Anda. Mereka mencoba setiap IP publik dengan cara yang sama. Seluruh runbook ini hanya memakan waktu sekitar sepuluh menit dan menghilangkan jalur-jalur mudah: tidak ada login root, tidak ada tebakan kata sandi, tidak ada yang terekspos selain yang Anda pilih, dan bug yang diketahui diperbarui secara otomatis.

Apa langkah yang paling penting?

SSH hanya dengan kunci dengan login root dinonaktifkan. Sebagian besar serangan pada VPS baru adalah tebakan kata sandi otomatis terhadap root, dan mematikan keduanya membuat seluruh kategori serangan tersebut menjadi mustahil. Firewall dan Fail2ban kemudian membatasi apa yang terekspos dan memperlambat apa pun yang tersisa.

Bagaimana cara mengonfirmasi bahwa server benar-benar telah diamankan?

Periksa tiga hal secara manual sebelum Anda mempercayainya. Jalankan sudo ss -tlnp dan konfirmasikan bahwa hanya port yang Anda maksud yang mendengarkan pada alamat publik, tanpa layanan 0.0.0.0 atau [::] yang Anda lupakan. Jalankan sudo ufw status verbose dan konfirmasikan bahwa kebijakan masuk default adalah deny dan bahwa aturan biasa serta (v6) keduanya tersedia. Dan selalu buka sesi SSH kedua sebelum Anda menutup yang pertama, sehingga kesalahan dalam konfigurasi SSH tidak dapat mengunci Anda keluar dari server. Jika ketiganya terlihat benar, maka dasar-dasarnya sudah terpasang.