16 действенных методов защиты от DDOS-атак


Любой владелец крупного сайта должен знать, как справляться с такой опасностью, как DDOS-атаки. Способов защиты от DDoS достаточно много, поэтому мы предлагаем вам ознакомиться с шестнадцатью самыми действенными.16 методов защиты от DDOS


  • Не использовать Windows Server
  • Практика показывает, что при DDOS-атаке, сайты, работающие на Windows, ведут себя хуже всего. Это вызвано тем, что при большом количестве соединений сервер перестает отвечать из-за специфического устройства сетевого стека. Старайтесь использовать в качестве ОС для вашего сервера Linux. Дальнейшие методы защиты от DDoS в этой статье в большей степени применимы именно к этой ОС.


  • Не использовать Apache
  • Apache очень уязвим к атакам, особенно Slowloris. Это вызвано его фундаментальной структурой и практически не исправляется. Безусловно, использование разнообразных патчей может частично решить эту проблему, но гораздо проще будет использовать HTTP-сервер.


  • Подключить модуль testcookie
  • Пожалуй, одним из лучших защитников вашего сайта при DDOS станет модуль testcookie-nginx. Идея этого модуля состоит в том, что он проверяет и отсеивает запросы, фильтруя тем самым ботов. Это делается путем проверки клиентов на возможность выполнения HTTP Redirect’а, поддержку JavaScript, соответствие его браузеру, которым он представляется.


  • Код 444
  • Для того, чтобы положить сайт, хакеры очень часто атакуют его поисковую систему – одну из самых уязвимых его частей. Огромное количество запросов к внутреннему поисковику сайта мгновенно его положит. Для защиты от такой атаки просто отключите функцию поиска до тех пор, пока вы не устраните проблему. Поддержка nginx нестандартного кода 444 позволяет полностью перекрыть соединение без какой либо ответной отдачи.


  • Бан по геопризнаку
  • Если на вас ведутся DDOS-атаки из регионов, где вряд ли находится много ваших клиентов, вы можете полностью запретить доступ к вашему сайту из определенных регионов с помощью того же кода 444.


  • Использовать Нейронную сеть
  • Нейронная сеть может стать хорошим помощником в анализе информации и поиске ботов. При должном количестве информации, сеть довольно быстро обучается и изучает всех легитимных клиентов вашего проекта. Тем более, человек не всегда может на глаз заметить ботов в логе, в отличие от нейронной сети.


  • Использовать профайлер и отдатчик
  • Данные инструменты покажут вам, на какие запросы сайт тратит наибольшие временные ресурсы, выявят конкретный код, выполняющий эти запросы.


  • Анализировать ошибки
  • Анализ логов может дать вам много информации для борьбы с DDOS-атакой. Просмотрите объем трафика, время ответа сервера, количество ошибок.


  • Отслеживать количество запросов
  • В случае атаки, важно знать, сколько запросов осуществляется ежесекундно. Рост количества запросов в сравнении с нормальными данными в такой же период времени скажет вам о том, что на сайте действует большое количество ботов. Снижение объема запросов говорит о том, что сайт уже упал и недоступен для нормальных посетителей.


  • Использовать tcpdump
  • Это средство диагностики поможет выявить практически любые уязвимости в работе вашего сайта. А именно своевременное обнаружение уязвимостей может предотвратить большинство DDOS-атак, и тогда вам даже не потребуется тратить ресурсы на защиту от них.


  • Определить, действительно ли идет атака
  • Иногда бывает, что рекламная компания может вызывать такой же эффект, как и DDOS. Например, если вы подключили кэш, ваш сайт может довольно быстро упасть. Из за неоптимизированного кэширования страницы с картинками могут грузиться очень долго.


  • Лимитировать ресурсы в nginx
  • Очень важно, чтобы используемые ресурсы не превышали допустимых. Особенно часто превышение происходит с оперативной памятью. Если вы ограничите размеры заголовков и всех буферов для каждого клиента и на весь сервер целиком, это увеличит стойкость вашего сайта к ddos. Сделать это можно в настройках nginx.


  • Настраивать тайм-ауты в nginx
  • Время – тоже очень важный ресурс. Поэтому еще одним очень действенным способом защитить сайт является настройка таймаутов в nginx. Универсальных настроек таймаутов для всех сайтов не существует. Поэтому наилучшим решением будет выставить минимальное значение, но такое, чтобы сайт работал нормально без задержек обработки страниц. Такое решение проверено множество раз и считается оптимальным. Подобрать нужное значение можно методом простого тестирования.


  • Лимитировать соединения в nginx
  • Если в результате тестирования было выявлено, что сайт или какая-то его часть ведет себя нестабильно при большом количестве соединений, то это количество лучше ограничить. Ведь при некотором числе запросов сайт может упасть так, что поможет только перезагрузка.


  • Настраивать Ядро
  • Обратите внимание на такие более продвинутые настройки ядра, как:
    — время, проводимое сокетом в TCP-фазе FIN-WAIT-2;
    — размер приемного буфера сокетов TCP;
    — те же значения для не TCP буферов.


  • Проводить ревизию
  • Будет очень хорошо, если вы изучите все параметры proc/sys/net**. Будет полезным разобраться, насколько сильно эти параметры отличаются от дефолтных, и поискать специальные настройки для вашего сайта.

    DDOS-атаки в период развития интернет технологий несут большую угрозу для многих крупных проектов. Тем не менее, прочитав данную статью, вы могли понять, что способов борьбы с такими атаками огромное множество, поэтому при должной подготовке практически любая угроза может быть отражена и устранена.

    Что будем искать? Например,VPS-сервер

    Мы в социальных сетях