Краткое руководство по борьбе с DDOS-атаками на http-сервер

Материал из Энциклопедия хостинга
Перейти к: навигация, поиск


Иногда бывает, что на некоторые сайты злоумышленниками проводятся атаки. Рассмотрим краткие способы выявления проблемного сайта на вашем сервере и восстановления работоспособности остальных сайтов.

Содержание

Проявление атаки

Проявляется в огромном количестве процессов apache, сервер недоступен из-за превышения максимального числа процессов, или, что наиболее вероятно, недоступен из-за нехватки оперативной памяти.

Популярные методы DDoS атак на Web-сервер

Флуд по количеству подключений

  • Данная атака использует уязвимость сервера на виртуализации: исчерпание всех свободных подключений к Web-серверу
  • Это приводит к ответам вида error 324 err_empty_response
  • Apache в таком случае реагирует на новые входящие соединения через раз

Флуд по запуску долгих скриптов

  • Данная атака использует небольшое количество подключений к скриптам, которые выполняются длительное время
  • Это приводит к исчерпанию ресурсов оперативной памяти и CPU
  • Apache полностью перестает реагировать на запросы
  • Сильно нагружает родительский сервер

Slow HTTP Post

  • Данная атака пока не сильно распространена. Она использует подключения к Web-серверу с целью занять свободные слоты для подключений
  • В таком случае нагрузка на сервер не слишком большая, но Apache полностью перестает реагировать на запросы

Диагностика

Если есть возможность зайдите на сервер по ssh. Командами ps и top отметьте большое количество процессов httpd. Если на сервер по ssh войти не удается, то воспользуйтесь VDSmanager (ссылка на него есть в клиентской зоне)

Посмотрите меню Запущенные процессы и Текущая нагрузка. Перезагрузите сервер через VMmanager/VDSmanager, попробуйте зайти по ssh, если падает, из-за apache, то остановите его, как вариант, можете убить все процессы httpd через него же.)

netstat -na | grep ':80 '
netstat -na

Эти команды покажут вывод, направление и состояние всех установленных на 80 порту или на всех портах соединений.

ps aux | grep httpd | wc -l
netstat -na | grep ":80 " | wc -l

Эти команды считают количество процессов httpd и количество подключений на 80 порт. Если количество соединение превышает среднестатистическое, вероятно, это DoS/DDoS-атака. Также http-флуд можно выявить по косвенным признакам:

watch 'ls -laS /home/httpd-logs/' (для FreeBSD)
watch 'ls -laS /var/www/httpd-logs/' (для Linux)

Эти команды каждые 2 секунды будут выводить список логов apache, если размер верхнего access файла быстро растет, почти наверняка атака идет на этот сайт. Примечание: во FreeBSD пакет watch выполняет другие функции. Следует использовать пакет cmdwatch.

tcpdump -n port 80 -c 200 -w ddos.log

данная команда также поможет в выявлении DoS/DDoS. Tcpdump запишет в файл ddos.log первые 200 пакетов, которые соединений на 80 порту.

tcpdump -nr ddos.log | awk '{print $3}' |grep -oE '[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}' |sort |uniq -c |sort -rn

а так лог-файл можно прочитать и отсортировать по ip и количеству подключений.

Действия администратора

Для FreeBSD включите firewall - отредактируйте /etc/rc.conf прописав в нем строки (редактировать файлы можно через VDSmanager)

firewall_enable="YES"
firewall_type="/etc/firewall.conf"

Создайте файл /etc/firewall.conf и пропишите в нем

add allow ip from ip-адрес с_которого_администрируете_сервер
add deny tcp from any to me 80

Тем самым после перезагрузки сервера у вас будет недоступен apache извне и не будет приводить к зависанию сервера.

Подключение mod_status в Apache 2.2

Теперь надо определить на какой именно сайт идет атака. У apache есть замечательный модуль mod_status http://httpd.apache.org/docs/2.2/mod/mod_status.html

mod_status позволяет в реальном времени осуществлять мониторинг загрузки сервера.

В apache2.2 отредактируйте /usr/local/etc/apache22/httpd.conf

Раскомментируйте строки

#LoadModule status_module libexec/apache22/mod_status.so
#Include etc/apache22/extra/httpd-info.conf

Отредактируйте файл конфигурации /usr/local/etc/apache22/extra/httpd-info.conf

<Location /server-status>
   SetHandler server-status
   Order deny,allow
   Deny from all
   Allow from .example.com
