Давайте дружить в Телеграме: рассказываем про новые фичи, общаемся в комментах, прислушиваемся к вашим идеям Подписаться

Как защитить сервер от DDoS-атак

Команда Timeweb Cloud
Команда Timeweb Cloud
Наши инженеры, технические писатели, редакторы и маркетологи
15 июля 2022 г.
743
6 минут чтения
Средний рейтинг статьи: 5

Расширенная Защита От D Do S

DDoS-атака (Distributed Denial of Service) направлена на загрузку сети избыточным трафиком. Подобные атаки приводят к снижению производительности сети или к полному выводу сети из строя. Отсюда и название denial-of-service (отказ в обслуживании).

С каждым годом количество и интенсивность DDoS-атак стремительно растет. Недавний отчет Cloudflare информирует, что в 2021 году цифра увеличилась на треть по сравнению с 2020 годом, причем пик активности пришелся на декабрь.

Продолжительность DDoS-атаки бывает разной. Исследование Securelist сообщает, что действие 94,95% всех атак завершается в течение четырех часов. 3,27% атак рассчитаны на 5-9 часов, еще 1,05% DDoS-атак продолжаются от 10 до 19 часов. Только 0,73% всех атак способны положить сервер на 20 и более часов.

Эффективные инструменты защиты сервера от DDoS-атак

Если не использовать решения, предлагаемые хостингами, платные сервисы и программы, защитить сервер от DDoS-атак помогут:

  • IPTables;
  • CSF (ConfigServer Security and Firewall);
  • Модули Nginx;
  • Программный фильтр.

IPTables. Блокировка ботов по IP-адресам

Инструмент IPTables помогает защитить сервер от простейших DDoS-атак. Основная функция – фильтрация входящего трафика через специальные таблицы. Владельцу ресурса доступна возможность добавления таблиц.

В каждой таблице содержится свод правил, регулирующий поведение инструмента в конкретной ситуации. По умолчанию варианта реагирования всего два: ACCEPT (открытие доступа) и REJECT (блокировка доступа).

В IPTables можно настроить предельное количество подключений. Когда с одного IP-адреса поступит больше подключений, инструмент заблокирует ему доступ к ресурсу. Расширить функционал инструмента можно дополнительными критериями:

  • Limit. Устанавливает ограничение для подключения пакетов за выбранную единицу времени.
  • Hashlimit. Работает по аналогии с критерием Limit, но действие распространяется уже на группы хостов, подсети и порты.
  • Mark. Используется для пометки пакетов, ограничения трафика и фильтрации.
  • Connlimit. Ограничивает количество одновременных подключений для одного IP-адреса или подсети.
  • IPRange. Задает диапазон IP-адресов, не воспринимаемых инструментом в качестве подсети.

Также в IPTables можно использовать критерии Owner, State, TOS, TTL, Unclean Match, чтобы задать персонализированные настройки, эффективно защищая свой ресурс от DDoS-атак.

Модуль ядра ipset позволяет сделать список адресов, нарушающих указанный лимит подключений. Параметр ipset timeout установит временное ограничение для созданного списка, достаточное, чтобы переждать DDoS-атаку.

Важно! Стандартные настройки IPTables возвращаются к базовым после перезагрузки системы. Сохранить установленные настройки помогут дополнительные утилиты (iptables-save или iptables-persistent), но рекомендуется начинать с опций по умолчанию, чтобы не сохранить настройки с ошибками, блокирующими доступ к серверу вообще всем.

ConfigServer Security and Firewall. Простая и понятная DDoS-защита сервера

IPTables – удобный и эффективный инструмент, хотя довольно сложен в настройке. Придется разобраться с управлением, дополнительными скриптами, а если что-то пойдет не так, то ваш ресурс станет «закрытым клубом» для нескольких пользователей.

CSF – это конфигуратор «под ключ», где вам достаточно задать правильные параметры и не беспокоиться о безопасности сервера.

Установка серверного файрвола

