Как да защитите вашия VPS от DDoS атаки: Пракческо ръководство
Изчерпателно ръководство за защита на вашия VPS от DDoS атаки с помощта на защитни стени, ограничаване на скоростта и други доказани методи.

DDoS атаките (Distributed Denial of Service) могат да свалят вашия сървър офлайн за минути, което води до загуба на приходи, недоволство на клиентите и увреждане на репутацията. През 2026 г. такива атаки станаха по-сложни и достъпни. За щастие, съвременните методи за защита също са се развили. Това ръководство ще ви покаже как да защитите вашия Hiddence VPS от най-често срещаните видове DDoS атаки.
Какво е DDoS атака?
DDoS атака възниква, когато множество компютри (ботнет) едновременно изпращат заявки към вашия сървър, претоварвайки ресурсите му и правейки го недостъпен за легитимни потребители.
Основни типове DDoS атаки
- Обемни атаки (L3/L4): UDP flood, ICMP, SYN flood — претоварват мрежовата честотна лента
- Атаки на приложния слой (L7): HTTP flood, Slowloris — насочени към приложния слой
- Протоколни атаки: Използват уязвимости в мрежовите протоколи
Вградена защита на Hiddence
Всички Hiddence VPS включват основна Layer 3-4 DDoS защита (мрежово ниво). Това автоматично филтрира повечето обемни атаки. Въпреки това, Layer 7 (приложните) атаки изискват допълнителна конфигурация.
Стъпка 1: Настройка на защитна стена
Първата линия на защита е правилната конфигурация на защитната стена. UFW (Uncomplicated Firewall) е прост и ефективен инструмент за Ubuntu/Debian.
# Инсталиране на UFW
sudo apt update && sudo apt install ufw -y
# Разрешаване на SSH (ВАЖНО! Направете това преди да активирате UFW)
sudo ufw allow 22/tcp
# Разрешаване на HTTP и HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Активиране на UFW
sudo ufw enable
# Проверка на състоянието
sudo ufw status verbose
# Разширени правила за защита:
# Ограничаване на SSH връзки (защита от груба сила)
sudo ufw limit 22/tcp
# Блокиране на ICMP ping floods
sudo nano /etc/ufw/before.rules
# Добавете след *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
# Защита срещу SYN flood
sudo nano /etc/sysctl.conf
# Добавете:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5
# Прилагане на промените
sudo sysctl -pСтъпка 2: Инсталиране на Fail2Ban
Fail2Ban автоматично блокира IP адреси, показващи подозрителна активност (множество неуспешни опити за влизане, сканиране на портове).
# Инсталиране
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
# Конфигурация за SSH и HTTP защита
# Създаване на локална конфигурация
sudo nano /etc/fail2ban/jail.local
# Добавете:
[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
# Рестартиране на Fail2Ban
sudo systemctl restart fail2ban
# Проверка на състоянието
sudo fail2ban-client statusСтъпка 3: Защита на Nginx
Ако използвате Nginx, конфигурирайте ограничаване на скоростта, за да се предпазите от HTTP flood атаки.
sudo nano /etc/nginx/nginx.conf
# Добавете към http блока:
http {
# Лимит на заявки: 10 заявки в секунда на IP
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
# Лимит на връзки
limit_conn_zone $binary_remote_addr zone=addr:10m;
# Защита от Slowloris
client_body_timeout 10s;
client_header_timeout 10s;
keepalive_timeout 5s 5s;
send_timeout 10s;
# Останалата част от конфигурацията...
}
# В server блока добавете:
server {
location / {
# Прилагане на лимит на заявки
limit_req zone=one burst=20 nodelay;
# Лимит на връзки: макс 10 на IP
limit_conn addr 10;
# Вашата конфигурация...
}
}
# Тест на конфигурация и презареждане
sudo nginx -t
sudo systemctl reload nginxСтъпка 4: Използване на CDN
За максимална защита използвайте CDN услуга като Cloudflare. CDN действа като прокси, криейки реалния IP на сървъра ви и абсорбирайки повечето DDoS атаки. Предимства: скриване на реален IP, автоматично филтриране на злонамерен трафик, разпределение на натоварването, безплатен SSL/TLS, WAF за L7 защита.
- Регистрирайте се на cloudflare.com (наличен безплатен план)
- Добавете своя домейн и променете NS записите при вашия регистратор
- Активирайте режим 'Proxy' (оранжев облак) за DNS записите
- Задайте SSL режим на 'Full (strict)' в раздел SSL/TLS
- Активирайте 'DDoS Protection' и 'Bot Fight Mode' в настройките за сигурност
Стъпка 5: Мониторинг
Редовният мониторинг помага за ранното откриване на атаки.
# Мониторинг на активни връзки
watch -n 1 'ss -s'
# Преглед на топ IP-та по брой връзки
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
# Преглед на логове в реално време
sudo tail -f /var/log/nginx/access.log
sudo journalctl -u nginx -f
# Проверка на блокирани IP-та във Fail2Ban
sudo fail2ban-client status sshdСпешни мерки
Ако атака вече е в ход, предприемете следните мерки:
- Идентифицирайте източника: Използвайте 'netstat' или логове за идентифициране на атакуващи IP-та
- Временна блокада: sudo ufw insert 1 deny from ATTACKING_IP
- Блокиране на цели подмрежи: sudo ufw deny from 123.45.0.0/16
- Ограничете скоростта: Временно намалете Nginx лимитите до 1-5 req/s
- Свържете се с поддръжката: Свържете се с поддръжката на Hiddence за активиране на разширена защита
- Активирайте 'Under Attack Mode' в Cloudflare (ако използвате)
Най-добри практики
- Никога не публикувайте реалния IP на сървъра си, ако използвате CDN
- Редовно актуализирайте системата: sudo apt update && sudo apt upgrade
- Използвайте SSH ключове вместо пароли за достъп до сървъра
- Променете стандартния SSH порт (22) на нестандартен
- Настройте автоматични архиви за бързо възстановяване
- Използвайте отделни IP-та за критични услуги
- Активирайте логване и редовно проверявайте логовете за подозрителна дейност
- Обмислете използването на географско блокиране, ако услугата ви не е глобална