Configurați mod_evasive pentru a preveni atacul DoS și DDoS pe CentOS

În acest articol, vom învăța cum să instalați și să configurați mod_evasive pentru a preveni atacul DoS și DDoS pe CentOS.

Pentru această demonstrație, am folosit server dedicat CentOS 7 pe 64 de biți.

Să începem.

Modulul Apache mod_evasiv. Acesta ajută la susținerea atacului de negare a serviciului distribuit (DoS & DDoS) și atacuri de forță brută pe serverul web Apache. Mod_evasive funcționează monitorizând solicitările primite și raportează abuzul prin e-mail și facilități syslog. Acesta este destinat să fie un instrument de detectare și gestionare a rețelei și configurat rapid pentru a comunica cu ipchain-uri, firewall-uri, routere și multe altele.

Mod_evasive urmărește solicitările suspecte și refuză orice adresă IP dintr-una dintre următoarele:

  • Solicitarea aceleiași pagini de mai multe ori pe secundă
  • Efectuarea a mai mult de 50 de cereri simultane pentru același copil pe secundă
  • Efectuarea oricăror cereri în timp ce pe lista neagră este temporară

Condiții prealabile

  • CentOS 7 server dedicat pe 64 de biți sau server cloud (funcționează și cu CentOS 6)
  • Apache Webserver LAMP (Linux, Apache, MySQL, PHP) instalat și configurat
  • Server de mail

1. Păstrați serverul actualizat:

# yum update -y

2. Instalați EPEL (pachete suplimentare pentru Enterprise Linux):

# yum install epel-release -y

3. Instalați premisa pentru mod_evasive:

# yum install httpd-devel

4. Instalați mod_evasive:

# yum install mod_evasive -y

Acum, mod_evasive este instalat

5. Pentru a adăuga configurația mod_evasive la fișierul de configurare Apache:

În mod implicit, linia LoadModule va fi adăugată în fișierul de configurare mod_evasive.conf. Deschideți fișierul și adăugați următoarea linie dacă nu este deja prezentă.

# vi /etc/httpd/conf.d/mod_evasive.conf

LoadModule evasive20_module modules/mod_evasive24.so

Deschideți fișierul de configurare mod_evasive.conf și verificați următoarele intrări.

DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 60
DOSEmailNotify

Puteți configura intrările de mai sus conform cerințelor dvs. Modificați DOSEmail Notificați la ID-ul dvs. de e-mail.

Pentru a adăuga adresa IP pe lista albă, adăugați următoarea linie în fișierul de configurare:

DOSWhitelist 127.0.0.1

DOSWhitelist 127.0.0.*

Puteți adăuga și adrese IP multiple.

Încă o intrare trebuie să schimbe DOSLogDir. În mod implicit, se referă la / tmp pentru un mecanism de blocare.

Creați un director nou în / var / log / :

# mkdir /var/log/mod_evasive

Setați calitatea de proprietar la utilizatorul apache:

# chown -R apache:apache /var/log/mod_evasive

Acum, editați următoarea linie în configurația mod_evasive și modificați calea directorului:

DOSLogDir  /var/log/mod_evasive

Salvați și ieșiți din fișierul de configurare mod_evasive.

Apoi, reporniți Apache:

# systemctl restart httpd.service

Gata, mod_evasive instalat și configurat.

Aflați mai multe despre opțiunile de configurare mod_evasive
Aceste descrieri ale opțiunilor de configurare au fost preluate direct din fișierul README.

DOSHashTableSize

Dimensiunea tabelului hash definește numărul de noduri de nivel superior pentru tabelul hash al fiecărui copil. Creșterea acestui număr va oferi o performanță mai rapidă prin scăderea numărului de iterații necesare pentru a ajunge la înregistrare, dar consumă mai multă memorie pentru spațiul de masă. Ar trebui să măriți acest lucru dacă aveți un server web ocupat. Valoarea pe care o specificați va fi încadrată automat până la următorul număr prim din lista primelor (a se vedea mod_evasive.c pentru o listă de primeri utilizați).

DOSPageCount

Acesta este pragul pentru numărul de solicitări pentru aceeași pagină (sau URI) pe interval de pagină. Odată ce pragul pentru acel interval a fost depășit, adresa IP a clientului va fi adăugată la lista de blocare.

DOSSiteCount

Acesta este pragul pentru numărul total de solicitări pentru orice obiect de la același client pe același ascultător pe interval de site. Odată ce pragul pentru acel interval a fost depășit, adresa IP a clientului va fi adăugată la lista de blocare.

DOSPageInterval

Intervalul pentru pragul de numărare a paginilor; implicit la intervale de 1 secundă.

DOSSiteInterval

Intervalul pentru pragul de numărare a site-ului; implicit la intervale de 1 secundă.

DOSBlockingPeriod

Perioada de blocare este perioada de timp (în secunde) pentru care un client va fi blocat dacă este adăugat la lista de blocare. În acest timp, toate cererile ulterioare de la client vor avea ca rezultat un 403 (Interzis) și temporizatorul este resetat (de exemplu, alte 10 secunde). Deoarece temporizatorul este resetat pentru fiecare solicitare ulterioară, nu este necesar să aveți o perioadă lungă de blocare; în cazul unui atac DoS, acest cronometru va continua să fie resetat.

