Problém:
Když na mém webovém serveru Apache2 ve stejnou dobu přichází útok DDOS nebo shluk požadavků, může celému serveru dojít RAM a může dojít k pádu.
Možné řešení:
Omezte počet současných připojení k vašemu webovému serveru na VirtualHost
Metoda: Jednou jednoduchou a účinnou metodou přímo na webovém serveru Apache je použití modulů:mod_bw (mod_bandwidth) a mod_vhost_limit . Preferuji mod_vhost_limit protože je mnohem jednodušší na konfiguraci a podle mých testů se ukázal jako efektivnější.
Prostředí:
Kompatibilní s Apache 2.2 xx a Apache 2.4.xx.
Poznámka: Pro Apache 2.4.xx je nutné před kompilací modulu provést „záplatu“ původního zdrojového kódu.
Kroky:
Nainstalujte nástroje prostředí sestavení:apt-get install build-essential apache2-dev
Stáhněte si zdrojové kódy modulů a rozbalte je.wget http://apache.ivn.cl/files/source/mod_vhost_limit-0.2.tgz
tar fvxz mod_vhost_limit-0.2.tgz
POUZE PRO Apache 2.4.xx
Získání opravy a oprava původního zdroje.
Ref:https://github.com/pld-linux/apache-mod_vhost_limitwget https://github.com/pld-linux/apache-mod_vhost_limit/archive/master.zip
unzip master.zip
cp apache-mod_vhost_limit-master/* mod_vhost_limit-0.2/
cd mod_vhost_limit-0.2/
patch mod_vhost_limit.c < mod_vhost_limit-apache24.patch
cd ..
PRO Apache 2.2..xx i Apache 2.4.xx
Zkompilujte, nainstalujte a povolte modul:cd mod_vhost_limit-0.2
/usr/bin/apxs2 -i -a -c mod_vhost_limit.c
service apache2 restart
Použijte modul v konfiguraci VirtualHost: <VirtualHost ......>
...........
# Limits the concurrent requests to 1000 for this vhost
<IfModule vhost_limit_module>
MaxVhostClients 1000
</IfModule>
...........
</VirtualHost>