Trinn 1: Installere httpd-devel
Trinn 2: Laste ned og installere mod_evasive
Trinn 3: Legge til modulen til Apache
Trinn 4: Konfigurere og endre innstillinger
Trinn 5: Starte webserveren på nytt
Mod_evasive er en modul for Apache som automatisk tar handling når et HTTP DoS-angrep eller brute force-angrep oppdages. Mod_evasive er i stand til å logge og rapportere misbruk og varsle problemer via e-post. Før du følger denne veiledningen, bør du allerede ha en LAMP-server på plass som fungerer som den skal.
Denne veiledningen ble skrevet for CentOS og dens varianter (som RHEL) og Debian og dens varianter (som Ubuntu).
Modulen lager en tabell over IP-adresser og URL-er. Hvis betingelsene satt i konfigurasjonen (som beskrevet senere i dette dokumentet) er oppfylt, vil misbrukende brukere få en 403 (forbudt) feil. IP-adressen logges også, og hvis alternativet er satt, vil en e-post bli sendt til den angitte e-postadressen.
Trinn 1: Installering httpd-devel
httpd-devel-pakken inneholder nødvendige filer som du trenger for å bygge dynamiske delte objekter for Apache. Vi trenger denne pakken for å installere modulen, da vi vil kompilere den selv i de følgende trinnene.
På CentOS/RHEL, kjør:
yum install httpd-devel
På Debian/Ubuntu, kjør:
apt-get install apache2-utils
Etter at denne pakken er installert, fortsett til neste trinn. Hvis installasjonen ikke er riktig fullført, vil neste trinn (mest sannsynlig) mislykkes.
Trinn 2: Laste ned og installere mod_evasive
Metode 1: Kompilering
Last ned modulen:
cd /usr/src
wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz
Trekk ut modulen:
tar xzf mod_evasive*.tar.gz
Naviger til katalogen:
cd mod_evasive
Deretter skal vi bruke apxs2, et verktøy laget for å bygge og installere moduler som utvider funksjonaliteten til Apache. Apxs2bygger et dynamisk delt objekt, og det er grunnen til at vi installerte httpd-develi trinn #1.
Henrette:
apxs2 -cia mod_evasive20.c
Metode 2: Installasjon ved hjelp av yum(anbefalt)
Når du har epel-releaseinstallert depotet, mod_evasiveer det tilgjengelig via yum.
Legg til depotet:
yum install epel-release
Installer modulen ved å bruke yum:
yum install mod_evasive
Trinn 3: Legge til modulen til Apache
Generelt laster Apache alle moduler fra mods-enabled, så hver gang en modul legges til den mappen, trenger den ikke legges til i Apache-konfigurasjonen manuelt. Åpne konfigurasjonsfilen for å sjekke om dette er tilfelle.
På CentOS er den relevante filen: /etc/httpd/conf/httpd.conf
På Ubuntu er den relevante filen: /etc/apache2/apache2.conf
Søk etter Include. En linje som Include mods-enabled/*.confforteller Apache å laste alle moduler. Hvis den ikke er der, legg til den linjen øverst i filen og start Apache på nytt.
For Ubuntu, legg til følgende innhold nederst i filen:
LoadModule evasive20_module /usr/lib/httpd/modules/mod_evasive20.so
Trinn 4: Konfigurere og endre innstillinger
Legg til følgende blokk i konfigurasjonsfilen. Banene er de samme som i trinn #3.
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 60
DOSEmailNotify <william@williamdavidedwards.com>
</IfModule>
En rask oversikt over disse parameterne finner du i README. Du kan lese README-filen som følger:
cat /usr/src/cd mod_evasive/README
Du vil mest sannsynlig trenge å justere disse innstillingene fra tid til annen, for å sikre at de passer akkurat for serveren og nettstedene dine. Tross alt har noen servere mer aktivitet og trafikk enn andre.
Trinn 5: Starte webserveren på nytt
Start Apache-nettserveren på nytt for at endringene skal tre i kraft og modulen som skal lastes:
service httpd restart
Sørg for at modulen er lastet inn i Apache:
httpd -M | grep evasive
Dette bør komme tilbake evasive20_module (shared). Hvis ikke, ble modulen ikke lastet inn på riktig måte, og vi anbefaler å sjekke konfigurasjonsfilene på nytt og om de ble lagret riktig.
Merk at denne modulen ikke er en erstatning for DDoS-beskyttelse da den ikke kan fungere når serverkapasiteten er brukt opp. Faktisk tilbyr Vultr DDoS Protection som er veldig nyttig for bedre beskyttelse av serveren (i tillegg til å bruke denne modulen). For enklere trusler, spesielt skriptbaserte angrep, gjør modulen jobben sin og er definitivt nyttig.
Du har nå installert mod_evasivemodulen i Apache, og dermed gjort nettappen din tryggere.