Új fenyegetések észlelése a Microsoft Sentinel használatával az Azure Web Application Firewall használatával

A webalkalmazások gyakran rosszindulatú támadásokkal szembesülnek, amelyek kihasználják a jól ismert biztonsági réseket, például a kódinjektálást és az útvonal-bejárási támadásokat. Ezeket a támadásokat nehéz megakadályozni az alkalmazáskódban, mivel az alkalmazásarchitektúra több szintjén folyamatos karbantartást, javítást és monitorozást igényelnek. A webalkalmazási tűzfal (WAF) megoldás gyorsabb és központosított biztonságot nyújthat azáltal, hogy az összes webalkalmazás ismert biztonsági rését kijavítja ahelyett, hogy egyenként biztosítanák azokat. Az Azure Web Application Firewall egy natív felhőszolgáltatás, amely megvédi a webalkalmazásokat a gyakori web hackelési technikáktól. Gyorsan üzembe helyezhető, hogy teljes mértékben áttekintse a webalkalmazások forgalmát, és letiltsa a rosszindulatú webes támadásokat.

Az Azure WAF és a Microsoft Sentinel (felhőalapú natív SIEM-megoldás ) integrálásával automatizálhatja a fenyegetések/incidensek/riasztások észlelését és reagálását, és időt és energiát takaríthat meg a WAF-szabályzat frissítésével. Ez a cikk bemutatja, hogyan hozhat létre elemzési szabályokat/észleléseket a Microsoft Sentinelben olyan támadásokhoz, mint a Code Injection.

Webalkalmazás-támadások észlelési lekérdezései

Az Azure Network Security GitHub-adattár az alábbi előre összeállított lekérdezéseket tartalmazza, amelyekkel elemzési szabályokat hozhat létre a Microsoft Sentinelben. Ezek az elemzési szabályok segítenek az olyan támadások automatikus észlelésében és elhárításában, mint a kódinjektálás, az elérési út bejárása és a szkenneralapú támadások.

  • Kódinjektálási támadások (Application Gateway és Front Door WAF)

    A kódinjektálási támadás egy olyan kibertámadástípus, amely rosszindulatú kódot injektál egy alkalmazásba. Az alkalmazás ezután értelmezi vagy futtatja a kódot, ami befolyásolja az alkalmazás teljesítményét és működését.

  • Útvonal-bejárási támadások (Application Gateway és Front Door WAF)

    Az elérésiút-bejárási támadás egy olyan típusú kibertámadás, amely magában foglalja egy alkalmazás fájlútvonalainak manipulálását a webes gyökérmappán kívül tárolt fájlok és könyvtárak eléréséhez. A támadó speciális karakterütemezéseket használhat, például …/…\a címtárhierarchiát, és hozzáférhet bizalmas vagy bizalmas adatokhoz, például konfigurációs fájlokhoz, forráskódokhoz vagy rendszerfájlokhoz.

  • Scanner-alapú támadások (Application Gateway WAF)

    A képolvasóalapú webes támadások olyan kibertámadások, amelyek egy webes sebezhetőségi ellenőrző használatával keresik és használják ki a webalkalmazások biztonsági gyengeségeit. A webes biztonságirés-ellenőrző egy olyan eszköz, amely automatikusan megvizsgálja a webalkalmazások gyakori biztonsági réseit, például az SQL-injektálást, az XSS-t, a CSRF-et és az elérési utat. A támadó a képolvasóval azonosíthatja a sebezhető célokat, és támadásokat indíthat a támadások veszélyeztetése érdekében.

Elemzési szabályok beállítása a Sentinelben webalkalmazás-támadásokhoz

Az elemzési szabályok beállításához a következő előfeltételek szükségesek:

  • Egy működő WAF és egy Log Analytics-munkaterület, amely úgy van konfigurálva, hogy naplókat fogadjon a megfelelő Azure-alkalmazás átjáróból vagy az Azure Front Doorból. További információkért tekintse meg az Azure Web Application Firewall erőforrásnaplóit.
  • Emellett engedélyezni kell a Microsoft Sentinelt az itt használt Log Analytics-munkaterületen. További információ : Rövid útmutató: A Microsoft Sentinel előkészítése.

Az alábbi lépésekkel konfigurálhat egy elemzési szabályt a Sentinelben.

  1. Lépjen a Microsoft Sentinel lapra, és válassza az Elemzés lapot. Válassza a Létrehozás, majd az Ütemezett lekérdezési szabály lehetőséget. Screenshot showing creating a scheduled query rule.

    Az itt megadott taktikák és technikák csak tájékoztató jellegűek, és a MITRE Attack Tudásbázisból származnak. Ez a támadó taktikák és technikák tudásbázis valós megfigyeléseken alapuló.

  2. Az Elemzési szabály varázslóval beállíthatja az incidens súlyossági szintjét. Mivel ezek fő támadások, a nagy súlyosság van kiválasztva.

    Screenshot showing the analytics rule wizard.

  3. A Szabály beállítása logikai lapon adja meg a következő előre összeállított Kódinjektálási lekérdezést: Ezt a lekérdezést az Azure Network Security GitHub-adattárban találja. Hasonlóképpen az adattárban elérhető bármely más lekérdezéssel is létrehozhat elemzési szabályokat, és észlelheti a megfelelő támadási mintákat.

     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.

    Feljegyzés

    Az elemzési szabály létrehozása előtt fontos, hogy a WAF-naplók már a Log Analytics-munkaterületen legyenek. Ellenkező esetben a Sentinel nem ismeri fel a lekérdezés egyes oszlopait, és további bemenetet kell hozzáadnia, mint | extend action_s = column_ifexists(“action_s”, “”), transactionId_g = column_ifexists(“transactionId_g”, “”) minden olyan oszlophoz, amely hibát ad. Ez a bemenet manuálisan hozza létre az oszlopneveket, és null értékeket rendel hozzájuk. A lépés kihagyásához először küldje el a WAF-naplókat a munkaterületre.

  4. Az Incidens Gépház lapon engedélyezze a jelen elemzési szabály által aktivált riasztásokból származó incidensek létrehozását. A riasztások csoportosítása igény szerint konfigurálható.

  5. Szükség esetén bármilyen automatikus választ is hozzáadhat az incidenshez. Az automatikus válaszkonfigurációval kapcsolatos részletesebb információkért tekintse meg az Azure WAF automatikus észlelését és válaszát a Microsoft Sentinellel .

  6. Végül válassza a Mentés a Véleményezés és létrehozás lapon lehetőséget.

Ez az elemzési szabály lehetővé teszi a Sentinel számára, hogy a kódinjektálási támadásokat rögzítő WAF-naplók alapján hozzon létre incidenst. Az Azure WAF alapértelmezés szerint blokkolja ezeket a támadásokat, de az incidens létrehozása nagyobb támogatást nyújt a biztonsági elemző számára a jövőbeli fenyegetésekre való reagáláshoz.

A Sentinelben az Azure Network Security GitHub-adattárban elérhető előre összeállított észlelési lekérdezésekkel konfigurálhatja a Különböző webalkalmazás-támadások elemzési szabályait. Ezek a lekérdezések közvetlenül a Sentinel-észlelési sablonokhoz lesznek hozzáadva. A hozzáadás után ezek a lekérdezések közvetlenül elérhetők lesznek a Sentinel Elemzési szabálysablonok szakaszában.

Következő lépések