Slik beskytter du mot DDoS med Mod_evasive på Apache Server
Denne artikkelen er en del av Apache Server Guide-serien:
- Sikre Apache på Ubuntu - Del 1
- Sikre Apache på Ubuntu - Del 2
- Optimalisering av Apache Performance - Del 1
- Optimalisering av Apache Performance - Del 2
- Sette opp navnbasert Virtualhost Apache
- Sette opp IP og portbasert Virtualhost i Apache
- Hvordan sette opp passordbeskytt webkatalogen i Apache
- Sette opp Apache Server med SSL-støtte på Ubuntu
- Konfigurere Fail2ban for å beskytte Apache fra et DDOS-angrep
- Hvordan sette opp Webdav med Apache på Ubuntu
- Overvåk Apache Web Server ved hjelp av Mod_status
- Slik beskytter du mot DDoS med Mod_evasive på Apache Server
Mod_evasive er en Apache-modul som gir unnvikende handling i tilfelle et HTTP DoS eller DDoS-angrep eller brute force attack. mod_evasive rapporterer for tiden skadelig aktivitet via e-post og syslog. Mod_evasive-modulen fungerer ved å lage et internt dynamisk hash-tabell med IP-adresser og URIer og nekte en enkelt IP-adresse fra en av følgende forhold:
- Be om samme side mer enn noen få ganger per sekund
- Gjør mer enn 50 samtidige forespørsler på samme barn per sekund
- Gjør eventuelle forespørsler mens du midlertidig har svartelistet (på en blokkeringsliste)
I denne opplæringen diskuterer jeg hvordan du installerer, konfigurerer og bruker mod_evasive på Apache-serveren din. Denne opplæringen bruker en Ubuntu 14.04-server.
Installere mod_evasive
Først må du kontrollere at Apache-serveren er installert og kjører.
Deretter kan du installere mod_evasive modulen ved å kjøre:
sudo apt-get installere libapache2-mod-evasive
Etter at du har installert mod_evasive, kan du bekrefte denne modulen ved å kjøre følgende kommandoer:
sudo apachectl -M | grep unnvikende
Hvis mod_evasive er aktivert, vil du se følgende utgang:
evasive20_module (delt)
Konfigurer Mod_evasive
Mod_evasive modulen leser sin konfigurasjon fra "/etc/apache2/mods-enabled/evasive.conf." Du kan enkelt tilpasse mod_evasive modulen gjennom "evasive.conf" konfigurasjonsfilen. Mod_evasive konfigurasjonsalternativer er som standard deaktivert, så du må aktivere dem først. For å gjøre dette, rediger "evasive.conf" filen:
sudo nano /etc/apache2/mods-enabled/evasive.conf
Fjern #
fra følgende linjer:
DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 10 DOSEmailNotify [email protected] DOSLogDir "/ var / log / apache2 /"
Lagre filen og start Apache igjen for at endringene skal tre i kraft:
sudo /etc/init.d/apache2 restart
Du kan endre de ovennevnte verdiene i henhold til mengden og typen trafikk som din webserver trenger å håndtere.
DOSHashTableSize :
Dette direktivet angir hvordan mod_evasive holder oversikt over hvem som har tilgang til hva. Å øke dette nummeret gir en raskere oppslag av nettstedene som klienten har besøkt tidligere.
DOSPageCount :
Dette direktivet angir hvor mange identiske forespørsler til en bestemt URI en besøkende kan gjøre over DOSPageInterval-intervallet.
DOSSiteCount :
Dette ligner på DOSPageCount, men tilsvarer hvor mange forespørsler samlet en besøkende kan gjøre på nettstedet ditt over DOSSiteInterval-intervallet.
DOSBlockingPeriod :
Hvis en besøkende overskrider grensene som er angitt av DOSSPageCount eller DOSSiteCount, blir hans IP blokkert i DOSBlockingPeriod-tid. I løpet av dette intervallet vil han få en 403 (Forbidden) feil.
DOSEmailNotify :
En e-post vil bli sendt til e-postadressen angitt når en IP-adresse er svartelistet.
DOSLogDir :
Dette direktivet spesifiserer plasseringen av loggboken.
Testing Mod_evasive
Nå er det på tide å teste om mod_evasive modulen fungerer eller ikke. Du kan gjøre dette ved å bruke et perl-script "test.pl" som ligger i katalogen "/ usr / share / doc / libapache2-mod-evasive / examples /".
Du kan kjøre skriptet ved å kjøre følgende kommando:
sudo perl /usr/share/doc/libapache2-mod-evasive/examples/test.pl
Du bør se følgende utgang:
Skriptet gjør 100 forespørsler til webserveren din. 403-svarskoden indikerer at tilgang blir nektet av webserveren.
Konklusjon
mod_evasive er et svært viktig verktøy for å sikre en Apache webserver mot flere trusler. Du kan eksperimentere med mod_evasive og forskjellige alternativer i et testmiljø. Hvis du har spørsmål, kan du skrive dem i kommentarfeltet nedenfor.