Tips Keamanan & Hardening Linux agar Server Kalian Tetap Aman

Dalam dunia server, keamanan bukan cuma opsional tapi keharusan. Server Linux memang terkenal tangguh, tapi tanpa konfigurasi yang benar, tetap aja bisa jadi target empuk. Di artikel ini, saya akan bahas beberapa tips praktis untuk mengamankan server Linux kalian dari level dasar sampai advanced.

1. Nonaktifkan Login Root via SSH

Langkah paling awal yang wajib dilakukan setelah setup server adalah menonaktifkan akses login langsung ke root.
Edit file konfigurasi SSH:

sudo nano /etc/ssh/sshd_config

Ubah baris berikut:

PermitRootLogin no

Simpan, lalu restart service SSH:

sudo systemctl restart sshd

Setelah itu, gunakan akun user biasa dengan sudo untuk administrasi:

sudo -i

2. Gunakan Port SSH Non-Default

Secara default, SSH berjalan di port 22. Karena port ini sering dipindai oleh bot, ganti aja ke port lain misalnya 2222 atau 22022:

sudo nano /etc/ssh/sshd_config

Ubah:

Port 22022

Restart:

sudo systemctl restart sshd

Jangan lupa update firewall biar port barunya bisa diakses:

sudo ufw allow 22022/tcp

3. Gunakan Autentikasi Key, Bukan Password

Password bisa ditebak, tapi SSH key jauh lebih aman.
Buat key di komputer kalian:

ssh-keygen -t rsa -b 4096

Lalu kirim ke server:

ssh-copy-id -p 22022 user@server_ip

Setelah berhasil, nonaktifkan login dengan password:

PasswordAuthentication no

Sekarang hanya key yang valid yang bisa login.

4. Aktifkan Firewall

Pastikan firewall aktif untuk membatasi akses yang tidak perlu.
Gunakan ufw (Ubuntu/Debian) atau firewalld (RHEL/CentOS).

Contoh UFW:

sudo ufw allow 22022/tcp
sudo ufw allow 80,443/tcp
sudo ufw enable
sudo ufw status verbose

Contoh FirewallD:

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

5. Gunakan Fail2Ban untuk Mencegah Brute Force

Fail2Ban memantau log login gagal dan otomatis memblok IP yang mencurigakan.
Install:

sudo apt install fail2ban -y

Cek konfigurasi dasar di /etc/fail2ban/jail.conf dan aktifkan:

sudo systemctl enable --now fail2ban

Cek log-nya:

sudo fail2ban-client status sshd

6. Update Sistem Secara Berkala

Banyak serangan terjadi karena package yang ndak pernah di update.
Jadi biasakan update rutin:

sudo apt update && sudo apt upgrade -y

Atau gunakan update otomatis di background:

sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades

7. Audit dan Monitor Log

Gunakan journalctl, last, dan ausearch untuk memantau aktivitas sistem.
Cek siapa aja yang login terakhir:

last -a

Pantau log SSH:

sudo journalctl -u sshd

Kalau mau lebih detail, aktifkan auditd:

sudo apt install auditd -y
sudo systemctl enable --now auditd

8. Gunakan SELinux atau AppArmor

Untuk sistem berbasis RHEL, gunakan SELinux; untuk Ubuntu/Debian, gunakan AppArmor.
Pastikan statusnya aktif:

sestatus

Kalau masih permissive, ubah ke enforcing:

sudo setenforce 1

9. Batasi Akses dengan Sudoers

Pastikan hanya user tertentu yang punya hak sudo.
Edit sudoers dengan:

sudo visudo

Contoh:

tyo ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart postfix

Dengan cara ini, user hanya boleh restart service tertentu, bukan semuanya.

Kesimpulan

Keamanan server Linux itu soal kebiasaan, bukan cuma konfigurasi awal. Mulai dari disable root login, aktifkan firewall, dan pakai SSH key aja udah bisa nutup sebagian besar celah serangan. Tambahkan Fail2Ban, log audit, dan update rutin, maka server kalian bakal jauh lebih aman dari serangan acak di internet.

Leave a Reply

Your email address will not be published. Required fields are marked *