Профилактика DDoS-атак — лучший способ защиты проекта и сервера от внезапной перегрузки «мусорными» запросами. ДДоСы — угроза, предполагающая семь уровней уязвимостей сервера и еще больше конкретных точек, на которые может быть совершена хакерская атака. Профилактические меры помогут закрыть основные бреши в безопасности проекта: некоторые из них защитят сервер от состояния «отказ в обслуживании», другие — замедлят его «падение» и дадут системному администратору дополнительное время на отражение атаки в реальном времени. Разбираем в статье ТОП-10 методов защиты от ДДоСов, актуальных в 2024 году.
Как защитить сайт от ДДоС: 10 методов в 2024
- Выберите хостинг с защитой от DDoS.
- Позаботьтесь о базовой безопасности.
- Откажитесь от Windows Server.
- Анализируйте ошибки.
- Настройте тайм-ауты в nginx.
- Используйте фаервол и CDN.
- Настройте фильтрацию входящего трафика.
- Предотвратите спам.
- Позаботьтесь о резервных ресурсах.
- Приобретите профессиональную защиту от ДДоС.
Защита от DDoS-атак должна быть разносторонней, ведь хакерам удалось найти уязвимости в семи каналах связи, которые сервер использует для обмена данными в сети. Пути совершения атаки в свою очередь тоже были найдены, и для каждого из них был разработан метод защиты. Однако злоумышленники не перестают искать слабые места в системе, чтобы найти новую точку для эффективного удара. Важно не только настроить защиту от «distributed denial of service», но и поддерживать ее в актуальном состоянии.
№1. Выберите хостинг с защитой от DDoS
Подвергнуться DDoS могут любые устройства и сервисы, подключенные к Интернету: сетевое оборудование, физические и виртуальные серверы, онлайн-сервисы, сайты, IP-телефония и веб-приложения. Риск попасть под DDoS есть не только у бизнеса, хотя на него по-прежнему приходится большая часть атак. В 2022 году доля ДДоСов на развлекательные сайты составила 20%, на информационные порталы ― 14%, на игровые сервера ― 9%. Причины атаки могут быть коммерческими и личными:
- желание получить выкуп в обмен на прекращение перегрузки сервера;
- стремление навредить бизнесу конкурента;
- обучение взлому сайта;
- личная неприязнь к владельцу веб-ресурса;
- маскировка кражи ценной информации;
- политический протест.
Мишенью хакера может быть не только ваш сайт, но и проект, располагающийся на том же сервере, и сама хостинг-машина. Убедитесь в том, что останетесь в безопасности, если атака придется на физический сервер, который хранит и обрабатывает данные вашего проекта. Чтобы уберечь свой веб-ресурс, перед арендой хостинга проверьте, настроена ли хостером защита от DDoS. Чаще всего хостинг-провайдеры обеспечивают клиентам защиту на уровне L3 и L4, которые наиболее подвержены негативному воздействию со стороны злоумышленников. Иногда встречается более глубокая защита. В Рувеб, например, совместно со службой DDoS-GUARD организована двухсторонняя фильтрация трафика до 1.5 Tbps и 120m PPS. Для уровней 3 и 4 она предоставляется бесплатно на всех услугах, для уровня 7 — protection service работает бесплатно на веб-хостинге без выделенного IP.
Характеристики хостинга, которые помогут в защите от ДДоС:
- мониторинг активности на сервере, обнаружение отклонений;
- широкие пропускные полосы;
- возможность аренды хостинга с резервными вычислительными ресурсами;
- наличие сервера для резервных копий;
- возможность распределить нагрузку между несколькими рабочими серверами (облачные решения).
№2. Позаботьтесь о базовой безопасности
Доступ к сетевой инфраструктуре проекта должен быть ограничен для посторонних лиц, а для сотрудников компании предоставляться только по необходимости и в строго установленном порядке. Важно, чтобы специалисты имели доступ только к той части структуры, которая нужна им для выполнения профессиональных обязанностей. Если сайт скомпрометирован, требуется немедленная смена всех паролей. Каждый пароль должен быть оригинальным и сложным. Проведите для сотрудников инструктаж по цифровой гигиене.
№3. Откажитесь от Windows Server
Для сервера лучше выбирать операционную систему с ядром Linux. Специальных дистрибутивов для управления серверами достаточно много, например, CentOS, Ubuntu или Debian. Разобраться в их установке поможет техническая документация. На хостинговом рынке можно найти VPS/VDS и выделенные серверы с быстрой установкой ОС из семейства Linux из предустановленного образа. Сетевой стек Windows Server плохо подходит для сервера: когда запросов становится много, хостинг-компьютер начинает тормозить с ответами. Похожая ситуация с веб-серверами: выберете nginx и откажитесь от apache.
№4. Анализируйте ошибки
Во время ДДоС серверу приходится принимать огромное количество входящего трафика, отправляемого ботами — зараженными устройствами, объединенными в зомби-сеть, подчиняющуюся хакеру. Атаки типа SYN-флуд подразумевают, что боты специально отказываются принимать ответ сервера. Появляются задержки при передаче информации между сервером и пользователем. Сервер не может завершить соединение и очередь на подключение к нему переполняется. Возникают ошибки, которые фиксируется в журнале системы. Начало ДДоС можно отследить по записям в лог-файлах. Обратите внимание на три показателя:
- объем трафика;
- время ответа сервера;
- количество ошибок.
При использовании nginx анализировать нужно значения в параметрах request_time и upstream_response_time. Показатель «request» отражает время, которое сервер потратил на выполнение запроса, в том числе задержки при передаче данных. «Upstream response» (php_fpm, uwsgi и мн. др.) — скорость обработки запроса бэкендом. Параметр важен при анализе ошибок на сайтах с динамическим контентом и общением пользовательской части ресурса с базой данных. Формат лога может быть представлен следующим конфигом:
log_format xakep_log '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" $request_time \
$upstream_response_time';
Конфиг имеет combined-формат с добавленными полями тайминга.
№5. Настройте тайм-ауты в nginx
Сервер может тратить слишком много времени на обработку каждого запроса от ботов. Чтобы хостинг-машина могла вовремя разрывать соединение с участником зомби-сети и переходить к работе со следующим пользователем, тем самым освобождая очередь на подключение от нелегитимного трафика, необходимо установить лимит времени на обработку одного запроса.
На решение каждой задачи в обычном режиме (когда нет роста трафика) сервер тратит такое количество времени, которое можно принимать за норму. Если прописать в настройках nginx правильные тайм-ауты (минимальное время, за которое обрабатывается легитимный запрос), сообщения от ботнета будут отфильтровываться.
Параметры nginx, которые нуждаются в редактировании:
- reset_timedout_connection on — освобождает сервер от зависших сокетов в фазе FIN-WAIT;
- client_header_timeout — устанавливает норму времени на чтение заголовков в сообщениях клиентов;
- client_body_timeout — помогает установить время, естественное для чтения тела запроса клиента;
- keepalive_timeout — задает тайм-аут, в течение которого keep-alive соединение с клиентом не будет закрыто со стороны сервера;
- send_timeout — лимитирует время на передачу ответа клиенту (соединение разрывается при отсутствии решения клиента о подключении).
Чтобы прописать в настройках веб-сервера правильные тайм-ауты, необходимо протестировать работу сайта в обычных условиях — до начала DDoS или маркетинговой кампании. Важно узнать оптимальные параметры работы сервера при получении запросов с разных устройств — мобильных, ПК, планшетов и т. д. Найдите значения при которых проект сохраняет работоспособность — веб-страницы передаются в браузеры, запросы обрабатываются без задержек. Если при тестировании было выявлено, что нормальные для сайта показатели выше тех, что указаны в настройках по умолчанию, стоит обсудить это с разработчиками и провести рефакторинг кода.
№6. Используйте фаервол и CDN
В защите сайта от DDoS, помогут некоторые сервисы.
- Фаервол. Он выступает буфером между пользователем и сервером. Инструмент принимает трафик, анализирует его и фильтрует. На сервер попадают только безопасные запросы.
- Content Delivery Network, CDN. Сеть обеспечивает защиту и ускорение сайта: контент веб-ресурса размещается на нескольких серверах, снижается нагрузка на главный сервер и ускоряется отображение страниц в браузерах.
№7. Настройте фильтрацию входящего трафика
Трафик может быть типичным и нетипичным для сайта. Если у вас есть инструменты по сбору сведений о трафике, вы можете составить описание «белых» запросов и сравнивать все соединения с положительным образцом. Нехарактерный трафик можно заблокировать несколькими способами:
- настроить фильтрацию по IP и внести адреса с подозрительными запросами в черный список;
- блокировать пользователей по геопризнаку с помощью GeoIP-модуля в nginx (онлайн-магазину из Воронежа вряд ли нужны посетители из Сингапура);
- использовать модуль testcookie для nginx, который проверит отправителя на умение выполнять редирект, поддержку JavaScript и подлинность браузера.
Фильтрация трафика — хорошее дополнение к основной защите от DDoS.
№8. Предотвратите спам
Формы обратной связи являются популярной мишенью DDoS-атак. С одной стороны через них можно отправлять массу бессмысленных запросов на сервер, с другой — это еще и способ разместить на сайте ссылки, перейдя по которым устройства пользователей могут получить вирус и стать частью ботнета. Защитить формы регистрации, отправки комментариев, оформления подписки и остальные можно с помощью капчи. Программа проверяет пользователей на признаки машинного поведения и при его наличии запрещает им отправку формы.
№9. Позаботьтесь о резервных ресурсах
Когда сайту нужен хостинг, его владелец арендует сервер с достаточным количеством вычислительных ресурсов для обслуживания пользователей и решения задач проекта. На самом деле оптимальной конфигурацией сервера является та, в которую входит небольшой резерв ресурсов. При ДДоСах образуется аномальный всплеск трафика, при котором к запросам обычных пользователей присоединяется масса мусорных. Запас ресурсов позволит отдалить наступление отказа в обслуживании. За это время системный администратор успеет проанализировать логи, настроить блокировку IP и предпринять другие защитные меры. Проверьте, есть ли у хостинг-провайдера услуга бэкапа. При DDoS резервная копия позволит запустить ваш сайт на другом сервере.
№10. Приобретите профессиональную защиту от ДДоС
У каждого проекта свои особенности — уязвимые места, характеристики легитимного трафика и др. Чтобы правильно настроить фильтры и получить систему круглосуточного мониторинга, необходимы профессионалы. Компании помогут подобрать программы и сервисы, выделят кадры, проанализируют трафик и окажут другие услуги по обеспечению безопасности.
Заключение
Защитить проект от DDoS на 100% нельзя, но можно смягчить последствия от атаки и сократить вероятность ее появления. Настраивать защиту необходимо на всех доступных уровнях.