Semua Panduan VPS GratisTutorial LinuxDocker & DeployWebsite & WordPressBot & OtomasiKeamanan ServerFree Tier CloudBelajar DevOps
VPSGratis.ID›Panduan Mengamankan VPS Linux 2026: SSH Key, UFW
Keamanan Server

Panduan Mengamankan VPS Linux 2026: SSH Key, UFW, Fail2ban

✍️ Maya Kusuma 📅 2 November 2026 ⏱️ 5 mnt baca 👁️ 0×

Server Baru Itu Seperti Rumah Tanpa Pagar

Mari definisikan ulang "mengamankan VPS". Bagi pemula, kata ini sering terdengar seperti pekerjaan peretas profesional. Padahal intinya sederhana: mengurangi pintu yang terbuka, lalu menjaga pintu yang tersisa. Itu saja.

Bayangkan VPS Anda sebuah rumah baru di kompleks yang ramai. Pintu depan (port SSH) sudah terpasang, tetapi kuncinya hanya gembok kecil bernama kata sandi. Di luar, ratusan pemindai otomatis berkeliling sepanjang waktu, mengetuk setiap pintu untuk mencari yang lemah.

Ini bukan dramatisasi. Siapa pun yang pernah membuka log autentikasi server yang baru online beberapa jam akan melihat deretan percobaan login dari alamat IP asing, biasanya dengan nama pengguna seperti root, admin, atau ubuntu. Pelakunya bot, bukan orang yang mengincar Anda secara pribadi. Justru karena itu, server latihan pun tetap menjadi sasaran.

Panduan ini memakai empat lapis pengaman yang direkomendasikan hampir semua panduan hardening dasar, termasuk prinsip dari CIS Benchmarks: autentikasi kunci, firewall, pemblokiran otomatis, dan pembaruan rutin. Semua perintah di bawah diuji untuk Ubuntu dan Debian.

Lapis Pertama: Berhenti Memakai Kata Sandi untuk SSH

Gambaran: sebuah gembok kombinasi yang bisa ditebak oleh siapa saja, diganti dengan kunci fisik unik yang hanya Anda bawa.

Kata sandi bisa ditebak lewat brute force. Pasangan SSH key tidak praktis untuk ditebak, karena terdiri dari kunci privat di laptop Anda dan kunci publik di server. Hanya pemilik kunci privat yang bisa masuk.

Langkah 1: Buat pasangan kunci di komputer lokal

# Ed25519: modern, pendek, dan kuat
ssh-keygen -t ed25519 -C "laptop-saya"

# Kirim kunci publik ke server
ssh-copy-id namauser@IP_SERVER

Saat diminta, isi passphrase. Ini kunci cadangan jika laptop Anda hilang.

Langkah 2: Buat user non-root dulu

Jangan bekerja sehari-hari sebagai root. Buat user biasa dengan hak sudo:

adduser deploy
usermod -aG sudo deploy

Langkah 3: Matikan login kata sandi

Uji dulu login dengan kunci di terminal baru. Setelah berhasil, edit konfigurasi:

sudo nano /etc/ssh/sshd_config

# Ubah atau tambahkan baris berikut
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes

# Terapkan perubahan
sudo systemctl restart ssh

Poin Penting: Jangan menutup sesi SSH lama sebelum Anda memastikan sesi baru dengan kunci bisa masuk. Kesalahan konfigurasi di tahap ini adalah penyebab paling umum orang mengunci dirinya sendiri dari server.

Lapis Kedua: Firewall UFW, Satpam yang Menutup Semua Pintu

Gambaran: satpam di gerbang kompleks yang hanya mengizinkan tamu dengan tujuan jelas.

UFW (Uncomplicated Firewall) adalah antarmuka sederhana di atas iptables. Prinsipnya: tolak semua koneksi masuk, lalu buka hanya yang benar-benar dipakai.

sudo apt install ufw -y

# Kebijakan dasar
sudo ufw default deny incoming
sudo ufw default allow outgoing

# Izinkan SSH SEBELUM mengaktifkan firewall
sudo ufw allow OpenSSH

# Jika menjalankan website
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

sudo ufw enable
sudo ufw status verbose

Urutannya krusial. Mengaktifkan UFW sebelum mengizinkan SSH sama dengan mengunci pintu dari luar sementara kunci tertinggal di dalam.

