Biasanya kalo kamu adalah server administrator, maka pasti pernah juga menjumpai adanya serangan DoS atau DDoS. Apalagi server yang kamu handel adalah berisikan banyak website dan aplikasi customer. Dalam hal ini, kami ingin memberikan tips bagaimana cara terbaik untuk menangkal serangan DDoS di level software aplikasi. Ingat ini bukan level Hardware ya, tetapi dari sisi aplikasi yaitu dimana jika kamu menggunakan web server LiteSpeed. Yuk simak sampai habis tutorial ini.
Apakah Apache / LiteSpeed Web Server sedang diserang DDoS ?
Biasanya kalo emang sedang diserang DDoS, kamu akan menjumpai error seperti ini :
[Wed Aug 05 21:33:21.543968 2020] [mpm_prefork:error] [pid 10431] AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting
[Wed Aug 05 21:45:29.942556 2020] [mpm_prefork:error] [pid 13260] AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting
[Wed Aug 05 21:50:16.215967 2020] [mpm_prefork:error] [pid 14414] AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting
Hal ini bisa kamu temui di apache error log, atau juga di LiteSpeed error log.
Selain itu, kamu juga bisa melakukan pengecekan dengan perintah ini, jika terdapat banyak koneksi ke spesific IP atau muncul banyak IP dengan jumlah koneksi yang besar, maka patut dicurigai adanya serangan DDoS.
netstat -an | egrep ":80|:443" | egrep '^tcp' | grep -v LISTEN | awk '{print $5}' | egrep '([0-9]{1,3}\.){3}[0-9]{1,3}' | sed 's/^\(.*:\)\?\(\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\).*$/\2/' | sort | uniq -c | sort -nr | sed 's/::ffff://' | head
Solusi untuk DDoS Mitigation
Sebenarnya ada beberapa cara untuk menangkal DDoS ini. berikut gambaran singkatnya :
- Gunakan CDN dari Cloudflare. Dimana kamu bisa aktifkan fitur WAF, Proxy / DNS Only dan fitur "
I am under attack
". - Matikan service web server dan tunggu sejenak hingga serangan meredah. Setelah itu bisa kamu online kan lagi. (cara ini memang membuat website jadi offline sementara waktu).
- Jika kamu menggunakan LiteSpeed, maka ada beberapa solusi yg bisa kamu terapkan yaitu :
- Aktifkan reCAPTCHA
Akses WebAdmin console via
https://YOUR_SERVER_IP:7080
Pergi ke menu: Configuration → Server → Security → reCAPTCHA Protection
kamu bisa Enable dan set type: checkbox
Maka waktu membuka website akan muncul reCAPTCHA seperti gambar dibawah ini
Selain itu kamu juga bisa masukan value sensitifitas (Set Trigger Sensitivity).
dengan rumus ini :Active connections * 100 / Max Connections > (100 - Trigger Sensitivity)
Jika kita set trigger sensitivity : 100 , artinya reCAPTCHA akan selalu muncul ketika membuka website, sedangkan 0 artinya reCAPTCHA akan OFF.
ideal nya di angka berapa? tentu ini kamu bisa gunakan rumus diatas.
Contoh kasus :
Active connections : 900
Max Connections : 1000
Trigger Sensitivity : 20 (tidak terlalu sensitif)
900 * 100 / 1000 > 100 - 20
90 > 80
Artinya benar 90 lebih besar dari 80, jadi reCAPTCHA akan aktif.
Jika active connection turun ke 800, maka hasilnya reCAPTCHA akan off. - Aktifkan LiteSpeed Cache
Jika menggunakan WordPress, maka terdapat plugin LSCache yang bisa kamu manfaatkan. Fitur cache dari LiteSpeed ini bisa membantu mengurangi load server jika terdapat banyak visitor. Kemungkinan akan sedikit membantu dalam menangani adanya serangan DDoS, sehingga server utama tidak sampai full load karena ada cache yang meringankan. - Gunakan Per-Client Throttling
Masuk Web Console di menu: Configuration > Server > Security configurations > Per Client Throttling
Set 0 untuk non-aktifkan. Dari gambar diatas kamu bisa melihat settingan default dan settingan yang sudah di adjust (bawahnya).
Penjelasan jika terdapat 20 atau lebih koneksi terbentuk dari 1 IP, atau 15 koneksi terbentuk selama 15 detik, maka bisa dianggap adanya DDoS attack, maka IP tersebut akan di band selama 60 detik dan terekam di error log web server. Selain itu kamu juga bisa whitelist ip tertentu jika dibutuhkan melalui menuWebAdmin Console > Server > Security > Access Control
- Tingkatkan Max Connection Settings
Meningkatkan max connection untuk memperbesar kapasitas kemampuan LiteSpeed dalam meng-handel request. Tentu hal ini bukan untuk mitigasi DDoS ya, tetapi lebih ke arah memperbesar kapasitas agar web server tetap mampu handel koneksi skala besar. Tetapi resource server juga perlu spesifikasi yang besar juga ya, seperti jumlah free memory RAM dan Core yang banyak.
Contoh diatas ini adalah untuk meningkatkanMax Connections
dari 2000 menjadi 20000, laluMax SSL Connection
juga perlu ditingkatkan. - Manually Block Known Bad IPs
Jika kamu mengetahui IP penyerang, maka kamu bisa blok ip pada menu Configuration > Server > Security > Access Control > Edit
Di sini kamu bisa masukan IP / prefix yang dicurigai. lalu klik Save.
- Aktifkan reCAPTCHA
Kesimpulan
Dari tutorial diatas, paling tidak kamu bisa meredam adanya serangan DDoS, walau memang tidak ada angka yang pasti karena setiap server memiliki karakteristik sendiri-sendiri. Maka diperlukan qualified / orang yang berpengalaman dibidangnya untuk melakukan DDoS Mitigation ini. Gambaran dan solusi sudah kami jelaskan secara singkat diatas, maka giliran kamu untuk praktek mencoba ya! Jangan menyerah sebelum mencoba terlebih dahulu, maka pengalamanmu akan bertambah banyak.
Cara terbaik yang bisa kamu lakukan adalah aktifkan reCAPTCHA
, gunakan LiteSpeed Cache
, Tingkatkan max connection settings
dan blokir spesifik IP
yang dicurigai. Semoga artikel ini bermanfaat ya!
Sumber:
https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:config:mitigating-ddos-attacks