Serangan DOS (Denial of Service) dan DDOS (Distributed Denial of Service) adalah ancaman serius bagi keamanan sistem server. Serangan ini bertujuan untuk membuat layanan tidak tersedia bagi pengguna dengan membanjiri server dengan traffic yang berlebihan. Pada artikel ini, kita akan membahas langkah-langkah praktis untuk melindungi sistem AlmaLinux 9 yang menggunakan Apache dari serangan DOS/DDOS.
1. Update Sistem dan Apache
Langkah pertama dan paling penting adalah memastikan sistem dan Apache selalu up-to-date. Pembaruan rutin membantu menutupi kerentanan keamanan yang mungkin dieksploitasi oleh penyerang.
sudo dnf update
2. Konfigurasi Apache untuk Mengurangi Dampak Serangan
Apache dapat dikonfigurasi untuk membatasi dampak serangan DOS/DDOS dengan beberapa cara:
a. Batasi Request per IP
Gunakan modul mod_evasive
untuk membatasi jumlah request dari satu IP address.
-
Install
mod_evasive
:sudo dnf install mod_evasive
-
Edit konfigurasi
/etc/httpd/conf.d/mod_evasive.conf
:<IfModule mod_evasive24.c> DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 10 </IfModule>
-
Restart Apache:
sudo systemctl restart httpd
b. Batasi Timeout dan KeepAlive
Atur parameter Timeout dan KeepAlive di /etc/httpd/conf/httpd.conf
:
Timeout 60 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 5
c. Batasi Ukuran Request
Tambahkan batasan ukuran request body:
LimitRequestBody 1048576
3. Gunakan Firewall (firewalld atau iptables)
Firewall dapat digunakan untuk memblokir traffic mencurigakan.
-
Blokir IP mencurigakan dengan
firewalld
:sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="IP_MENYERANG" drop' sudo firewall-cmd --reload
-
Atau gunakan
iptables
untuk membatasi koneksi:iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j DROP
4. Gunakan Fail2Ban
Fail2Ban adalah tools yang dapat memblokir IP yang melakukan terlalu banyak request.
-
Install Fail2Ban:
sudo dnf install fail2ban
-
Buat konfigurasi khusus untuk Apache di
/etc/fail2ban/jail.local
:[apache-dos] enabled = true filter = apache-auth action = iptables-multiport[name=HTTP, port="http,https", protocol=tcp] logpath = /var/log/httpd/access_log maxretry = 50 findtime = 600 bantime = 3600
-
Restart Fail2Ban:
sudo systemctl restart fail2ban
5. Gunakan CDN (Content Delivery Network)
Layanan CDN seperti Cloudflare dapat membantu menyembunyikan IP server asli dan memfilter traffic sebelum mencapai server. Cloudflare juga menyediakan fitur DDOS protection yang kuat.
6. Aktifkan Modul ModSecurity
ModSecurity adalah Web Application Firewall (WAF) yang dapat memblokir serangan layer aplikasi.
-
Install ModSecurity:
sudo dnf install mod_security mod_security_crs
-
Aktifkan aturan dasar di
/etc/httpd/conf.d/mod_security.conf
.
7. Monitor Traffic
Gunakan tools seperti netstat
, iftop
, atau nload
untuk memonitor traffic secara real-time:
sudo dnf install iftop sudo iftop
8. Rate Limiting dengan mod_qos
mod_qos
dapat digunakan untuk membatasi traffic berdasarkan aturan tertentu.
-
Install
mod_qos
:sudo dnf install mod_qos
-
Konfigurasi di
/etc/httpd/conf.d/qos.conf
:<IfModule mod_qos.c> QS_ClientEntries 1000 QS_SrvMaxConnPerIP 50 QS_SrvMaxConnClose 180 </IfModule>
9. Backup dan Recovery Plan
Selalu backup konfigurasi dan data penting secara berkala. Siapkan rencana recovery jika serangan terjadi.
10. Gunakan Load Balancer
Jika memungkinkan, gunakan load balancer seperti HAProxy atau Nginx untuk mendistribusikan traffic dan mengurangi beban pada server Apache.
Kesimpulan
Melindungi sistem AlmaLinux 9 dari serangan DOS/DDOS memerlukan kombinasi konfigurasi server, penggunaan tools keamanan, dan monitoring yang baik. Dengan menerapkan langkah-langkah di atas, kamu dapat meningkatkan keamanan sistem dan memastikan layanan tetap tersedia bagi pengguna.
Jangan lupa untuk selalu memantau dan memperbarui sistem secara berkala. Stay safe and secure! 🛡️