Предварительный этап установки – загрузка двух дополнительных компонентов, обеспечивающих работу CSF: интерпретатора Perl и библиотеки libwww. Следующий шаг – непосредственно установка ConfigServer Security and Firewall. Инструмент отсутствует в официальном репозитории, поэтому придется скачать его по ссылке или загрузить уже готовый архив:

cd /usr/src
wget https://download.configserver.com/csf.tgz

Распакуйте архив и переместите его в папку с файлами защитника, затем выполните установку инструмента. При условии отсутствия ошибок переходите к настройке CSF.

Настройка серверного файрвола

Стандартные настройки ConfigServer and Firewall активны в течение 5 минут, после чего все измененные конфигурации сбрасываются. Тестовый формат удобен для проведения экспериментов и понимания ошибок установленной конфигурации. Изменение значения Testing на 0 переводит инструмент в рабочий режим.

Основные параметры конфигурации

Правильная настройка конфигурации обеспечит надежную защиту от DDoS-атак сервера. Основные команды в CSF:

  • Указать входящие порты:
TCP_IN = "22,23,25,36,75,87”
  • Указать исходящие порты:
TCP_IN = "22,23,25,36,75,87”
  • Настройка почтовых оповещений (подключение к  SSH сопровождается отправкой уведомления на почту):
LF_SSH_EMAIL_ALERT = "1"
  • Добавление IP-адреса в список исключений (актуально для команды, обслуживающей сервер):
csf -a 192.168.0.7
  • Запрещение на подключение к серверу для конкретного IP-адреса:
csf -d 192.168.0.6

Модули Nginx. Пример настройки конфигурации

Как защитить сервер от DDoS-атак еще более простыми способами? Используйте модули nginx (limit_conn и limit_req). Первый модуль отвечает за ограничение максимального количества подключений к серверу, а второй – лимитирует количество подключений за определенный временной отрезок.

Например, вы хотите ограничить одновременное количество подключений на отметке в 30, а временной отрезок для одновременного количества подключений лимитирован 3 секундами.

Конфигурация выглядит следующим образом:

limit_conn_zone $binary_remote_addr zone=perip: 30m;
limit_req_zone $binary_remote_addr zone=dynamic:30m rate=3r/s;

Конфигурация пропустит только 3 запроса в секунду, а остальные станут в очередь. Значение очереди задается параметром burst. Например, значение burst равно 7. Когда количество запросов будет выше 10, модуль поставит 7 запросов в очередь, а остальные завершатся с ошибкой.

Программный фильтр. «Глушим» DDoS-атаки

Защита от DDoS-атак сервера возможна с помощью веб-приложений. Программный фильтр трафика использует JavaScript, недоступный ботам, поэтому DDoS-атаки упираются в страницу-заглушку.

Работа фильтра предельно проста. В конфигурации указываются условия для блокировки ботов, и, когда посетитель отвечает указанным условиям, он перенаправляется на страницу-заглушку, вместо запрашиваемой страницы. Фильтр позволяет указать причину перенаправления.

Облачные сервисы для защиты от DDoS-атак

Корпоративные сайты часто становятся целью атак, и бесплатных инструментов защиты бывает недостаточно. Для бизнеса простой сайта выливается в потерю прибыли и потенциальных клиентов. 

Timeweb Cloud предлагает эффективное решение – защита от DDoS. Вы получите гарантию защиты от 99% атак, включая сложные и мощные атаки на ваш ресурс. Решение фильтрует весь входящий трафик и обеспечивает обнаружение и отражение атак на сетевом уровне L3/4 и на уровне приложений L7. 

Кстати, в официальном канале Timeweb Cloud собрали комьюнити из специалистов, которые говорят про IT-тренды, делятся полезными инструкциями и даже приглашают к себе работать. 

Зарегистрируйтесь и начните пользоваться
сервисами Timeweb Cloud прямо сейчас

15 лет опыта
Сосредоточьтесь на своей работе: об остальном позаботимся мы
165 000 клиентов
Нам доверяют частные лица и компании, от небольших фирм до корпораций
Поддержка 24/7
100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону