Бөлісу құралы:


Обнаружение новых угроз с помощью Microsoft Sentinel с Брандмауэр веб-приложений Azure

Веб-приложения сталкиваются с частыми вредоносными атаками, которые используют известные уязвимости, такие как внедрение кода и обхода путей. Эти атаки трудно предотвратить в коде приложения, так как им требуется постоянное обслуживание, исправление и мониторинг на нескольких уровнях архитектуры приложения. Решение Брандмауэр веб-приложений (WAF) может обеспечить более быструю и централизованную безопасность путем исправления известной уязвимости для всех веб-приложений, а не защиты каждого из них по отдельности. Azure Брандмауэр веб-приложений — это облачная служба, которая защищает веб-приложения от распространенных методов веб-взлома. Его можно быстро развернуть, чтобы получить полную видимость трафика веб-приложения и заблокировать вредоносные веб-атаки.

Интеграция Azure WAF с Microsoft Sentinel (облачное решение SIEM ) позволяет автоматизировать обнаружение и реагирование на угрозы, инциденты и оповещения, а также сэкономить время и усилия, обновляя политику WAF. В этой статье показано, как создавать правила и обнаружения аналитики в Microsoft Sentinel для атак, таких как внедрение кода.

Запросы обнаружения атак веб-приложения

Репозиторий GitHub сетевой безопасности Azure содержит следующие предварительно созданные запросы, которые можно использовать для создания аналитических правил в Microsoft Sentinel. Эти правила аналитики помогают с автоматизированным обнаружением и реагированием на атаки, такие как внедрение кода, обход пути и атаки на основе сканера.

  • Атаки на внедрение кода (Шлюз приложений и Front Door WAF)

    Атака на внедрение кода — это тип кибератаки, которая включает внедрение вредоносного кода в приложение. Затем приложение интерпретирует или запускает код, влияя на производительность и функцию приложения.

  • Путь обхода атак (Шлюз приложений и Front Door WAF)

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

  • Атаки на основе сканера (Шлюз приложений WAF)

    Веб-атака на основе сканера — это тип кибератаки, который включает использование сканера веб-уязвимостей для поиска и использования слабых мест безопасности в веб-приложениях. Сканер веб-уязвимостей — это средство, которое автоматически сканирует веб-приложения для распространенных уязвимостей, таких как внедрение SQL, XSS, CSRF и обход пути. Злоумышленник может использовать сканер для выявления уязвимых целевых объектов и запуска атак для их компрометации.

Настройка правил аналитики в Sentinel для атак веб-приложения

Для настройки правил аналитики требуются следующие предварительные требования:

Чтобы настроить правило аналитики в Sentinel, выполните следующие действия.

  1. Перейдите к Microsoft Sentinel и перейдите на вкладку "Аналитика ". Выберите "Создать " и выберите правило запланированного запроса. Screenshot showing creating a scheduled query rule.

    Тактика и методы, предоставляемые здесь, являются информационными только и являются источником из базы знаний о атаке MITRE Это база знаний тактики и методов противника, основанных на реальных наблюдениях.

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

    Screenshot showing the analytics rule wizard.

  3. На странице логики задания правила введите следующий предварительно созданный запрос внедрения кода: этот запрос можно найти в репозитории GitHub сетевой безопасности Azure. Аналогичным образом можно использовать любой другой запрос, доступный в репозитории, для создания правил аналитики и обнаружения соответствующих шаблонов атак.

     let Threshold = 3; 
    
     AzureDiagnostics
     | where Category == "ApplicationGatewayFirewallLog"
     | where action_s == "Matched"
     | where Message has "Injection" or Message has "File Inclusion"
     | where ruleGroup_s == "REQUEST-932-APPLICATION-ATTACK-RCE" or ruleGroup_s ==    "REQUEST-931-APPLICATION-ATTACK-RFI" or ruleGroup_s == "REQUEST-932-APPLICATION-ATTACK-RCE" or    ruleGroup_s == "REQUEST-933-APPLICATION-ATTACK-PHP" or ruleGroup_s ==    "REQUEST-942-APPLICATION-ATTACK-SQLI" or ruleGroup_s == "REQUEST-921-PROTOCOL-ATTACK" or ruleGroup_s    == "REQUEST-941-APPLICATION-ATTACK-XSS"
     | project transactionId_g, hostname_s, requestUri_s, TimeGenerated, clientIp_s, Message,    details_message_s, details_data_s
     | join kind = inner(
    
     AzureDiagnostics
    
     | where Category == "ApplicationGatewayFirewallLog"
     | where action_s == "Blocked") on transactionId_g
     | extend Uri = strcat(hostname_s,requestUri_s)
     | summarize StartTime = min(TimeGenerated), EndTime = max(TimeGenerated), TransactionID = make_set   (transactionId_g,100), Message = make_set(Message,100), Detail_Message = make_set(details_message_s,   100), Detail_Data = make_set(details_data_s,100), Total_TransactionId = dcount(transactionId_g) by    clientIp_s, Uri, action_s
     | where Total_TransactionId >= Threshold
    

    Screenshot showing the rule query.

    Примечание.

    Важно убедиться, что журналы WAF уже находятся в рабочей области Log Analytics перед созданием этого аналитического правила. В противном случае Sentinel не распознает некоторые столбцы в запросе, и вам придется добавить дополнительные входные данные, например | extend action_s = column_ifexists(“action_s”, “”), transactionId_g = column_ifexists(“transactionId_g”, “”) для каждого столбца, который дает ошибку. Эти входные данные создают имена столбцов вручную и присваивают им значения NULL. Чтобы пропустить этот шаг, сначала отправьте журналы WAF в рабочую область.

  4. На странице "Инцидент Параметры" включите инциденты создания из оповещений, активированных этим правилом аналитики. Группирование оповещений можно настроить по мере необходимости.

  5. Кроме того, при необходимости можно добавить любой автоматический ответ на инцидент. Дополнительные сведения об автоматическом обнаружении и ответе для Azure WAF в Microsoft Sentinel см. в статье об автоматическом обнаружении и ответе.

  6. Наконец, нажмите кнопку "Сохранить " на вкладке "Рецензирование" и "Создать ".

Это правило аналитики позволяет Sentinel создавать инциденты на основе журналов WAF, которые записывают любые атаки на внедрение кода. Azure WAF блокирует эти атаки по умолчанию, но создание инцидента обеспечивает дополнительную поддержку аналитику безопасности для реагирования на будущие угрозы.

Вы можете настроить правила аналитики в Sentinel для различных атак веб-приложения с помощью предварительно созданных запросов обнаружения, доступных в репозитории GitHub сетевой безопасности Azure. Эти запросы будут добавлены непосредственно в шаблоны обнаружения Sentinel. После добавления эти запросы будут доступны непосредственно в разделе шаблонов правил аналитики Sentinel.

Следующие шаги