Hoe te beschermen tegen DDoS met Mod_evasive op Apache Server
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.