Denne artikel er en del af Apache Server Guide serien:

  • Sikring af Apache på Ubuntu - Del 1
  • Sikring af Apache på Ubuntu - Del 2
  • Optimering af Apache Performance - Del 1
  • Optimering af Apache Performance - Del 2
  • Opsætning af navnebaseret Virtualhost Apache
  • Opsætning af IP og portbaseret Virtualhost i Apache
  • Sådan oprettes adgangskodebeskyttet webkatalog i Apache
  • Opsætning af Apache Server med SSL-support på Ubuntu
  • Opsætning af Fail2ban for at beskytte Apache fra et DDOS-angreb
  • Sådan opsættes Webdav med Apache på Ubuntu
  • Overvåg Apache Web Server ved hjælp af Mod_status
  • Sådan beskytter du mod DDoS med Mod_evasive på Apache Server

Mod_evasive er et Apache-modul, der giver undvigende handling i tilfælde af et HTTP DoS- eller DDoS-angreb eller et brutalt kraftangreb. mod_evasive rapporterer for øjeblikket ondsindet aktivitet via email og syslog. Mod_evasive-modulet virker ved at oprette en intern dynamisk hash-tabel over IP-adresser og URI'er og nægte en enkelt IP-adresse fra en af ​​følgende betingelser:

  • Anmodning af den samme side mere end et par gange pr. Sekund
  • Gør mere end 50 samtidige anmodninger om det samme barn pr. Sekund
  • Gør eventuelle anmodninger, mens der midlertidigt er sortlistet (på en blokeringsliste)

I denne tutorial vil jeg diskutere, hvordan du installerer, konfigurerer og bruger mod_evasive på din Apache-server. Denne vejledning bruger en Ubuntu 14.04 server.

Installation af mod_evasive

Først skal du sørge for, at Apache-serveren er installeret og kørende.

Derefter kan du installere mod_evasive modul ved at køre:

 sudo apt-get install libapache2-mod-undvigende 

Efter installation af mod_evasive kan du kontrollere dette modul ved at køre følgende kommandoer:

 sudo apachectl -M | grep undvigende 

Hvis mod_evasive er aktiveret, vil du se følgende output:

 evasive20_module (delt) 

Konfigurer Mod_evasive

Mod_evasive modulet læser sin konfiguration fra "/etc/apache2/mods-enabled/evasive.conf." Du kan nemt tilpasse mod_evasive modulet via "evasive.conf" konfigurationsfilen. Mod_evasive konfigurationsindstillinger er som standard deaktiveret, så du skal først aktivere dem. For at gøre dette skal du redigere filen "evasive.conf":

 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 /" 

Gem filen og genstart Apache for at dine ændringer træder i kraft:

 sudo /etc/init.d/apache2 genstart 

Du kan ændre ovenstående værdier i henhold til mængden og typen af ​​trafik, som din webserver skal håndtere.

DOSHashTableSize : Dette direktiv angiver, hvordan mod_evasive holder styr på, hvem der har adgang til hvad. Forøgelse af dette nummer vil give et hurtigere opslag af de websteder, som klienten har besøgt tidligere.

DOSPageCount : Dette direktiv angiver, hvor mange DOSPageCount : anmodninger til en bestemt URI, som en besøgende kan gøre over DOSPageInterval-intervallet.

DOSSiteCount : Dette svarer til DOSPageCount, men svarer til, hvor mange anmodninger samlet en besøgende kan foretage til dit websted over DOSSiteInterval-intervallet.

DOSBlockingPeriod : Hvis en besøgende overskrider grænserne fastsat af DOSSPageCount eller DOSSiteCount, vil hans IP blive blokeret i løbet af DOSBlockingPeriod-tiden. I løbet af dette interval får han en 403 (Forbudt) fejl.

DOSEmailNotify : En email vil blive sendt til den angivne emailadresse, når en IP-adresse er sortlistet.

DOSLogDir : Dette direktiv angiver placeringen af ​​logfilen.

Testing Mod_evasive

Nu er det tid til at teste om mod_evasive modulet fungerer eller ej. Du kan gøre dette ved at bruge et perl script "test.pl" placeret i mappen "/ usr / share / doc / libapache2-mod-evasive / examples /".

Du kan udføre scriptet ved at køre følgende kommando:

 sudo perl /usr/share/doc/libapache2-mod-evasive/examples/test.pl 

Du skal se følgende output:

Skriptet stiller 100 forespørgsler til din webserver. Den 403 svarkode angiver, at adgang nægtes af webserveren.

Konklusion

mod_evasive er et meget vigtigt redskab til at sikre en Apache webserver mod flere trusler. Du kan eksperimentere med mod_evasive og forskellige muligheder i et testmiljø. Hvis du har spørgsmål, kan du skrive dem i kommentarfeltet nedenfor.