GNU/Linux >> Linux Esercitazione >  >> Linux

Limitare il numero di client connessi su un VirtualHost in Apache

Problema:
Quando un attacco DDOS o un'esplosione di richieste arrivano contemporaneamente nel mio server Web Apache2, l'intero server può esaurire la RAM e andare in crash.

Possibile soluzione:
Limita il numero di connessioni simultanee al tuo server Web per VirtualHost

Metodo: Un metodo semplice ed efficace eseguito direttamente sul server web Apache è utilizzare i moduli:mod_bw (mod_bandwidth) e mod_vhost_limit . Preferisco il mod_vhost_limit poiché è molto più semplice da configurare e si è dimostrato più efficace secondo i miei test.

Ambiente:
Compatibile con Apache 2.2 xx e Apache 2.4.xx.
Nota: Per Apache 2.4.xx, prima di compilare il modulo è necessario eseguire un "patch" del codice sorgente originale.

Passaggi:
Installa gli strumenti dell'ambiente di compilazione:
apt-get install build-essential apache2-dev
Scarica i sorgenti del modulo ed estrailo.
wget http://apache.ivn.cl/files/source/mod_vhost_limit-0.2.tgz
tar fvxz mod_vhost_limit-0.2.tgz

SOLO PER Apache 2.4.xx
Recupero della patch e patch del sorgente originale.
Rif:https://github.com/pld-linux/apache-mod_vhost_limit
wget 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 ..

PER ENTRAMBE Apache 2.2..xx e Apache 2.4.xx
Compila, installa e abilita il modulo:
cd mod_vhost_limit-0.2
/usr/bin/apxs2 -i -a -c mod_vhost_limit.c
service apache2 restart

Utilizza il modulo in una configurazione VirtualHost:
<VirtualHost ......>
...........
# Limits the concurrent requests to 1000 for this vhost
<IfModule vhost_limit_module>
MaxVhostClients 1000
</IfModule>
...........
</VirtualHost>


Linux
  1. Come aumentare il numero di inode in un filesystem Ext4?

  2. Modificare il numero di porta del server SSH predefinito

  3. I 5 migliori client di Google Drive per Linux

  4. come ottenere un elenco dei client wifi connessi in OpenWrt 10.03?

  5. Controlla il numero di connessioni attive sulla porta 80?

Configura Apache VirtualHost su Fedora

NGINX vs Apache:la scelta del miglior server Web nel 2022

Come trovare il numero di porta di un servizio in Linux

5 modi per contare il numero di righe in un file

Come ottenere il numero di processori/core in Linux

Qual è il numero massimo di porte?