</Location>

Поменяйте на

<Location /server-status>
   SetHandler server-status
</Location>

Раскомментируйте строку

#ExtendedStatus On

Перезапустите apache

Подключение mod_status в apache 1.3

В apache 1.3 подключение server_status осуществляется аналогично apache 2.2, за исключением того, что все настраивается только в /usr/local/etc/apache/httpd.conf

Использование server-status

Теперь по адресу

http://ip-aдрес.сервера/server-status доступна статистика запросов к нему.

Аккуратно удалите правило запрещащие запросы к серверу по 80 порту

# ipfw delete 200

И посмотрите http://ip-aдрес.сервера/server-status

Нас интересует следующее

0-0    86795    0/31/31    W     0.54    0    0    0.0    0.09    0.09     89.18.166.89    example.com    GET / HTTP/1.0
1-0    86796    0/19/19    W     0.30    0    0    0.0    0.06    0.06     79.140.78.68    example.com    GET / HTTP/1.0
2-0    86801    0/9/9    W     0.15    0    0    0.0    0.03    0.03     89.18.166.89    example.com    GET / HTTP/1.0
3-0    86802    0/9/9    W     0.14    0    0    0.0    0.03    0.03     82.12.33.48    myhost.com    GET /server-status/ HTTP/1.1
4-0    86805    0/4/4    W     0.07    1    0    0.0    0.01    0.01     79.140.78.68    example.com    GET / HTTP/1.0
5-0    86806    0/3/3    W     0.06    2    0    0.0    0.01    0.01     89.18.166.89    example.com    GET / HTTP/1.0
6-0    86807    0/4/4    W     0.07    0    0    0.0    0.01    0.01     89.18.166.89    example.com    GET / HTTP/1.0
7-0    86808    1/4/4    C     0.08    0    2015    3.0    0.01    0.01     89.18.166.89    example.com    GET / HTTP/1.0
8-0    86811    0/1/1    W     0.02    0    0    0.0    0.00    0.00     89.18.166.89    example.com    GET / HTTP/1.0
9-0    86812    0/1/1    W     0.02    0    0    0.0    0.00    0.00     89.18.166.89    example.com    GET / HTTP/1.0
10-0    86813    0/1/1    W     0.02    0    0    0.0    0.00    0.00     89.18.166.89    example.com    GET / HTTP/1.0 

В данном случае, атака идет пустыми запросами GET / к серверу example.com

Вам следует его отключить. Выполнить это лучше всего создав файл .htaccess в корневой директории домена с содержимым

Deny from All

Теперь при обращении к сайту будет выдаваться ошибка 403 Forbidden и нагрузка на остальные сайты значительно снизится.

Как правило, флуд-боты обращаются по имени сервера, соответственно, пропишите DNS для этого домена на IP-адрес 127.0.0.1 и когда обновится кэш DNS, то поток пустых запросов полностью прекратится.

Фильтрация

iptables -A INPUT -p tcp --src xxx.xxx.xxx.xxx --dport 80 -j DROP

так можно зафильтровать 80 порт для ip xxx.xxx.xxx.xxx

ipfw add deny tcp from xxx.xxx.xxx.xxx to me dst-port 80 

то же для FreeBSD.

Команды ниже, создает таблицу для ipfw, которой запрещен доступ к серверу по 80 порту и раз в 30 секунд анализирует лог доступа к сайту на наличие ip, появившихся в логе более 50 раз.

ipfw 10 add deny ip from "table(1)" to me dst-port 80
while true; do tail -10000 /home/httpd-logs/site.ru.access.log | sort | cut -f 1 -d " " | uniq -c | awk '($1>50){print $2}' | xargs -n 1 ipfw table 1 add; sleep 30; done 

или занесите в cron такое задание:

 netstat -an | grep -E '\.80 ' | awk '{print $5}' | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' | sort | uniq -c | sort -n | tail | awk '($1>50){print $2}' | xargs -I _ ipfw table 1 add _ 

Команды выше будут записывать в таблицу 1 ip с количеством подключений больше 50

ipfw flush — очистить правила
ipfw table 1 flush — очистить правила в таблице 1


Для Linux. Создается цепочка dos, куда перенаправляются все подключения на 80 порт сервера. В эту цепочку добавляются «плохие» ip.