Aturan praktisnya: setiap port yang terbuka harus bisa Anda jelaskan alasannya. Menjalankan database MySQL hanya untuk aplikasi di server yang sama? Biarkan port 3306 tertutup. Aplikasi tetap bisa mengaksesnya lewat localhost.

Lapis Ketiga: Fail2ban, Penjaga yang Mencatat Wajah Pengganggu

Gambaran: kamera pengawas yang otomatis melarang masuk siapa pun yang tiga kali salah mengetuk pintu.

Walaupun login kata sandi sudah mati, bot tetap mencoba dan membebani log serta sumber daya server. Fail2ban membaca log, mendeteksi pola gagal login, lalu memblokir IP pelaku lewat firewall untuk jangka waktu tertentu.

sudo apt install fail2ban -y

# Jangan edit jail.conf; buat file override
sudo nano /etc/fail2ban/jail.local
[DEFAULT]
# Blokir 1 jam, setelah 5 kegagalan dalam 10 menit
bantime  = 1h
findtime = 10m
maxretry = 5

[sshd]
enabled = true
sudo systemctl enable --now fail2ban

# Lihat IP yang sedang diblokir
sudo fail2ban-client status sshd

Menurut pengalaman umum, beberapa jam setelah diaktifkan Anda sudah akan melihat daftar IP terblokir. Itu bukti bahwa pemindaian memang terjadi sejak awal.

Lapis Keempat: Update Otomatis agar Celah Lama Tidak Bertahan

Gambaran: tukang servis yang datang rutin untuk menambal retakan sebelum jadi bocor.

Sebagian besar insiden server berasal dari celah yang sebenarnya sudah punya tambalan. Masalahnya, tidak ada yang menjalankan pembaruan. Paket unattended-upgrades menginstal patch keamanan secara otomatis.

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

# Simulasi untuk memastikan konfigurasi benar
sudo unattended-upgrade --dry-run --debug

Secara bawaan, hanya pembaruan keamanan yang diterapkan, bukan seluruh upgrade paket. Ini seimbang: risiko aplikasi rusak karena perubahan versi besar tetap rendah. Jika ingin server restart sendiri setelah patch kernel, aktifkan di /etc/apt/apt.conf.d/50unattended-upgrades dengan opsi Unattended-Upgrade::Automatic-Reboot, dan pilih jam sepi.

Ringkasan Peran Tiap Lapisan

LapisanMenangkalTingkat kesulitan
SSH keyTebakan kata sandiMudah
UFWPort tak terpakai yang terbukaMudah
Fail2banBrute force berulangSedang
Update otomatisCelah yang sudah ditambalMudah

Tempat Latihan yang Aman untuk Salah

Kesalahan konfigurasi SSH dan firewall adalah bagian dari proses belajar. Karena itu, lingkungan latihan yang bisa dihapus dan dibuat ulang jauh lebih menenangkan daripada langsung memakai server produksi. Jika Anda mahasiswa yang baru mulai, lihat opsi vps gratis untuk mahasiswa untuk mencoba semua langkah di atas tanpa takut merusak sesuatu yang penting.

Bagi yang lebih nyaman dengan sistem yang ringan dan stabil, mencoba vps debian gratis adalah cara bagus mempraktikkan seluruh perintah di artikel ini. Detail penawaran terkini selalu tersedia di www.vpsgratis.id atau panel my.vpsgratis.id.

Pemeriksaan Akhir: Lima Menit yang Menentukan

  1. Buka terminal baru dan pastikan login dengan SSH key berhasil.
  2. Coba login dengan kata sandi; seharusnya ditolak.
  3. Jalankan sudo ufw status dan pastikan hanya port yang diperlukan terbuka.
  4. Jalankan sudo fail2ban-client status sshd untuk memastikan jail aktif.
  5. Jalankan sudo unattended-upgrade --dry-run tanpa pesan galat.

Apakah ini membuat server kebal? Tidak ada sistem yang kebal. Namun empat lapis ini menyingkirkan mayoritas serangan otomatis yang menjadi ancaman nyata bagi server pemula. Setelah fondasinya kuat, langkah berikutnya bisa berupa backup rutin, pemantauan log, dan membatasi akses aplikasi lewat user terpisah.

Keamanan bukan proyek sekali selesai, melainkan kebiasaan kecil yang diulang. Mulai dari yang paling mudah hari ini: buat SSH key, tutup port yang tidak perlu, dan biarkan server menambal dirinya sendiri.

Coba VPS gratis
Terapkan yang Anda baca langsung di VPSGratis.ID.
Kunjungi VPSGratis.ID ↗