DOSEmailNotificați

Dacă această valoare este setată, un e-mail va fi trimis la adresa specificată ori de câte ori o adresă IP devine pe lista neagră. Un mecanism de blocare care utilizează / tmp împiedică trimiterea e-mailurilor continue.

Notă:

Asigurați-vă că MAILER este setat corect în mod_evasive.c (sau mod_evasive20.c). Implicit este „/ bin / mail -t% s” unde% s este utilizat pentru a indica adresa de e-mail de destinație setată în configurație. Dacă rulați pe Linux sau pe un alt sistem de operare cu un alt tip de mailer, va trebui să schimbați acest lucru.

Comandă DOSSystem

Dacă această valoare este setată, comanda de sistem specificată va fi executată ori de câte ori o adresă IP devine pe lista neagră. Acesta este conceput pentru a permite apelurile de sistem către filtrul IP sau alte instrumente. Un mecanism de blocare care utilizează / tmp previne apelurile continue ale sistemului. Utilizați% s pentru a indica adresa IP a IP-ului din lista neagră.

DOSLogDir

Alegeți un director temporar alternativ
În mod implicit va fi folosit „/ tmp” pentru mecanismul de blocare, care deschide unele probleme de securitate dacă sistemul dvs. este deschis utilizatorilor shell. În cazul în care aveți utilizatori shell neprivilegiați, veți dori să creați un director care poate fi scris numai pentru utilizatorul pe care Apache îl rulează ca (de obicei root), apoi setați acest lucru în httpd.conf.

În acest articol, am prezentat modul în care inginerul nostru de asistență instalează și configurează mod_evasive pentru a preveni atacul DoS și DDoS pe CentOS.


FIX: „Editorul a întâmpinat o eroare neașteptată” în WordPress după actualizare

FIX: „Editorul a întâmpinat o eroare neașteptată” în WordPress după actualizare

Nu puteți scrie o postare nouă folosind noul Editor de blocuri din WordPress? Sunt șanse să obțineți „Editorul

Cum să setați Editorul clasic ca Editor implicit în WordPress în loc de Gutenberg

Cum să setați Editorul clasic ca Editor implicit în WordPress în loc de Gutenberg

Editorul Gutenberg va deveni în curând editorul implicit în WordPress. Veți avea opțiunea de a selecta Editorul clasic

Cum să reîmprospătați elementele folderului în Windows 11

Cum să reîmprospătați elementele folderului în Windows 11

Cu opțiunea Reîmprospătare din meniul contextual lipsește, iată cum puteți reîmprospăta elementele în File Explorer pe Windows 11.

🔧 REPARAȚIE: Instalarea dvs. PHP pare să lipsească extensia MySQL care este cerută de WordPress

🔧 REPARAȚIE: Instalarea dvs. PHP pare să lipsească extensia MySQL care este cerută de WordPress

Doriți să rulați un site WordPress autogestionat? Grozav. Vei învăța un milion de lucruri. Una dintre părțile critice ale setarii

Cum să dezactivați Block Editor și să instalați Classic Editor în WordPress 5.0

Cum să dezactivați Block Editor și să instalați Classic Editor în WordPress 5.0

Începând cu WordPress 5.0, editorul implicit pe WordPress este noul editor Block. Noul editor este radical diferit

Cum să remediați problemele WordPress 5.0

Cum să remediați problemele WordPress 5.0

WordPress 5.0 se lansează în sfârșit și aduce cu sine o nouă experiență de editare cu Gutenberg

Cum să remediați eroarea de colare „utf8mb4_0900_ai_ci” la importul bazei de date WordPress

Cum să remediați eroarea de colare „utf8mb4_0900_ai_ci” la importul bazei de date WordPress

Dacă comutați instalarea WordPress de la un server MySQL 8 la MySQL 5.7 (sau mai jos), cel mai probabil veți întâlni

Cum să activați etichetele scurte PHP

Cum să activați etichetele scurte PHP

În acest articol, am prezentat cum să activați etichetele scurte PHP. PHP analizează fișierul folosind deschiderea și închiderea etichetelor, care arată. Pentru a activa etichetele scurte PHP

Configurați mod_evasive pentru a preveni atacul DoS și DDoS pe CentOS

Configurați mod_evasive pentru a preveni atacul DoS și DDoS pe CentOS

În acest articol, vom învăța cum să instalați și să configurați mod_evasive pentru a preveni atacul DoS și DDoS pe CentOS. Modulul Apache mod_evasiv.

Cum se instalează PHP cu PHP-FPM pentru NGINX pe CentOS

Cum se instalează PHP cu PHP-FPM pentru NGINX pe CentOS

cum se instalează PHP cu PHP-FPM pentru NGINX pe CentOS. Configurația de bază a serverului web NGINX pentru a procesa aplicația PHP și a le server pe portul 80.