Ghid pentru configurarea unui server LAMP pe AlmaLinux. În era digitală actuală, configurarea unui server web…

Ghid pentru implementarea rate limiting în Apache
Ghid pentru implementarea rate limiting în Apache. Implementarea rate limiting în Apache este o metodă eficientă pentru a preveni abuzurile, a reduce riscul atacurilor și a asigura disponibilitatea constantă a resurselor.
Prin activarea modulelor potrivite și configurarea limitelor corespunzătoare, veți îmbunătăți semnificativ securitatea și stabilitatea serverului web.
Ce este rate limiting și de ce este important?
Rate limiting este o tehnică de securitate utilizată pentru a limita numărul de cereri pe care un client le poate face într-un anumit interval de timp.
Aceasta ajută la prevenirea atacurilor de tip DoS, a accesului excesiv la resurse și la protejarea performanței serverului web Apache.
Ghid pentru implementarea rate limiting
1. Activarea modulelor necesare
În Apache, rate limiting poate fi implementat prin intermediul unor module precum mod_ratelimit, mod_evasive și mod_security.
- Activați
mod_ratelimitșimod_evasivecu comenzile:
a2enmod ratelimit a2enmod evasive
După activare, reporniți Apache:
systemctl restart apache2
2. Limitarea ratei de transfer cu mod_ratelimit
Acest modul limitează viteza de transfer pentru anumite tipuri de fișiere sau cereri.
Exemplu de configurare în .htaccess sau în apache2.conf:
<IfModule mod_ratelimit.c> SetOutputFilter RATE_LIMIT SetEnv rate-limit 400 </IfModule>
Valoarea 400 limitează viteza de transfer la 400 KB/s.
3. Protecție împotriva abuzurilor cu mod_evasive
mod_evasive este un modul care detectează atacurile de tip DoS/DDoS și blochează temporar IP-urile agresive.
Configurația tipică se adaugă în fișierul /etc/apache2/mods-enabled/evasive.conf:
DOSHashTableSize 3097 DOSPageCount 5 DOSSiteCount 100 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 10
- DOSPageCount: Număr de accesări ale aceleiași pagini într-un interval (1 sec).
- DOSBlockingPeriod: Timp în secunde cât IP-ul va fi blocat.
4. Limitarea numărului de conexiuni pe IP
Se poate folosi modulul mod_limitipconn pentru a limita numărul de conexiuni simultane de la un IP.
Exemplu de configurare:
<IfModule mod_limitipconn.c>
<Location />
MaxConnPerIP 5
</Location>
</IfModule>
5. Implementarea în Virtual Host
Puteți include setările de rate limiting și în fișierele VirtualHost pentru domenii individuale:
<VirtualHost *:80> ServerName www.exemplu.ro SetOutputFilter RATE_LIMIT SetEnv rate-limit 300 ... </VirtualHost>
6. Monitorizare și loguri
- mod_evasive scrie loguri în
/var/log/apache2/evasive.log. - Pentru analiză suplimentară, folosiți unelte ca fail2ban pentru a bloca automat IP-urile repetate.
7. Recomandări suplimentare
- Testați întotdeauna noile setări pe un server de staging înainte de producție.
- Utilizați rate limiting în combinație cu firewall-uri (UFW, iptables) pentru protecție completă.
- Monitorizați constant performanța serverului și ajustați limitele după nevoi.


