DEV Community

Mr koala
Mr koala

Posted on

🛡️ Hardening VPS Ubuntu: Mengunci Pintu dari Serangan Botnet

Pernah cek log server dan kaget lihat ribuan IP asing mencoba login? Itu adalah Botnet Brute Force. Jika dibiarkan, servermu tinggal menunggu waktu untuk jebol. Berikut adalah panduan praktis untuk memperkuat keamanan VPS Ubuntu kamu.

  1. Siapkan "Pagar" dengan UFW (Uncomplicated Firewall) Tanpa firewall, semua port di servermu terekspos. Kita hanya akan membuka pintu yang benar-benar diperlukan oleh aplikasi Laravel dan sistem billing/radius kamu.

Langkah-langkah:
Bash

Izinkan Traffic Web (HTTP & HTTPS)

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

Izinkan SSH (Pintu Masuk Admin)

sudo ufw allow 22/tcp

Izinkan FreeRadius (Port UDP untuk Hotspot/Billing)

sudo ufw allow 1812/udp
sudo ufw allow 1813/udp

Aktifkan Firewall

sudo ufw enable
Tips: Selalu cek status dengan sudo ufw status untuk memastikan tidak ada port database (3306) yang terbuka untuk umum.

  1. Pindahkan "Pintu Rahasia" (Ganti Port SSH) Bot hacker biasanya hanya menyerang port standar 22. Dengan memindahkannya ke angka unik (misal: 2299), kamu membuat servermu "tidak terlihat" oleh 99% bot di internet.

Cara Eksekusi:
Buka port baru di UFW: sudo ufw allow 2299/tcp

Edit konfigurasi SSH: sudo nano /etc/ssh/sshd_config

Ubah baris: Port 22 menjadi Port 2299

Restart layanan: sudo systemctl restart ssh

Hapus port lama: sudo ufw delete allow 22/tcp

  1. Pasang "Satpam" Otomatis: Fail2Ban Jika ada seseorang (atau robot) yang mencoba menebak password/fingerkey kamu berkali-kali, Fail2Ban akan otomatis memblokir IP mereka di level firewall.

Instalasi:
Bash
sudo apt update
sudo apt install fail2ban -y
Secara default, Fail2Ban akan memantau SSH dan memblokir IP yang gagal login lebih dari 5 kali selama 10 menit. Ini sangat efektif untuk menghemat penggunaan CPU dari serangan sampah.

  1. Monitoring: Siapa yang Mengetuk Pintumu? Sebagai admin, kamu wajib tahu siapa yang mencoba masuk. Gunakan perintah sakti ini:

Cek Percobaan Gagal (Maling):

Bash
lastb | head -n 20
Cek Login Berhasil (Internal):

Bash
last | head -n 10
Cek Koneksi Real-time:

Bash
netstat -antup

  1. Security Checklist untuk Laravel Selain server, aplikasi Laravel-mu juga harus dijaga:

APP_DEBUG=false: Pastikan ini di file .env saat production agar detail database tidak bocor saat error.

Eloquent ORM: Selalu gunakan ini daripada Raw Query untuk mencegah SQL Injection.

Update Berkala: Selalu jalankan sudo apt update && sudo apt upgrade untuk menambal celah keamanan kernel.

Kesimpulan
Keamanan bukan tentang sekali setting lalu selesai, tapi tentang membangun kebiasaan. Dengan UFW + Custom Port + Fail2Ban, server kamu kini sudah jauh lebih tangguh menghadapi serangan di luar sana.

Keep coding, stay secure! 🚀

Diterbitkan oleh: Dedy - Koala Network Core v2
Tags: #ubuntu #security #laravel #devops

Top comments (0)