Я подозреваю, что один из моих серверов был атакован некоторое время назад. У меня вопрос: как я могу идентифицировать DOS- или DDOS-атаку во время атаки или после ее завершения?
Атаки отказа в обслуживании сосредоточены на потреблении ограниченного ресурса. В основном это относится к сетевому трафику, но это может быть все, что у вас может закончиться. Например, если вашим веб-серверам требуется пять секунд для создания определенной сложной страницы, я могу сэкономить много времени на генерацию трафика и просто сделать много запросов для этой медленной страницы, которая быстро потребляет внутренние ресурсы сервера.
Атака отказа в обслуживании идентифицируется по значительному всплеску использования ресурсов. Если вы посмотрите на график и увидите, что он резко вырос, это может быть отказом в обслуживании.
То, что вы видите большой трафик или использование ресурсов, не означает, что это атака. В Эффект слэшдота объясняет это явление. Вы сможете понять это, только посмотрев свои журналы. Если у половины подключений есть рефереры, указывающие на легитимную статью, которая только что была размещена на крупном сайте, то это реальный трафик. Если нет, возможно, вы подверглись нападению.
Разница между DOS-атаками и DDOS-атаками сводится к задаче «перекрыть вентиль». Если это не распределенная атака, я могу просто убить атакующий хост или сеть на границе сети, и жизнь продолжится. Когда атака распространяется, это намного сложнее. Еще больше проблем, если ваш злоумышленник пытается сделать нежелательный трафик очень похожим на ваш обычный трафик.
Трудно определить разницу между преднамеренным злонамеренным действием и непреднамеренным, но тем не менее наносящим ущерб действием.
Вы видите большое количество полуоткрытых соединений в SYN_RECV
штат. Вы получаете лавинную рассылку SYN или кто-то, с кем вы работаете, изменил правило брандмауэра или правило исходящей маршрутизации?
Вы видите большой всплеск количества HTTP-запросов с одного IP-адреса. Это плохо воспитанный бот или скрипач, пытающийся атаковать вас из подвала своей матери? Или, может быть, всем студентам университета было отправлено электронное письмо со ссылкой на ваш сайт.
Вы видите большой всплеск количества HTTP-запросов со многих IP-адресов. DDoS или Reddit?
Вы видите большое количество DNS-запросов с одного IP-адреса. Этот сервер пытается атаковать вас или кто-то другой подменяет исходный адрес, чтобы сделать вас частью отраженной DNS-атаки?
Может быть несколько намеков на то, что ваш сайт не работает из-за преднамеренной атаки или обычного трафика. Некоторые из них можно определить из журналов, некоторые - только во время атаки:
Как сказал Джефф Ферланд, действительный Referer
Заголовок является хорошим намеком на то, что трафик является законным, однако это не абсолютное доказательство. Умеренно популярная страница с сотнями скрытых изображений, связанных с вашим сайтом, может быть способом инициирования DDoS-атаки. Это даже не обязательно должны быть изображения, подойдет любая страница. <img href="http://target-site.com" />
по-прежнему заставит клиента загрузить эту страницу с вашего веб-сервера, но отобразит значок сломанного изображения. Если вы найдете рефереров, проверьте страницу, если можете, и убедитесь, что она действительно законна.
Почтовые клиенты обычно не устанавливают реферера, но клиенты веб-почты делают это. Хотя вы не сможете увидеть письмо, просто загрузив реферер, тот факт, что он есть, предполагает, что это законный запрос.
В User-Agent
заголовок может быть хорошей подсказкой. Большинство легитимных ботов используют уникальные пользовательские агенты со ссылкой на около страница. Многие нелегитимные боты (спам-боты и парсеры электронной почты) используют IE 6.0 в качестве своего пользовательского агента. Большинство инструментов DoS содержат список реальных, но более старых пользовательских агентов из самых популярных браузеров, которые они меняют после каждого запроса. Если вы знаете нормальное соотношение различных версий каждого браузера на вашем веб-сайте, большие всплески Firefox 7.0.1 и IE 8.0 должны четко выделяться. Тем более, что сейчас Firefox и Chrome автоматически обновляются, редко можно увидеть версию, которой даже месяц.
Инструменты DoS могут запрашивать одну страницу или перемещаться по списку страниц, но в любом случае они обычно не запрашивают весь связанный контент, такой как таблицы стилей, сценарии JavaScript и изображения. Они также не отправляют заголовки управления кешем, такие как If-Modified-Since
и If-None-Match
поскольку они в значительной степени нарушают цель запроса. Если вы видите, что многие клиенты проявляют такое поведение, это может быть злонамеренным. (Если ваши элементы управления кешем настроены правильно.)
Инструменты DoS часто не отправляют те же заголовки, что и обычные веб-браузеры. Запустить tcpdump
на вашем сервере, чтобы захватить трафик и проанализировать его. Некоторые различия, которые я видел в ботах (не обязательно в инструментах DoS):
Host:
заголовок последним, а не первым. Обычные браузеры, кажется, перечисляют это сразу после GET.Accept-*:
заголовки. Мне очень понравились китайский и русский языки, но это анекдотично, а не статистически.Некоторые заголовки могут быть явно вредоносными, например Range:
заголовок, в котором перечислены тысячи перекрывающихся диапазонов.
Если у вас есть mod_forensic При включении вы можете анализировать эти заголовки после атаки, однако mod_forensic может создавать много данных в ваших журналах, что само по себе может вызвать DoS.
Что касается отраженной DNS-атаки, то просто проанализировать трафик практически невозможно. Вам придется выйти за пределы диапазона, чтобы понять это. Узнайте, кому принадлежит IP-адрес, и напишите им по электронной почте или позвоните им и спросите, действительно ли они делают все эти DNS-запросы.
Это подводит меня к внеполосным методам выявления злого умысла. Часто за DoS-атакой стоит причина. Google может помочь вам найти эту причину. Найдите свое доменное имя (но удалите результаты из этого домена с помощью -site:yourdomain.com
) и / или IP-адрес и ограничьте результаты самыми последними. Вы можете найти доказательства того, что злоумышленник хвастается, что вас сбил, или твит от @anonops, сигнализирующий о том, что вы являетесь текущей целью. Вы также можете найти историю Slashdot, в которой вас упоминают. В любом случае поиск вашего веб-сайта может сработать. Не забывайте и другие поисковые системы: у всех есть свои сканеры, и, поскольку вы ищете результаты в течение последних нескольких часов, ни одна из них не будет иметь полного охвата.
Некоторые DoS-атаки основаны на вымогательстве. Особенно против сайтов с большими деньгами и определенных запланированных мероприятий, таких как сайты азартных игр. Обычный метод - создать короткий DoS за неделю или две до Суперкубка или Гранд-Нэшнл, а затем пригрозить, что они сделают это снова в критический период, если им не заплатят. Если вы получили запрос о вымогательстве, вероятно, DoS был преднамеренным и злонамеренным.
Это зависит от запущенных вами служб. В Википедии есть хорошее определение:
Атака отказа в обслуживании (DoS-атака) или распределенная атака отказа в обслуживании (DDoS-атака) - это попытка совершить компьютер или сетевой ресурс недоступен для предполагаемых пользователей. Хотя средства проведения, мотивы и цели DoS-атаки могут различаться, обычно она состоит из согласованных усилий одного или нескольких людей, направленных на то, чтобы не дать Интернет-сайту или службе функционировать эффективно или вообще, временно или на неопределенный срок. .
Этот термин обычно используется в отношении компьютерных сетей, но не ограничивается этой областью; например, он также используется в отношении управления ресурсами ЦП.
Когда вы запускаете веб-сервер, вы увидите огромный всплеск GET-запросов, для DNS-сервисов это будет пчелиный поиск, ... Атака в основном состоит в том, чтобы запрашивать много у вашего сервера до тех пор, пока он не сможет справляться.
Простой прямой ответ на простой прямой вопрос:
Настройте мониторинг на своем маршрутизаторе для построения графика количества пакетов в секунду (pps). Если вы не можете построить график пакетов в секунду, тогда используйте график использования полосы пропускания. Я предлагаю использовать для этого такой пакет, как Cacti, очень простой с оборудованием Cisco, а также с локальными сетевыми интерфейсами.
После того, как у вас будет такой пробег, вы можете следить за скачками pps.
Если это простой DoS, вы можете довольно легко заблокировать источник трафика с помощью правил брандмауэра.
Если это DDoS, тогда, если у вас нет достаточно здоровенного оборудования, вам нужно, чтобы ваш провайдер IP-транзита прошел через маршрутизатор через службу DDoS-фильтра / защиты. Большинство транзитных провайдеров предлагают эту услугу.