Dit artikel maakt deel uit van de Apache Server Guide-serie:

  • Apache beveiligen op Ubuntu - Deel 1
  • Apache beveiligen op Ubuntu - Deel 2
  • Apache-prestaties optimaliseren - deel 1
  • Apache-prestaties optimaliseren - deel 2
  • Op naam gebaseerde Virtualhost Apache instellen
  • IP en op poorten gebaseerde Virtualhost instellen in Apache
  • Hoe de wachtwoordbeveiliging van de webdirectory in Apache in te stellen
  • Apache-server instellen met SSL-ondersteuning op Ubuntu
  • Fail2ban instellen om Apache te beschermen tegen een DDOS-aanval
  • Hoe Webdav instellen met Apache op Ubuntu
  • Controleer Apache Web Server met Mod_status
  • Hoe te beschermen tegen DDoS met Mod_evasive op Apache Server

Mod_evasive is een Apache-module die ontwijkende actie biedt in het geval van een HTTP DoS- of DDoS-aanval of brute force-aanval. mod_evasive meldt momenteel schadelijke activiteiten via e-mail en syslog. De mod_evasive module werkt door een interne dynamische hash-tabel van IP-adressen en URI's te maken en elk enkel IP-adres te weigeren vanuit een van de volgende voorwaarden:

  • Verzoek om dezelfde pagina meer dan een paar keer per seconde
  • Meer dan 50 gelijktijdige aanvragen maken over hetzelfde kind per seconde
  • Verzoeken indienen terwijl ze tijdelijk op de zwarte lijst staan ​​(op een blokkeerlijst)

In deze tutorial zal ik bespreken hoe mod_evasive op uw Apache-server moet worden geïnstalleerd, geconfigureerd en gebruikt. Deze tutorial maakt gebruik van een Ubuntu 14.04-server.

Mod_evasive installeren

Controleer eerst of de Apache-server is geïnstalleerd en actief is.

Vervolgens kunt u mod_evasive module installeren door het uitvoeren van:

 sudo apt-get install libapache2-mod-evasive 

Na het installeren van mod_evasive, kunt u deze module verifiëren door de volgende opdrachten uit te voeren:

 sudo apachectl -M | grep ontwijkend 

Als mod_evasive is ingeschakeld, ziet u de volgende uitvoer:

 evasive20_module (gedeeld) 

Configureer Mod_evasief

De module mod_evasive leest de configuratie uit "/etc/apache2/mods-enabled/evasive.conf." U kunt de mod module mod_vasive eenvoudig aanpassen via het configuratiebestand "evasive.conf". Standaard zijn mod_evasive configuratie-opties uitgeschakeld, dus u moet ze eerst inschakelen. Bewerk het bestand "evasive.conf" om dit te doen:

 sudo nano /etc/apache2/mods-enabled/evasive.conf 

Verwijder # uit de volgende regels:

 DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 10 DOSEmailAanmelden [email protected] DOSLogDir "/ var / log / apache2 /" 

Sla het bestand op en start Apache opnieuw om uw wijzigingen van kracht te laten worden:

 sudo /etc/init.d/apache2 opnieuw opstarten 

U kunt de bovenstaande waarden wijzigen op basis van de hoeveelheid en het type verkeer dat uw webserver moet verwerken.

DOSHashTableSize : deze richtlijn geeft aan hoe mod_evasive bijhoudt wie toegang heeft tot wat. Als u dit aantal verhoogt, krijgt u een snellere opzoeking van de sites die de klant in het verleden heeft bezocht.

DOSPageCount : deze richtlijn specificeert hoeveel identieke verzoeken aan een specifieke URI een bezoeker kan maken over het interval van DOSPageInterval.

DOSSiteCount : dit is vergelijkbaar met DOSPageCount, maar komt overeen met het aantal verzoeken dat een bezoeker over het hele interval van DOSSiteInterval aan uw site kan doen.

DOSBlockingPeriod : als een bezoeker de limieten overschrijdt die zijn ingesteld door DOSSPageCount of DOSSiteCount, wordt zijn IP-adres geblokkeerd tijdens de duur van DOSBlockingPeriod. Tijdens dit interval ontvangt hij een 403 (Verboden) fout.

DOSEmailNotify : een e-mail wordt verzonden naar het opgegeven e-mailadres als een IP-adres op de zwarte lijst staat.

DOSLogDir : deze richtlijn geeft de locatie van de DOSLogDir : .

Mod_evasive testen

Nu is het tijd om te testen of de Mod_ Diffasive-module werkt of niet. U kunt dit doen met behulp van een perl-script "test.pl" in de map "/ usr / share / doc / libapache2-mod-ontwijkend / examples /".

U kunt het script uitvoeren door de volgende opdracht uit te voeren:

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

Je zou de volgende output moeten zien:

Het script maakt 100 aanvragen naar uw webserver. De 403-antwoordcode geeft aan dat de toegang wordt geweigerd door de webserver.

Conclusie

mod_evasive is een zeer belangrijke tool om een ​​Apache-webserver te beveiligen tegen verschillende bedreigingen. Je kunt experimenteren met mod_evasive en verschillende opties in een testomgeving. Als u vragen heeft, kunt u deze in het opmerkingenveld hieronder schrijven.