Назад да блога
Студзень 19, 2026Кіраўніцтва

Як абараніць ваш VPS ад DDoS-атак: Практычнае кіраўніцтва

Поўнае кіраўніцтва па абароне вашага VPS ад DDoS-атак з выкарыстаннем фаерволаў, абмежавання хуткасці і іншых правераных метадаў.

Як абараніць ваш VPS ад DDoS-атак: Практычнае кіраўніцтва

DDoS-атакі (размеркаваная атака тыпу «адмова ў абслугоўванні») могуць вывесці ваш сервер з ладу за лічаныя хвіліны, што прывядзе да страты прыбытку, нездаволенасці кліентаў і шкоды рэпутацыі. У 2026 годзе такія атакі сталі больш складанымі і даступнымі. На шчасце, сучасныя метады абароны таксама эвалюцыянавалі. Гэта кіраўніцтва пакажа вам, як абараніць ваш Hiddence VPS ад найбольш распаўсюджаных тыпаў DDoS-атак.

Што такое DDoS-атака?

DDoS-атака адбываецца, калі некалькі кампутараў (ботнэт) адначасова адпраўляюць запыты на ваш сервер, перагружаючы яго рэсурсы і робячы яго недаступным для легітымных карыстальнікаў.

Асноўныя тыпы DDoS-атак

  • Аб'ёмныя атакі (L3/L4): UDP flood, ICMP, SYN flood — перагружаюць прапускную здольнасць сеткі
  • Атакі на прыкладным узроўні (L7): HTTP flood, Slowloris — нацэлены на прыкладны ўзровень
  • Атакі на пратаколы: Выкарыстоўваюць уразлівасці ў сеткавых пратаколах

Убудаваная абарона Hiddence

Усе VPS Hiddence ўключаюць базавую абарону ад DDoS узроўню 3-4 (сеткавы ўзровень). Гэта аўтаматычна фільтруе большасць аб'ёмных атак. Аднак атакі ўзроўню 7 (прыкладнога) патрабуюць дадатковай канфігурацыі.

Крок 1: Налада фаервола

Першая лінія абароны - гэта правільная канфігурацыя фаервола. UFW (Uncomplicated Firewall) - гэта просты і эфектыўны інструмент для Ubuntu/Debian.

bash
# Усталяваць 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-злучэнні (абарона ад brute-force)
sudo ufw limit 22/tcp

# Блакаваць ICMP ping флуд
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-адрасы, якія праяўляюць падазроную актыўнасць (некалькі няўдалых спроб уваходу, сканіраванне партоў).

bash
# Усталяваць
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, наладзьце абмежаванне хуткасці (rate limiting) для абароны ад HTTP-флуд атак.

bash
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: Маніторынг

Рэгулярны маніторынг дапамагае выявіць атакі на ранняй стадыі.

bash
# Маніторынг актыўных злучэнняў
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
  • Абмяжуйце rate limit: Часова панізьце ліміты Nginx да 1-5 req/s
  • Звяжыцеся з падтрымкай: Звярніцеся ў падтрымку Hiddence для актывацыі прасунутай абароны
  • Уключыце 'Under Attack Mode' у Cloudflare (калі выкарыстоўваеце)

Лепшыя практыкі

  • Ніколі не публікуйце рэальны IP вашага сервера, калі выкарыстоўваеце CDN
  • Рэгулярна абнаўляйце сістэму: sudo apt update && sudo apt upgrade
  • Выкарыстоўвайце SSH-ключы замест пароляў для доступу да сервера
  • Зменіце стандартны порт SSH (22) на нестандартны
  • Наладзьце аўтаматычныя бэкапы для хуткага аднаўлення
  • Выкарыстоўвайце асобныя IP для крытычных сэрвісаў
  • Уключыце лагіраванне і рэгулярна правярайце логі на наяўнасць падазронай актыўнасці
  • Разгледзьце магчымасць выкарыстання геаграфічнай блакіроўкі, калі ваш сэрвіс не глабальны