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-атак помогут:
Инструмент IPTables помогает защитить сервер от простейших DDoS-атак. Основная функция – фильтрация входящего трафика через специальные таблицы. Владельцу ресурса доступна возможность добавления таблиц.
В каждой таблице содержится свод правил, регулирующий поведение инструмента в конкретной ситуации. По умолчанию варианта реагирования всего два: ACCEPT (открытие доступа) и REJECT (блокировка доступа).
В IPTables можно настроить предельное количество подключений. Когда с одного IP-адреса поступит больше подключений, инструмент заблокирует ему доступ к ресурсу. Расширить функционал инструмента можно дополнительными критериями:
Также в IPTables можно использовать критерии Owner, State, TOS, TTL, Unclean Match, чтобы задать персонализированные настройки, эффективно защищая свой ресурс от DDoS-атак.
Модуль ядра ipset позволяет сделать список адресов, нарушающих указанный лимит подключений. Параметр ipset timeout установит временное ограничение для созданного списка, достаточное, чтобы переждать DDoS-атаку.
Важно! Стандартные настройки IPTables возвращаются к базовым после перезагрузки системы. Сохранить установленные настройки помогут дополнительные утилиты (iptables-save или iptables-persistent), но рекомендуется начинать с опций по умолчанию, чтобы не сохранить настройки с ошибками, блокирующими доступ к серверу вообще всем.
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”
LF_SSH_EMAIL_ALERT = "1"
csf -a 192.168.0.7
csf -d 192.168.0.6
Как защитить сервер от 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-атак сервера возможна с помощью веб-приложений. Программный фильтр трафика использует JavaScript, недоступный ботам, поэтому DDoS-атаки упираются в страницу-заглушку.
Работа фильтра предельно проста. В конфигурации указываются условия для блокировки ботов, и, когда посетитель отвечает указанным условиям, он перенаправляется на страницу-заглушку, вместо запрашиваемой страницы. Фильтр позволяет указать причину перенаправления.
Корпоративные сайты часто становятся целью атак, и бесплатных инструментов защиты бывает недостаточно. Для бизнеса простой сайта выливается в потерю прибыли и потенциальных клиентов.
Timeweb Cloud предлагает эффективное решение – защита от DDoS. Вы получите гарантию защиты от 99% атак, включая сложные и мощные атаки на ваш ресурс. Решение фильтрует весь входящий трафик и обеспечивает обнаружение и отражение атак на сетевом уровне L3/4 и на уровне приложений L7.
Кстати, в официальном канале Timeweb Cloud собрали комьюнити из специалистов, которые говорят про IT-тренды, делятся полезными инструкциями и даже приглашают к себе работать.