iptables -N dos
iptables -A INPUT -p tcp --dport 80 -j dos
while true; do tail -10000 /var/www/httpd-logs/site.ru.access.log | sort | cut -f 1 -d " " | uniq -c | awk '($1>50){print $2}' | xargs -tn 1 iptables -A dos -p tcp -j DROP --dport 80 -s; sleep 30; done
iptables -F INPUT — очищаем таблицу INPUT.
iptables -F dos — очищаем таблицу dos
iptables -X dos — удаляем таблицу dos

Способ для iptables, имеет одну нехорошую особенность, в цепочке возникают дублирующиеся правила. Поэтому лучше использовать ipset (нужен соответствующий модуль).

ipset -N ddos iphash
iptables -A INPUT -p tcp -m tcp --dport 80 -m set --set ddos src -j DROP
while true; do tail -10000 /var/www/httpd-logs/site.ru.access.log | sort | cut -f 1 -d " " | uniq -c | awk '($1>50){print $2}' | xargs -tl -I _ ipset -A ddos _;sleep 30; done

Закрываем icmp (поможет при icmp-flood)

iptables -A INPUT -p icmp -j DROP --icmp-type 8

для FreeBSD.

ipfw add deny log icmp from any to any

Ограничение максимального числа «полуоткрытых» соединений с одного IP к конкретному порту (необходим соответствующий модуль):

iptables -I INPUT -p tcp --syn --dport 80 -m iplimit --iplimit-above 10 -j DROP

Ограничение максимального числа соединений с одного IP к конкретному порту:

/sbin/iptables  -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 3 -j REJECT  

Так во FreeBSD вы ограничите максимальное число одновременных подключений (не стоит его делать меньше) с одного IP-адреса.

ipfw add allow tcp from any to me dst-port 80 limit src-addr 4

Дополнительная оптимизация сервера

В качестве дополнительных параметров, которые следует использовать, при настройке сервера

/usr/local/etc/apache22/extra/httpd-mpm.conf

<IfModule mpm_prefork_module>
   StartServers          1
   MinSpareServers       1
   MaxSpareServers       1
   MaxClients          150
   MaxRequestsPerChild  100
</IfModule>

Измените MaxClients (максимальное число процессов) в меньшую сторону до количества процессов, которые не роняют ваш сервер по нехватке оперативной памяти. Каждый процесс apache занимает в среднем 4-8 мегабайт памяти. А лучше узнать точно сколько в среднем на вашем сервере занимает памяти один процесс apache/httpd так:

top -d 1 | grep -E 'http|apache' | awk '{a+=$7}END{print a/(1024*NR) " Mb"}'

Необходимо чтобы суммарное количество помещалось в оперативной памяти.

Отредактируйте /usr/local/etc/apache22/extra/httpd-default.conf Следует уменьшить параметры

Timeout 300
MaxKeepAliveRequests 100

До 60 и 50 соответственно, чтобы как можно более скорее старые процессы apache прекращали свое существование

Использование nginx

