Atacurile DDoS (Distributed Denial of Service) , prin tactici abuzive de comunicare digitală, supraîncărcează resursele serverului. Aceste tipuri de atacuri sunt raiduri organizate în lumea computerelor. Nenumărate acte de opoziție urâtă se combină pentru a crea o amenințare suficient de formidabilă pentru a forța un server să se oprească.
Cel mai rău dintre toate, există multe mijloace de a duce „războaie” de gherilă împotriva unor astfel de gazde. Din fericire, serverele pot fi configurate pentru a rezista unor astfel de atacuri.
Nginx, un sistem server foarte popular pentru mașinile Unix, vine cu suficientă funcționalitate încorporată pentru a limita semnificativ eficiența atacurilor DDoS.
Iată câteva opțiuni eficiente pentru a gestiona astfel de amenințări cu Nginx.
Cum să preveniți atacurile DDoS cu Nginx?
Backup fișiere de configurare
Înainte de a modifica orice setări, asigurați-vă că faceți o copie de rezervă rapidă a configurației serverului dvs. Următoarea comandă funcționează în acest scop:
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup-original

Odată finalizat, sunteți gata să continuați.
Verificați traficul
Monitorizarea traficului de pe serverul dvs. facilitează optimizarea securității și implementarea strategiilor suplimentare. Nginx are un modul creat special pentru acest scop.
Configurați pagina de stare
Nginx vine de obicei cu un modul numit „stub status” (http_stub_status_module), care permite ca acest tip de funcționalitate să fie integrat destul de ușor în mediul serverului. Mai întâi, testați-l folosind următoarea comandă:
nginx -V
![Cum să preveniți atacurile DDoS cu Nginx Cum să preveniți atacurile DDoS cu Nginx]()
Sau utilizați următoarea comandă pentru a o găsi mai repede:
nginx -V 2>&1 | grep -o with-http_stub_status_module
![Cum să preveniți atacurile DDoS cu Nginx Cum să preveniți atacurile DDoS cu Nginx]()
Dacă rezultatul dvs. arată ca cel de mai sus, atunci totul este în regulă. În caz contrar, va trebui să instalați sau să recompilați instalarea Nginx cu modulul inclus.
Configurarea unei pagini de stare pe care o puteți verifica este simplă, dar trebuie, de asemenea, să limitați accesul la minimum (numai pe computer) pentru a menține securitatea. Începeți prin a deschide fișierul de configurare principal al serverului, găsit la /etc/nginx/nginx.conf.
Deschideți-l și adăugați următorul cod la „directiva http” pentru a activa modulul, înlocuind propriile informații în „localhost”, „/status_page” și „127.0.0.1”.
server {
listen 80;
listen [::]:80;
server_name localhost;
##
# Status Page Settings
##
location /status_page {
stub_status on;
allow 127.0.0.1;
allow ::1;
deny all;
}
}
Notă : veți avea nevoie de privilegii sudo pentru a modifica acest fișier.
![Cum să preveniți atacurile DDoS cu Nginx Cum să preveniți atacurile DDoS cu Nginx]()
Acum, testați-vă configurația:
sudo nginx -t
![Cum să preveniți atacurile DDoS cu Nginx Cum să preveniți atacurile DDoS cu Nginx]()
Dacă totul este bine, trimiteți serverului un semnal de reîncărcare:
sudo systemctl reload nginx
![Cum să preveniți atacurile DDoS cu Nginx Cum să preveniți atacurile DDoS cu Nginx]()
Pentru a vă accesa pagina de stare, vizitați locația server_name urmată de „/status_page” într-un browser web sau utilizând un instrument de linie de comandă precum curl. (Acest lucru este util dacă memoria cache a browserului nu este actualizată automat). Iată comanda curl pentru a accesa pagina din exemple:
curl localhost/status_page
![Cum să preveniți atacurile DDoS cu Nginx Cum să preveniți atacurile DDoS cu Nginx]()
În browser, rezultatul comenzii de mai sus arată ca imaginea următoare.
![Cum să preveniți atacurile DDoS cu Nginx Cum să preveniți atacurile DDoS cu Nginx]()
Verificați jurnalele de acces
Dacă observați trafic neobișnuit când verificați pagina de stare configurată mai sus, vă recomandăm să verificați jurnalul de acces al serverului. Jurnalul de acces la server poate fi găsit la „/var/log/nginx/access.log”. Jurnalul listează metodele HTTP utilizate, data/ora încercărilor de acces, agentul utilizator și paginile accesate.
![Cum să preveniți atacurile DDoS cu Nginx Cum să preveniți atacurile DDoS cu Nginx]()
Limitele de conectare
Printre numeroasele tactici utile pentru a preveni atacurile DDoS care merită încercate, una dintre cele mai simple și mai eficiente este limitarea ratei traficului de intrare.
În mod ideal, ar trebui să limitați accesul doar suficient pentru a împiedica roboții rău intenționați să vă copleșească serverul, menținând în același timp tarife rezonabile. În Nginx, acest lucru se poate face cu directivele limit_req_zone și limit_req . Următorul cod stabilește constrângerile de memorie și viteză pentru utilizare în orice locație pentru care este configurat serverul dvs.:
limit_req_zone $binary_remote_addr zone=speedbump:10m rate=10r/s;
„Zonă” specifică numele și capacitatea (în Megaocteți în acest caz) spațiului de memorie în care sunt stocate cererile utilizatorului. „Rata” stabilește numărul total de solicitări pe care Nginx le va accepta pe secundă (10 solicitări în acest exemplu). Gândiți-vă la acest cod ca la o regulă și ceea ce urmează este utilizarea acelei reguli:
limit_req zone=speedbump burst=20;
Codul de mai sus face de fapt ceva mai mult decât implementarea unei reguli de limită. De asemenea, adaugă o mică coadă de până la 20 de solicitări pentru a gestiona cu grație conexiunile legitime, care se redau puțin mai rapid decât în mod normal, depășind atât regulile, cât și coada, rezultând o eroare 503 pentru client. Ambele directive arată astfel în nginx.conf:
![Cum să preveniți atacurile DDoS cu Nginx Cum să preveniți atacurile DDoS cu Nginx]()
Creați o listă neagră de adrese IP
Dacă obțineți adresa IP care efectuează atacul DDoS pe serverul dvs., puteți pur și simplu să o puneți pe lista neagră și să eliminați orice conexiuni care provin de la această adresă IP.
Adăugați următorul cod la directiva de server:
location / {
deny 123.123.123.0/28;
# ...
}
Blocați cererile pentru anumite fișiere
Dacă atacul DDoS vizează anumite fișiere de pe server - de exemplu fișierul xmlrpc.php de pe WordPress (acesta este un fișier vizat în mod obișnuit în majoritatea serverelor WordPress), le puteți bloca pe toate.toate cerințele pentru acesta. Adăugați acest cod la directiva de server:
location /xmlrpc.php {
deny all;
}
Urmați procesul de mai sus și veți putea limita majoritatea atacurilor DDoS. Asigurați-vă că consultați documentația Nginx pentru opțiuni de securitate suplimentare pe care le puteți aplica.
Sper că aveți succes.