Ya! Jika Anda ingin meningkatkan keamanan server ke level lebih advanced, ada beberapa langkah tambahan yang bisa diterapkan, mulai dari hardening kernel, meningkatkan keamanan SSH, menggunakan sistem deteksi intrusi, hingga sandboxing aplikasi. Berikut adalah beberapa langkah lanjutan:
1. Hardening Kernel dan Sistem Operasi
Mengurangi kemungkinan eksploitasi sistem dengan mengamankan kernel.
1.1. Mengaktifkan Kernel Hardening dengan sysctl
Edit konfigurasi sysctl:
nano /etc/sysctl.conf
Tambahkan atau ubah parameter berikut:
# Melindungi dari serangan SYN flood
net.ipv4.tcp_syncookies = 1
# Nonaktifkan penerusan IP
net.ipv4.ip_forward = 0
net.ipv6.conf.all.forwarding = 0
# Melindungi dari spoofing
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
# Nonaktifkan ICMP Redirect
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
# Nonaktifkan Source Routing
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
# Melindungi dari buffer overflow
kernel.randomize_va_space = 2
Terapkan perubahan:
sysctl -p
1.2. Memasang Paket Keamanan Tambahan
unattended-upgrades: Memastikan update keamanan otomatisapt install unattended-upgrades -y dpkg-reconfigure -plow unattended-upgradesauditd: Memonitor aktivitas sistem secara real-timeapt install auditd -y systemctl enable auditd systemctl start auditd
2. Mengamankan SSH (Advanced)
SSH adalah titik masuk utama ke server, jadi harus dibuat lebih aman.
2.1. Ganti Port SSH
Edit file SSH:
nano /etc/ssh/sshd_config
Ubah:
Port 2222
Restart SSH:
systemctl restart ssh
2.2. Gunakan Fail2Ban untuk SSH
Edit konfigurasi:
nano /etc/fail2ban/jail.local
Tambahkan:
[sshd]
enabled = true
port = 2222
maxretry = 3
bantime = 86400
findtime = 600
Restart Fail2Ban:
systemctl restart fail2ban
3. Sandboxing Aplikasi Web dengan AppArmor
AppArmor membatasi akses aplikasi ke sistem, mencegah eksploitasi.
3.1. Install dan Konfigurasi AppArmor
apt install apparmor apparmor-utils -y
systemctl enable apparmor
systemctl start apparmor
Cek status AppArmor:
aa-status
Pastikan apache2 dan mariadb dalam mode enforce.
4. Menggunakan ModSecurity pada Apache
ModSecurity adalah firewall aplikasi web (WAF) yang melindungi dari serangan.
4.1. Install ModSecurity
apt install libapache2-mod-security2 -y
a2enmod security2
systemctl restart apache2
4.2. Aktifkan dan Konfigurasi Ruleset OWASP
Edit file konfigurasinya:
nano /etc/modsecurity/modsecurity.conf
Cari dan ubah:
SecRuleEngine On
Salin rules OWASP:
mv /usr/share/modsecurity-crs /etc/modsecurity/
cd /etc/modsecurity
mv modsecurity.conf-recommended modsecurity.conf
Restart Apache:
systemctl restart apache2
5. Mengamankan MariaDB dengan SELinux (Advanced)
Jika Anda menggunakan SELinux, bisa mengaktifkan proteksi database lebih ketat.
Cek apakah SELinux aktif:
sestatus
Jika belum, install:
apt install selinux-basics selinux-policy-default -y
selinux-activate
reboot
Atur agar hanya aplikasi yang berhak mengakses database:
semanage fcontext -a -t mysqld_db_t "/var/lib/mysql(/.*)?"
restorecon -Rv /var/lib/mysql
6. IDS/IPS: Install dan Konfigurasi Snort
Snort digunakan untuk mendeteksi dan mencegah serangan jaringan.
6.1. Install Snort
apt install snort -y
Edit konfigurasi:
nano /etc/snort/snort.conf
Tambahkan rules dasar:
include $RULE_PATH/local.rules
Restart Snort:
systemctl restart snort
7. Log Monitoring dan Alerting
Gunakan Logwatch untuk memantau log sistem dan mendeteksi anomali.
apt install logwatch -y
logwatch --detail high --mailto admin@example.com --range today
8. Menggunakan Web Application Firewall (WAF) Cloudflare
Jika memungkinkan, gunakan Cloudflare WAF untuk memfilter trafik berbahaya sebelum sampai ke server.
Kesimpulan
Jika semua langkah ini diterapkan, server akan sangat sulit untuk diretas, kecuali jika ada zero-day exploit.
🔹 Tingkat Dasar: Firewall, Fail2Ban, SSL, Nonaktifkan root login
🔹 Tingkat Menengah: ModSecurity, SELinux, AppArmor
🔹 Tingkat Lanjutan: Snort IDS, Kernel Hardening, Cloudflare WAF