Служба поддержки работает онлайн круглосуточно

Москва

icon drop list
+7 499 502-44-31

с 7:00 до 15:00 (пн. – пт.)

Защита от DDoS-атак: 10 способов

Профилактика DDoS-атак — лучший способ защиты проекта и сервера от внезапной перегрузки «мусорными» запросами. ДДоСы — угроза, предполагающая семь уровней уязвимостей сервера и еще больше конкретных точек, на которые может быть совершена хакерская атака. Профилактические меры помогут закрыть основные бреши в безопасности проекта: некоторые из них защитят сервер от состояния «отказ в обслуживании», другие — замедлят его «падение» и дадут системному администратору дополнительное время на отражение атаки в реальном времени. Разбираем в статье ТОП-10 методов защиты от ДДоСов, актуальных в 2024 году.

Как защитить сайт от ДДоС: 10 методов в 2024

  1. Выберите хостинг с защитой от DDoS.
  2. Позаботьтесь о базовой безопасности.
  3. Откажитесь от Windows Server.
  4. Анализируйте ошибки.
  5. Настройте тайм-ауты в nginx.
  6. Используйте фаервол и CDN.
  7. Настройте фильтрацию входящего трафика.
  8. Предотвратите спам.
  9. Позаботьтесь о резервных ресурсах.
  10. Приобретите профессиональную защиту от ДДоС.

Защита от DDoS-атак должна быть разносторонней, ведь хакерам удалось найти уязвимости в семи каналах связи, которые сервер использует для обмена данными в сети. Пути совершения атаки в свою очередь тоже были найдены, и для каждого из них был разработан метод защиты. Однако злоумышленники не перестают искать слабые места в системе, чтобы найти новую точку для эффективного удара. Важно не только настроить защиту от «distributed denial of service», но и поддерживать ее в актуальном состоянии.

Защита от DDoS-атак.
Изображение от pikisuperstar на Freepik.

№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, помогут некоторые сервисы.

  1. Фаервол. Он выступает буфером между пользователем и сервером. Инструмент принимает трафик, анализирует его и фильтрует. На сервер попадают только безопасные запросы.
  2. Content Delivery Network, CDN. Сеть обеспечивает защиту и ускорение сайта: контент веб-ресурса размещается на нескольких серверах, снижается нагрузка на главный сервер и ускоряется отображение страниц в браузерах.

№7. Настройте фильтрацию входящего трафика

Трафик может быть типичным и нетипичным для сайта. Если у вас есть инструменты по сбору сведений о трафике, вы можете составить описание «белых» запросов и сравнивать все соединения с положительным образцом. Нехарактерный трафик можно заблокировать несколькими способами:

  • настроить фильтрацию по IP и внести адреса с подозрительными запросами в черный список;
  • блокировать пользователей по геопризнаку с помощью GeoIP-модуля в nginx (онлайн-магазину из Воронежа вряд ли нужны посетители из Сингапура);
  • использовать модуль testcookie для nginx, который проверит отправителя на умение выполнять редирект, поддержку JavaScript и подлинность браузера.

Фильтрация трафика — хорошее дополнение к основной защите от DDoS.

№8. Предотвратите спам

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

№9. Позаботьтесь о резервных ресурсах

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

№10. Приобретите профессиональную защиту от ДДоС

У каждого проекта свои особенности — уязвимые места, характеристики легитимного трафика и др. Чтобы правильно настроить фильтры и получить систему круглосуточного мониторинга, необходимы профессионалы. Компании помогут подобрать программы и сервисы, выделят кадры, проанализируют трафик и окажут другие услуги по обеспечению безопасности.

Заключение

Защитить проект от DDoS на 100% нельзя, но можно смягчить последствия от атаки и сократить вероятность ее появления. Настраивать защиту необходимо на всех доступных уровнях.