При использовании nginx в качестве Front-End к Apache (стандартная конфигурация при установки nginx совместно с ISPmanager) WWW домен следует отключать в конфигурации nginx в описании соответствующего виртуалхоста Например

 server {
       listen       80;
       server_name  example.com www.example.com;

Пропишите ниже server_name строку

deny all;

И тем самым уже nginx будет выдавать ответ 403 Forbidden и не перенаправлять запросы к web-серверу apache.

Mod security

Что такое mod_security

ModSecurity™ - это бесплатный модуль для Apache с открытым кодом, организующий функции firewall. Он позволяет организовать защиту от большого количества атак против web-сайтов, используя мониторинг и анализ всех запросов в реальном времени

Для этого модуля есть большое число правил, написанных сообществом для предотвращения популярных атак

Мы же будем использовать этот модуль для блокирования DDoS атак

Использование mod_security для автоматического блокирования атакующих

Инструкции различны для операционных систем, используемых на FirstVDS. Все инструкции даны для шаблона VDS с ISPmanager
Подключаетесь по SSH и выполняйте команды в консоли сервера

Установим mod_security

  • FreeBSD
make -C /usr/ports/www/mod_security BATCH=YES install clean
  • Debian
apt-get install libapache-mod-security
  • Ubuntu
apt-get install libapache2-modsecurity
  • CentOS
yum install mod_security

Создадим файл конфигурации

  • FreeBSD
 mcedit /usr/local/etc/apache22/Includes/httpd-security.conf


Здесь нужны строки в начале файла

LoadModule unique_id_module libexec/apache22/mod_unique_id.so
LoadModule security2_module libexec/apache22/mod_security2.so
  • Debian и Ubuntu
mcedit /etc/apache2/mods-enabled/mod-security.conf

Содержание файла - добавить в указанный выше файл такой конфиг:

SecRuleEngine On
SecAuditEngine Off
SecDataDir /tmp
SecRule REMOTE_ADDR "^127\.0\.0\.1$" "phase:1,nolog,allow"
SecRule REQUEST_BASENAME "!(\.avi$|\.bmp$|\.css$|\.doc$|\.flv$|\.gif$|\
                           \.htm$|\.html$|\.ico$|\.jpg$|\.js$|\.mp3$|\
                           \.mpeg$|\.pdf$|\.png$|\.pps$|\.ppt$|\.swf$|\
                           \.txt$|\.wmv$|\.xls$|\.xml$|\.zip$)"\
"phase:1,nolog,pass,initcol:ip=%{REMOTE_ADDR},setvar:ip.requests=+1,expirevar:ip.requests=1"
SecRule ip:requests "@eq 5" "phase:1,pass,nolog,setvar:ip.block=1,expirevar:ip.block=5,setvar:ip.blocks=+1,expirevar:ip.blocks=3600"
SecRule ip:blocks "@ge 5" "phase:1,deny,log,logdata:'req/sec: %{ip.requests}, blocks: %{ip.blocks}',status:403"
SecRule ip:block "@eq 1" "phase:1,deny,nolog,status:403"
  • CentOS
 mcedit /etc/httpd/conf.d/mod_security.conf

На CentOS устанавливается новая версия mod_security 2.7 - поэтому файл конфига чуть-чуть другой

LoadModule unique_id_module modules/mod_unique_id.so
LoadModule security2_module modules/mod_security2.so
SecRuleEngine On
SecAuditEngine Off
SecDataDir /tmp
SecRule REMOTE_ADDR "^127\.0\.0\.1$" "id:'400000',phase:1,nolog,allow"
SecRule REQUEST_BASENAME "!(\.avi$|\.bmp$|\.css$|\.doc$|\.flv$|\.gif$|\
                           \.htm$|\.html$|\.ico$|\.jpg$|\.js$|\.mp3$|\
                           \.mpeg$|\.pdf$|\.png$|\.pps$|\.ppt$|\.swf$|\
                           \.txt$|\.wmv$|\.xls$|\.xml$|\.zip$)"\
"id:'400001',phase:1,nolog,pass,initcol:ip=%{REMOTE_ADDR},setvar:ip.requests=+1,expirevar:ip.requests=1"
SecRule ip:requests "@eq 5" "id:'400002',phase:1,pass,nolog,setvar:ip.block=1,expirevar:ip.block=5,setvar:ip.blocks=+1,expirevar:ip.blocks=3600"
SecRule ip:blocks "@ge 5" "id:'400003',phase:1,deny,log,logdata:'req/sec: %{ip.requests}, blocks: %{ip.blocks}',status:403"
SecRule ip:block "@eq 1" "id:'400004',phase:1,deny,nolog,status:403"

3. Создаем файлы для работы

touch /tmp/ip.dir
touch /tmp/ip.pag
chmod 666 /tmp/ip.dir
chmod 666 /tmp/ip.pag

4. Перезапустим Apache

apachectl restart

5. Результат

В итоге Apache будет работать следующим образом:

  1. Если с одного IP происходит более 5 подключений в секунду, то этот IP получает на все запросы к сайту 403 ошибку
  2. IP разблокируется через 5 секунд
  3. Если IP был заблокирован более 5 раз, то он блокируется на 1 час

Это позволяет

  • Разгрузить сервер от обработки скриптов для атакующих IP
  • Снимает нагрузку на физический сервер
  • Позволяет подключать другие гибкие правила, для обработки запросов

Ссылки

Переменные sysctl

Системные переменные, которые могут быть полезны, при DDoS.

ICMP-FLOOD

Команда ниже поможет при отражении атаки типа icmp-flood.

sysctl net.ipv4.icmp_echo_ignore_all=1

Ограничиваем число ответов на ICMP-сообщения 50-ю в секунду (защита от ICMP-флуда) для FreeBSD:

sysctl net.inet.icmp.icmplim=50

SYN-FLOOD

Увеличиваем максимальное количество подключений к серверу для FreeBSD:

sysctl kern.ipc.somaxconn=32768

Уменьшение времени удержания «полуоткрытых» соединений:

sysctl -w net.ipv4.tcp_synack_retries=1

Включение TCP syncookies:

sysctl -w net.ipv4.tcp_syncookies=1 sysctl net.inet.tcp.syncookies=1 (для FreeBSD)

Увеличиваем размер очереди полуоткрытых соединений. По-умолчанию - 512.

sysctl -w net.ipv4.tcp_max_syn_backlog=4096

Проверять TCP-соединение каждую минуту. Если на другой стороне - легальная машина, она сразу ответит. По-умолчанию - 2 часа.

sysctl -w net.ipv4.tcp_keepalive_time=60

Повторить проверку через 20 секунд

sysctl -w net.ipv4.tcp_keepalive_intvl=20

Количество проверок перед закрытием соединения

sysctl -w net.ipv4.tcp_keepalive_probes=3

Изменяем время ожидания приема FIN

sysctl -w net.ipv4.tcp_fin_timeout=10

Включение защиты от DDoS-атаки в ISPmanager

Включается галочкой "Включить защиту от DDoS-атаки" в свойствах WWW-домена, галочка доступна только, если на сервере установлен Nginx.

Pic 151.png
Pic 152.png

Для работы системы используется модуль ngx_http_limit_req_module.

Модуль ngx_http_limit_req_module позволяет ограничить скорость обработки запросов по заданному ключу или, как частный случай, скорость обработки запросов, поступающих с одного IP-адреса. Пример конфигурации

   http {
       limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
       server {
           location /search/ {
               limit_req zone=one burst=5;
           }

Задаёт зону разделяемой памяти (zone=one) и максимальный размер всплеска запросов (burst). Если скорость поступления запросов превышает описанную в зоне (rate=1r/s), то их обработка задерживается так, чтобы запросы обрабатывались с заданной скоростью. Избыточные запросы задерживаются до тех пор, пока их число не превысит максимальный размер всплеска. При превышении запрос завершается с ошибкой 503 (Service Temporarily Unavailable). По умолчанию максимальный размер всплеска равен нулю.

В зоне размером 1 мегабайт может разместиться около 16 тысяч состояний размером 64 байта. При переполнении зоны в ответ на последующие запросы сервер будет возвращать ошибку 503 (Service Temporarily Unavailable).

Скорость задаётся в запросах в секунду (r/s).


Для включения защиты от DDoS необходимо в настройках WWW-домена включить переключатель "Включить защиту от DDoS-атаки", после чего необходимо заполнить поля "Количество запросов в секунду" и "Максимальный размер всплеска".

После сохранения изменений в файле $HOME_NGINX/conf.d/isplimitreq.conf будет создана запись, к примеру:

limit_req_zone $binary_remote_addr zone=example.com:128k rate=2r/s;

где

   zone - имя зоны разделяемой памяти, наывается по имени WWW-домена;
   размер зоны (128к) рассчитывается по формуле: "скорость запросов" * 64к;
   rate - скорость поступления запросов, определяется в поле формы "Количество запросов в секунду".

Далее, будет создан файл $HOME_NGINX/vhost-resources/ИМЯ_ДОМЕНА/reqlimit.conf c содержимым:

   limit_req zone=example.com burst=3;
   error_page 503 =429 @blacklist;

где

   zone - имя зоны, определенной в предыдущем конфигурационном файле;
   burst - размер всплеска, определенной в поле формы "Максимальный размер всплеска";
   @blacklist - имя локейшена, в который осуществляется редирект, при  срабатывании ошибки 503, т.е. превышении порога количества запросов с IP-адреса. 

Далее, будет создан файл $HOME_NGINX/vhost-includes/blacklist.conf c содержимым:

location @blacklist {

       proxy_redirect off ;
       proxy_pass https://IPADDRESS;
       rewrite (.*) /mancgi/ddos break;
               proxy_set_header Host $host;
               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
               proxy_set_header X-Forwarded-Proto $scheme;

}

где

   IPADDRESS - IP-адрес и порт который слушает IHTTPD. При изменении адреса панели, измененный адрес и порт перезаписываются в этом файле. Если IHTTPD настроен на прослушку любого адреса, то выбирается любой из валидных IP-адресов, настроенных на сервере.

При превышении порога количества запросов IP-адрес, с которого поступают запросы, передается в скрипт /mancgi/ddos, который вносит данный IP-адрес в список заблокированных адресов на 5 минут. При блокировке в лог-файл $HOME_MGR/var/ddos.log вносится запись:

WARNING Address (xxx.xxx.xxx.xxx) is blacklisted


Сама блокировка осуществляется с помощью iptables (ip6tables для IPv6) и ipset.

В iptables создается цепочка правило

DROP       all  --  anywhere             anywhere            match-set ispmgr_limit_req src 

привязанное к имени списка из ipset - ispmgr_limit_req (для IPv6 - ispmgr_limit_req6)

в ipset создаются два набора ispmgr_limit_req и ispmgr_limit_req6 с параметрами: hash:ip (в списке хранятся только IP-адреса) и timeout 300 (срок хранения записи 5 минут).

Чтобы проверить содержимое списка можно использовать команду: ipset -L ispmgr_limit_req. В выводе команды в поле "Members" будут отражены все адреса, попавшие в список, и время оставшееся до конца блокировки

Частые вопросы

Что такое DDoS атака?

DDoS – это аббревиатура от английского выражения Distributed Denial of Service, на русский язык оно переводится как «Распределённый отказ обслуживания». Сетевой ресурс выходит из строя в результате множества распределенных (отправленных с разных точек) запросов к нему. Обычно атака организуется при помощи вирусов, которыми злоумышленник заражает компьютеры ни о чем не подозревающих пользователей Интернета. Такие «зомби» и отправляют бессмысленные запросы на сервер жертвы.

Четко спланированная атака может вывести из строя практически любой незащищенный ресурс, начиная от простого сайта-визитки и заканчивая серьезным порталом предприятия. Обрабатывая миллионы запросов, сервер сначала «тормозит», а после и вовсе прекращает работать. В случае с VDS страдают все пользователи физического сервера, так как у всех VDS общий канал связи. При этом дата-центр тоже испытывает огромную нагрузку на сетевые каналы, ведь он пропускает через себя весь паразитный трафик.


Почему мой сайт «ддосят»?

DDoS атаку можно относительно легко купить на черном рынке и направить на любой сетевой ресурс, который вам чем-либо не угодил.

Не секрет, что чаще всего атаке подвергаются сайты, созданные для того, чтобы зарабатывать деньги. Для интернет-магазина простой в несколько часов – катастрофа, это полное отсутствие заказов и прибыли. Многие компании уже не представляют свою работу без корпоративного портала…

Во время рекламной акции, или после того, как вы анонсировали новый продукт – DDoS атака может обрушиться на ваш сайт. «Происки конкурентов», - скажем мы, и, скорее всего, будем правы. Конечно, еще возможны атаки «из мести», из идеологических соображений. Иногда хакеры таким образом вымогают деньги, но это уже более редкие случаи.


Кто виноват?

Итак, сервер «лежит», жертва несет «невообразимые» убытки и жаждет расплаты. Боюсь вас расстроить, но имена заказчиков DDoS атаки хостинг провайдер вам сообщить не сможет, их выяснить практически невозможно… Как правило, пострадавшая сторона знает или подозревает кто или что может быть источником проблемы. Задумайтесь, а может быть, вы кому-то недавно «насолили»?


Что делать, если мой сайт подвергся DDoS атаке?

Наша система мониторинга быстро обнаруживает атаку и автоматически фильтрует сервер на 24 часа с целью предотвратить негативное влияние атаки на других клиентов. При определении атаки учитывается количество и размер пакетов, которые поступают к серверу в единицу времени, также учитывается объем входящего трафика. Если на ваш VDS случилась атака, то вам придет письмо с темой "Ваш VDS заблокирован". В нем вы найдете список IP адресов, с которых идет наибольшее число пакетов. Как правило, в лидерах списка появляются поисковые системы, это вовсе не значит, что они являются причиной блокировки, посмотрите, какой ничтожный процент они составляют от общей атаки.

В случае DDoS атаки вариантов действий несколько:

  1. Попробовать защититься от атаки самостоятельно. Подробная инструкция об этом здесь.
  2. Если вы несете колоссальные убытки, то лучше купить услугу профессиональной защиты ресурса от DDoS атак. После оплаты ваш сервер будет снова в сети в кратчайшие сроки (обычно час-два). Более подробно об этой услуге вы можете прочитать здесь.
  3. Ждать. Обычно, атаки прекращаются через сутки-двое после начала.
  4. Доступ к своим файлам вы можете получить через VMmanager. Также можно заказать дополнительный IP адрес и подключиться к серверу используя его.
Личные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты

Заметили ошибку?

Выделите ее и нажмите CTRL+ENTER