星期五, 7月 15, 2016

惡意攻擊 Apache 連線滿載,造成記憶體爆滿

今天早上發現網頁開啟不了,查看伺服器狀態,發現預設的連線數已滿載,記憶體要耗盡。
Apache Status 即時記錄中,發現有個來自羅馬尼亞的IP持續使用POST方式發送連線需求。
重新啟動 Apache 後,利用iptable 擋掉這個 IP



 下圖可看到 產生四千多筆連線。



重新調整 apache httpd.conf 設定如下

<IfModule prefork.c>
StartServers       5
MinSpareServers    10
MaxSpareServers    20
ServerLimit       1500
MaxClients        1450
MaxRequestsPerChild  4000
</IfModule>

編輯 iptable 限制單一IP 最大的連線數為100個

#vi /etc/sysconfig/iptables

-A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j REJECT --reject-with tcp-reset

希望以上作法能有效抵擋惡意攻擊~~~

沒有留言: