Ako je tvoj sajt pod DDoS napadom, WHM (Web Host Manager) sam po sebi nema napredne funkcije za mitigaciju DDoS napada kao što to imaju specijalizovani firewall sistemi i CDN servisi (npr. Cloudflare, Imunify360, itd), ali možeš da preduzmeš nekoliko koraka koji mogu pomoći u ublažavanju efekata napada.
1. Poveži WHM server sa Cloudflare-om (ili sličnim CDN-om)
Najefikasniji način zaštite je da postaviš DNS zapise da idu kroz Cloudflare, koji nudi zaštitu od DDoS napada čak i u besplatnoj verziji.
2. Konfiguriši CSF (ConfigServer Security & Firewall)
Ako koristiš CSF (što je jako preporučljivo na WHM serverima), možeš podesiti određene zaštite:
a) Instaliraj CSF ako nije već instaliran:
U WHM-u idi na:
Plugins
→ ConfigServer Security & Firewall
b) Omogući SYN flood zaštitu:
U csf.conf
:
SYNFLOOD = "1"
SYNFLOOD_RATE = "75/s"
SYNFLOOD_BURST = "25"
c) Limitiraj broj konekcija po IP adresi:
CT_LIMIT = "100"
CT_INTERVAL = "30"
CT_BLOCK_TIME = "1800"
d) Block connection tracking (optional):
CONNLIMIT = "80;20,443;20"
Ovo ograničava broj istovremenih veza po portu po IP adresi.
e) Reloaduj CSF:
csf -r
3. Podesi Apache (ili NGINX) za ublažavanje opterećenja
Ako koristiš Apache:
-
U WHM idi na:
Service Configuration
→Apache Configuration
→Global Configuration
-
Smanji:
-
Keep-Alive Timeout
(npr. 2-5 sekundi) -
Max Connections Per Child
-
StartServers
,MinSpareServers
,MaxSpareServers
-
4. Podesi ModSecurity
U WHM idi na:
Security Center
→ ModSecurity™ Vendors
Uključi ModSecurity i koristi neki vendor kao OWASP ModSecurity Core Rule Set (CRS).
5. Privremeno blokiraj napadačke IP adrese
Pomoću netstat
ili top
, identifikuj IP adrese koje šalju nenormalan broj zahteva, i ručno ih blokiraj:
csf -d 123.123.123.123 "DDoS IP"
6. Aktiviraj cPHulk Brute Force Protection
U WHM:
Security Center
→ cPHulk Brute Force Protection
Omogući ga i konfiguriši da blokira IP adrese sa previše neuspelih pokušaja.
7. Imunify360 (plaćeni dodatak)
Ako imaš budžet – razmisli o kupovini Imunify360, koji ima aktivnu DDoS zaštitu i dodatni security sloj za WHM/cPanel servere.
8. Konsultuj se sa hosting provajderom
Ako napad prelazi kapacitete tvoje mreže/servera, zatraži pomoć od hosting provajdera – možda imaju mrežni firewall ili DDoS mitigation sistem.
Kako zaštititi MyVesta ili VestaCP od DDoS napada
Ako koristiš MyVesta ili VestaCP, situacija je slična kao kod WHM – oni sami po sebi nemaju napredne alate za mitigaciju DDoS napada, ali možeš da ih dodatno zaštitiš kombinacijom CSF firewalla, optimizacije web servera (NGINX + Apache ili samo NGINX), i eksternih servisa poput Cloudflare-a.
1. Postavi Cloudflare ispred sajta
Najefikasnija i najlakša zaštita, pogotovo za web sajtove.
-
Na Cloudflare dodaj domen
-
Postavi DNS A zapise da koriste “proxy” (oblačić narandžasto)
-
Uključi “I’m under attack mode” kad si pod napadom
-
Ograniči broj zahteva po IP adresi kroz Rate Limiting
2. Instaliraj i konfiguriši CSF (ConfigServer Firewall)
Ako nije instaliran:
apt install iptables ipset -y
cd /usr/src
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
Osnovna podešavanja (/etc/csf/csf.conf
):
# DDoS zaštita
CT_LIMIT = "100"
CT_INTERVAL = "30"
CT_BLOCK_TIME = "1800"
# SYN floodSYNFLOOD = “1”
SYNFLOOD_RATE = “75/s”
SYNFLOOD_BURST = “25”
# Connlimit (ograničenje veza po portu)
CONNLIMIT = “80;20,443;20”
Restartuj CSF:
csf -r
Blokiraj IP:
csf -d 1.2.3.4 "DDoS napad"
3. Podesi NGINX (ili Apache) za ublažavanje napada
Ako koristiš NGINX kao proxy (što je podrazumevano u MyVesta):
Podesi limit_req
i limit_conn
u NGINX configu (npr. /etc/nginx/conf.d/limits.conf
):
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=1r/s;
server {…
limit_conn addr 10;
limit_req zone=req_limit_per_ip burst=5 nodelay;
…
}
Restartuj NGINX:
systemctl restart nginx
4. Fail2Ban zaštita
MyVesta dolazi sa Fail2Ban – uveri se da je aktivan:
systemctl status fail2ban
Dodaj pravila za NGINX ili email brute-force ako već nisu uključena.
5. Uključi DoS zaštitu u Apache (ako se koristi)
Ako koristiš Apache, možeš instalirati mod_evasive
:
apt install libapache2-mod-evasive
Podešavanja (/etc/apache2/mods-enabled/evasive.conf
):
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 20
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 60
DOSLogDir "/var/log/mod_evasive"
</IfModule>
Kreiraj log folder:
mkdir -p /var/log/mod_evasive
chmod 750 /var/log/mod_evasive
chown www-data:www-data /var/log/mod_evasive
Restartuj Apache:
systemctl restart apache2
6. Ako je napad jak – koristi IPSet za brzo blokiranje
ipset create ddos hash:ip
iptables -I INPUT -m set --match-set ddos src -j DROP
ipset add ddos 1.2.3.4