Înapoi la blog
Ianuarie 19, 2026Ghiduri

Cum să îți protejezi VPS-ul de atacuri DDoS: Ghid practic

Ghid cuprinzător despre protejarea VPS-ului tău de atacuri DDoS folosind firewall-uri, limitarea rate-ului și alte metode dovedite.

Cum să îți protejezi VPS-ul de atacuri DDoS: Ghid practic

Atacurile DDoS (Distributed Denial of Service) pot scoate serverul tău offline în câteva minute, ducând la pierderea veniturilor, nemulțumirea clienților și deteriorarea reputației. În 2026, astfel de atacuri au devenit mai sofisticate și accesibile. Din fericire, metodele moderne de protecție au evoluat și ele. Acest ghid îți va arăta cum să îți protejezi VPS-ul Hiddence de cele mai comune tipuri de atacuri DDoS.

Ce este un atac DDoS?

Un atac DDoS apare când mai multe computere (botnet) trimit simultan cereri către serverul tău, copleșind resursele sale și făcându-l indisponibil pentru utilizatorii legitimi.

Tipuri principale de atacuri DDoS

  • Atacuri volumetrice (L3/L4): Inundație UDP, ICMP, inundație SYN — copleșesc lățimea de bandă a rețelei
  • Atacuri la nivelul aplicației (L7): Inundație HTTP, Slowloris — țintesc stratul aplicației
  • Atacuri de protocol: Exploatează vulnerabilitățile din protocoalele de rețea

Protecția integrată Hiddence

Toate VPS-urile Hiddence includ protecție DDoS de bază la nivelul 3-4 (nivel de rețea). Acest lucru filtrează automat majoritatea atacurilor volumetrice. Cu toate acestea, atacurile la nivelul 7 (aplicație) necesită configurare suplimentară.

Pasul 1: Configurarea firewall-ului

Prima linie de apărare este configurarea corectă a firewall-ului. UFW (Uncomplicated Firewall) este un instrument simplu și eficient pentru Ubuntu/Debian.

bash
# Instalează UFW
sudo apt update && sudo apt install ufw -y

# Permite SSH (IMPORTANT! Fă asta înainte de a activa UFW)
sudo ufw allow 22/tcp

# Permite HTTP și HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# Activează UFW
sudo ufw enable

# Verifică starea
sudo ufw status verbose

# Reguli avansate de protecție:
# Limitează conexiunile SSH (protecție brute force)
sudo ufw limit 22/tcp

# Blochează inundațiile ping ICMP
sudo nano /etc/ufw/before.rules
# Adaugă după *filter:
-A ufw-before-input -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP

# Protecție împotriva inundației SYN
sudo nano /etc/sysctl.conf
# Adaugă:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5

# Aplică modificările
sudo sysctl -p

Pasul 2: Instalează Fail2Ban

Fail2Ban blochează automat adresele IP care prezintă activitate suspectă (multiple încercări de autentificare eșuate, scanare porturi).

bash
# Instalează
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

# Configurare pentru protecție SSH și HTTP
# Creează configurație locală
sudo nano /etc/fail2ban/jail.local

# Adaugă:
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5
banaction = ufw

[sshd]
enabled = true
port = 22
logpath = /var/log/auth.log

[nginx-http-auth]
enabled = true
filter = nginx-http-auth
port = http,https
logpath = /var/log/nginx/error.log

[nginx-limit-req]
enabled = true
filter = nginx-limit-req
port = http,https
logpath = /var/log/nginx/error.log

# Repornește Fail2Ban
sudo systemctl restart fail2ban

# Verifică starea
sudo fail2ban-client status

Pasul 3: Protecție Nginx

Dacă folosești Nginx, configurează limitarea rate-ului pentru a proteja împotriva atacurilor de inundație HTTP.

bash
sudo nano /etc/nginx/nginx.conf

# Adaugă în blocul http:
http {
    # Limită cereri: 10 cereri pe secundă per IP
    limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
    
    # Limită conexiuni
    limit_conn_zone $binary_remote_addr zone=addr:10m;
    
    # Protecție Slowloris
    client_body_timeout 10s;
    client_header_timeout 10s;
    keepalive_timeout 5s 5s;
    send_timeout 10s;
    
    # Restul configurației...
}

# În blocul server adaugă:
server {
    location / {
        # Aplică limită cereri
        limit_req zone=one burst=20 nodelay;
        
        # Limită conexiuni: max 10 per IP
        limit_conn addr 10;
        
        # Configurația ta...
    }
}

# Testează configurația și reîncarcă
sudo nginx -t
sudo systemctl reload nginx

Pasul 4: Folosește CDN

Pentru protecție maximă, folosește un serviciu CDN precum Cloudflare. CDN-ul acționează ca proxy, ascunzând IP-ul real al serverului tău și absorbind majoritatea atacurilor DDoS. Beneficii: ascunde IP-ul real, filtrare automată a traficului malițios, distribuție sarcină, SSL/TLS gratuit, WAF pentru protecție L7.

  • Înregistrează-te pe cloudflare.com (plan gratuit disponibil)
  • Adaugă domeniul tău și schimbă înregistrările NS la registrarul tău
  • Activează modul 'Proxy' (nor portocaliu) pentru înregistrările DNS
  • Setează modul SSL la 'Full (strict)' în secțiunea SSL/TLS
  • Activează 'Protecție DDoS' și 'Mod luptă bot' în setările de securitate

Pasul 5: Monitorizare

Monitorizarea regulată ajută la detectarea timpurie a atacurilor.

bash
# Monitorizează conexiuni active
watch -n 1 'ss -s'

# Vezi IP-urile de top după numărul de conexiuni
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

# Vezi jurnalele în timp real
sudo tail -f /var/log/nginx/access.log
sudo journalctl -u nginx -f

# Verifică IP-urile blocate în Fail2Ban
sudo fail2ban-client status sshd

Măsuri de urgență

Dacă un atac este deja în desfășurare, ia următoarele măsuri:

  • Identifică sursa: Folosește 'netstat' sau jurnale pentru a identifica IP-urile care atacă
  • Blocare temporară: sudo ufw insert 1 deny from IP_ATACANT
  • Blochează subrețele întregi: sudo ufw deny from 123.45.0.0/16
  • Limitează limitarea rate-ului: Scade temporar limitele Nginx la 1-5 req/s
  • Contactează suportul: Contactează suportul Hiddence pentru activarea protecției avansate
  • Activează 'Mod sub atac' în Cloudflare (dacă folosești)

Cele mai bune practici

  • Nu publica niciodată IP-ul real al serverului dacă folosești CDN
  • Actualizează regulat sistemul: sudo apt update && sudo apt upgrade
  • Folosește chei SSH în loc de parole pentru accesul la server
  • Schimbă portul SSH implicit (22) cu unul non-standard
  • Configurează backup-uri automate pentru recuperare rapidă
  • Folosește IP-uri separate pentru servicii critice
  • Activează jurnalizarea și verifică regulat jurnalele pentru activitate suspectă
  • Ia în considerare folosirea blocării geografice dacă serviciul tău nu este global