Sådan beskytter du mod DDoS med Mod_evasive på Apache Server
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.