Первый шаг в борьбе с DDOS-ом — заметить его. Особенно важно узнать о нем на ранних стадиях, когда он еще не развернулся на полную мощность, ибо тогда даже для администратора доступ к серверу может быть значительно затруднен. Ниже предлагается несколько способов раннего обнаружения DDOS с помощью сервиса мониторинга сайтов ХостТрекер.
Причиной написания этой статьи стала реальная история одного клиента, который регулярно подвергался ддосу и нуждался в инструменте для его диагностики.
Итак, кто-то начал Вас ддосить. Или же есть предпосылки к этому. Что же делать? Наилучший вариант, конечно же — это купить услуги какого-то «щита», например CloudFlare. Но не всем это по карману, к тому же ddosы бывают очень разные по интенсивности и продолжительности. То есть задача «заметить» все равно не снимается.
Как же это сделать?
Грубо. Ддосят именно затем, чтобы сайт перестал работать. Это очень легко ловится с помощью самого обычного мониторинга веб сайтов. Проверяем сайт с помощью одного из доступных на рынке инструментов — получаем сообщение об ошибке — реагируем. Просто и надежно. Но может быть поздно. Таким же образом можно мониторить доступность определенного порта или приложения (например, базы данных).
Тонко. Ддос начинается не мгновенно на полную мощность. Шаг за шагом подключаются новые сервера ботнета. Поэтому сайт сначала начинает немного тормозить. Потом — много. И лишь затем падает. Эти тормоза можно поймать с помощью функции мониторинга времени отклика. Для этого необходимо экспериментальным путем выяснить, какое же время отклика является нормальным (можно еще его оптимизировать, но это — другая история), а затем установить порог немного выше.
Еще тоньше. Кроме времени отклика, ддос конечно же заметен «изнутри». Установив простенький скрипт на свой сервер, можно очень быстро узнать, что использование CPU или какой-то другой внутренний параметр внезапно вырос:
Быстрая реакция, пока еще возможно к серверу подключиться удаленно, может спасти ситуацию.
Отбрасываем кратковременные срабатывания Есть разные способы автоматического подавления ддоса. Но, как правило, они тоже имеют свой порог чувствительности. Начало ддоса могут проморгать, а вот когда он уже развернется на полную — начать банить налево и направо. Так вот, если при этом настроить вышеупомянутые методы обнаружения ддоса — можно получить оповещение, полезть разбираться, а потом узнать, что автоматика все же сработала и нервы можно было и поберечь. Чтобы этого не случалось, в таких случаях рекомендуем установить задержку оповещения. Таким образом, вы узнаете только о тех проблемах, которые не проходят сами собой. Этим методом можно отфильтровать также другие кратковременные проблемы:
А если все объединить?
Если же делать все одновременно, то можно получить почти совершенную картину происходящего. Отделить лаги сети от серверных багов, глюков сайта и тормозов базы данных. И конечно же, почти со 100% вероятностью быть уверенным, DDOS ли это или нет. Как-то так выглядит сравнение доступности разных проверяемых ресурсов:
Ну и всегда можно сделать дополнительную страничку с виджетом на своем сайте, чтобы состояние системы могли в реальном времени отслеживать все желающие.
Как упоминалось над катом, причиной написания статьи стала переписка с клиентом, проблему которого мы помогли решить. Большинство наших функций разработаны как реакция на обращения клиентов или доброжелателей. Поэтому будем благодарны за предложения и конструктивную критику.
Автор: smiHT