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.