Syslog- és CEF-üzenetek betöltése a Microsoft Sentinelbe az Azure Monitor-ügynökkel

Ez a cikk azt ismerteti, hogyan használható a Syslog az AMA és a Common Event Format (CEF) segítségével az AMA-összekötőken keresztül a Syslog-üzenetek gyors szűrésére és betöltésére, beleértve a Common Event Format (CEF) formátumú üzeneteket Linux-gépekről, valamint hálózati és biztonsági eszközökről és berendezésekről. További információ ezekről az adatösszekötőkről: Syslog via AMA and Common Event Format (CEF) via AMA connectors for Microsoft Sentinel.

Előfeltételek

A kezdés előtt konfigurálnia kell az erőforrásokat és az ebben a szakaszban leírt megfelelő engedélyeket.

A Microsoft Sentinel előfeltételei

  • Engedélyezve kell lennie a megfelelő Microsoft Sentinel-megoldásnak – a Syslognak és/vagy a Common Event Formatnak. További információ: A Microsoft Sentinel beépített tartalmainak felderítése és kezelése.

  • Az Azure-fióknak a következő Azure-szerepköralapú hozzáférés-vezérlési (Azure RBAC-) szerepköröknek kell rendelkeznie:

    Beépített szerepkör Hatókör Ok
    - Virtuális gépek közreműködője
    - Azure Csatlakozás gép
       Erőforrás-Rendszergazda istrator
  • Virtual machines (Virtuális gépek)
  • Virtual Machine Scale Sets
  • Azure Arc-kompatibilis kiszolgálók
  • Az ügynök üzembe helyezése
    Minden olyan szerepkör, amely tartalmazza a műveletet
    Microsoft.Resources/deployments/*
  • Előfizetés
  • Erőforráscsoport
  • Meglévő adatgyűjtési szabály
  • Azure Resource Manager-sablonok üzembe helyezése
    Figyelési közreműködő
  • Előfizetés
  • Erőforráscsoport
  • Meglévő adatgyűjtési szabály
  • Adatgyűjtési szabályok létrehozása vagy szerkesztése

A naplótovábbító előfeltételei

Ha egy naplótovábbítótól gyűjt üzeneteket, a következő további előfeltételek érvényesek:

  • A naplók gyűjtéséhez rendelkeznie kell egy kijelölt Linux rendszerű virtuális géppel (a naplótovábbítóval).

  • Ha a naplótovábbító nem Azure-beli virtuális gép, akkor az Azure Arc Csatlakozás ed Machine-ügynököt kell telepíteni.

  • A Linux-naplótovábbító virtuális gépnek telepítve kell lennie a Python 2.7-nek vagy 3-nak. Az ellenőrzéshez használja a python --version vagy python3 --version a parancsot. Ha a Python 3-at használja, győződjön meg arról, hogy a gép alapértelmezett parancsaként van beállítva, vagy futtassa az alábbi szkripteket a "python3" paranccsal a "python" helyett.

  • A naplótovábbítónak engedélyeznie kell a démont vagy rsyslog a syslog-ng démont.

  • A naplótovábbító helykövetelményeiért tekintse meg az Azure Monitor-ügynök teljesítménymutatóját. Ezt a blogbejegyzést is áttekintheti, amely skálázható betöltési terveket is tartalmaz.

  • A naplóforrásokat (a biztonsági eszközöket és berendezéseket) úgy kell konfigurálni, hogy a naplóüzeneteiket a naplótovábbító Syslog démonjának küldjék el a helyi Syslog démon helyett.

Az adatbetöltés duplikálásának elkerülése

Ha ugyanazt a létesítményt használja a Syslog és a CEF-üzenetek esetében is, az adatbetöltés duplikálását eredményezheti a CommonSecurityLog és a Syslog táblák között.

A forgatókönyv elkerülése érdekében használja az alábbi módszerek egyikét:

  • Ha a forráseszköz engedélyezi a céllétesítmény konfigurálását: Minden olyan forrásgépen, amely CEF formátumban küld naplókat a naplótovábbítónak, szerkessze a Syslog konfigurációs fájlját a CEF-üzenetek küldéséhez használt létesítmények eltávolításához. Így a CEF-ben küldött létesítmények nem lesznek elküldve a Syslogban sem. Győződjön meg arról, hogy a következő lépésekben konfigurált összes DCR a CEF vagy a Syslog megfelelő létesítményét használja.

    Ha szeretne egy példát látni arra, hogyan rendezhet el egy DCR-t a Syslog- és CEF-üzenetek ugyanazon ügynöktől való betöltéséhez, a cikk későbbi részében ugyanabban a DCR-ben nyissa meg a Syslog és a CEF-streameket.

  • Ha a forrásberendezés létesítményének módosítása nem alkalmazható: Betöltési idő átalakításával szűrje ki a CEF-üzeneteket a Syslog-streamből a duplikáció elkerülése érdekében, ahogyan az alábbi lekérdezési példában látható. Az adatok kétszer lesznek elküldve a gyűjtőgépről a munkaterületre.

    source |
    where ProcessName !contains "CEF"
    

Gépbiztonság konfigurálása

Győződjön meg arról, hogy a gép biztonságát a szervezet biztonsági szabályzatának megfelelően konfigurálja. Konfigurálhatja például a hálózatot úgy, hogy igazodjon a vállalati hálózati biztonsági szabályzathoz, és módosítsa a démon portjait és protokolljait a követelményeknek megfelelően. A gép biztonsági konfigurációjának javítása érdekében biztonságossá teheti a virtuális gépet az Azure-ban, vagy áttekintheti a hálózati biztonságra vonatkozó ajánlott eljárásokat.

Ha az eszközei Syslog- és CEF-naplókat küldenek a TLS-en keresztül (mert például a naplótovábbító a felhőben van), konfigurálnia kell a Syslog démont (rsyslog vagy syslog-ng) a TLS-ben való kommunikációhoz:

Az adatösszekötők beállítása

Válassza a megfelelő lapot a syslogra vagy a CEF-re vonatkozó utasítások megtekintéséhez.

A Syslog beállítása az AMA-összekötőn keresztül

A Syslog AMA-összekötőn keresztüli beállítási folyamata két részből áll:

  1. Telepítse az Azure Monitor-ügynököt, és hozzon létre egy adatgyűjtési szabályt (DCR).

  2. Ha naplókat gyűjt más gépekről egy naplótovábbító használatával, futtassa a "telepítési" szkriptet a naplótovábbítón, hogy konfigurálja a Syslog démont a más gépekről érkező üzenetek figyeléséhez, valamint a szükséges helyi portok megnyitásához.

Telepítse az AMA-t, és hozzon létre egy adatgyűjtési szabályt (DCR)

Ezt a lépést kétféleképpen hajthatja végre:

  • Telepítse és konfigurálja a Syslogot az AMA vagy a Common Event Format (CEF) használatával a Microsoft Sentinel portál AMA-adatösszekötőjével . Ezzel a beállítással munkaterületenként tartományvezérlőket hozhat létre, kezelhet és törölhet. Az AMA automatikusan települ az összekötő konfigurációjában kiválasztott virtuális gépekre.
    —VAGY—
  • HTTP-kérések küldése a Logs Ingestion API-nak. Ezzel a beállítással tartományvezérlőket hozhat létre, kezelhet és törölhet. Ez a lehetőség rugalmasabb, mint a portál. Az API-val például meghatározott naplószintek alapján szűrhet, ahol a felhasználói felületen csak a minimális naplószintet választhatja ki. Ennek hátránya, hogy a DCR létrehozása előtt manuálisan kell telepítenie az Azure Monitor-ügynököt a naplótovábbítóra.

Az egyes útokkal kapcsolatos utasítások megtekintéséhez válassza az alábbi megfelelő lapot.

Nyissa meg az összekötő lapot, és indítsa el a DCR varázslót

  1. Nyissa meg az Azure Portalt , és lépjen a Microsoft Sentinel szolgáltatáshoz.

  2. Adatösszekötők kiválasztása a navigációs menüből

  3. Írja be a Syslog kifejezést a Keresőmezőbe . Az eredmények közül válassza ki a Syslogot az AMA-összekötőn keresztül.

  4. Válassza az Összekötő megnyitása lapot a részletek panelen.

  5. A Konfiguráció területen válassza a +Adatgyűjtési szabály létrehozása lehetőséget.

    Képernyőkép az AMA-összekötőn keresztüli CEF-ről.

  6. Az Alapszintű lapon:

    • Adjon meg egy DCR-nevet.
    • Válassza ki előfizetését.
    • Válassza ki azt az erőforráscsoportot, amelyben meg szeretné keresni a DCR-t.

    Képernyőkép a DCR részleteiről az Alapszintű lapon.

  7. Válassza a Következő: Erőforrások >lehetőséget.

Erőforrások definiálása (virtuális gépek)

Az Erőforrások lapon válassza ki azokat a gépeket, amelyekre telepíteni szeretné az AMA-t – ebben az esetben a naplótovábbító gépet. (Ha a naplótovábbító nem jelenik meg a listában, előfordulhat, hogy nincs telepítve az Azure Csatlakozás gépügynöke.)

  1. A naplótovábbító virtuális gép megkereséséhez használja a rendelkezésre álló szűrőket vagy keresőmezőket. A listában kibonthatja az előfizetést az erőforráscsoportok megtekintéséhez, az erőforráscsoportokat pedig a virtuális gépek megtekintéséhez.

  2. Válassza ki azt a naplótovábbító virtuális gépet, amelyen telepíteni szeretné az AMA-t. (A jelölőnégyzet a virtuális gép neve mellett jelenik meg, amikor rámutat rá.)

    Képernyőkép az erőforrások kiválasztásáról a DCR beállításakor.

  3. Tekintse át a módosításokat, és válassza a Tovább: Gyűjtés >lehetőséget.

Válassza ki a létesítményeket és a súlyosságokat, és hozza létre a DCR-t

Feljegyzés

Ha ugyanazt a létesítményt használja a Syslog és a CEF-üzenetek esetében is, az adatbetöltés duplikálását eredményezheti. Megtudhatja, hogyan kerülheti el az adatbetöltési duplikációt.

  1. A Gyűjtemény lapon válassza ki az egyes létesítmények minimális naplószintét. Amikor kiválaszt egy naplószintet, a Microsoft Sentinel összegyűjti a naplókat a kiválasztott szinthez és a magasabb súlyosságú egyéb szintekhez. Ha például LOG_ERR választ, a Microsoft Sentinel naplókat gyűjt a LOG_ERR, LOG_CRIT, LOG_ALERT és LOG_EMERG szintekről.

    Képernyőkép a naplószintek kiválasztásáról a DCR beállításakor.

  2. Tekintse át a kijelölt elemeket, és válassza a Tovább: Áttekintés + létrehozás lehetőséget.

  3. A Véleményezés és létrehozás lapon válassza a Létrehozás lehetőséget.

    Képernyőkép a DCR konfigurációjának áttekintéséről és létrehozásáról.

  • Az összekötő telepíti az Azure Monitor-ügynököt a DCR létrehozásakor kiválasztott gépekre.

  • Az Azure Portal értesítései a DCR létrehozásakor és az ügynök telepítésekor jelennek meg.

  • Válassza a Frissítés lehetőséget az összekötő oldalán a DCR megjelenítéséhez a listában.

Példák létesítményekre és naplószintekre

Tekintse át ezeket a példákat a létesítményekre és a naplószint-beállításokra. A name mező tartalmazza a szűrő nevét.

A CEF-üzenetek betöltéséhez a következő értéknek "streams" kell lennie "Microsoft-CommonSecurityLog""Microsoft-Syslog": .

Ez a példa a cron, , daemon, local3local0és uucp létesítmények eseményeit gyűjti össze a Warning, Error, , AlertCritical, és Emergency naplószintekkel:

    "dataSources": {
      "syslog": [
        {
        "name": "SyslogStream0",
        "streams": [
          "Microsoft-Syslog"
        ],
        "facilityNames": [ 
          "cron",
          "daemon",
          "local0",
          "local3", 
          "uucp"
        ],
        "logLevels": [ 
          "Warning", 
          "Error", 
          "Critical", 
          "Alert", 
          "Emergency"
        ]
      }
    ]
  }
Syslog- és CEF-streamek ugyanabban a DCR-ben

Ez a példa bemutatja, hogyan gyűjthet Syslog- és CEF-üzeneteket ugyanabban a DCR-ben.

A syslog- és CEF-üzenetek egyetlen ügynökkel és DCR-sel való betöltésekor követendő lépésekről a cikk korábbi, adatbetöltési duplikációjának elkerülése című témakörben olvashat.

A DCR a következő CEF-eseményüzeneteket gyűjti:

  • mark A authpriv , , Notice, Warning, ErrorCritical, Alertés Emergency naplószinttel rendelkező létesítmények Info
  • A daemon létesítmény a Warning, Error, Critical, Alert, és Emergency naplószinttel

Syslog-eseményüzeneteket gyűjt a következőhöz:

  • A kern, local0, local5, és news létesítmények a Critical, Alertés Emergency naplószintekkel
  • A mail naplószinttel rendelkező Emergency létesítmények és uucp létesítmények
    "dataSources": {
      "syslog": [
        {
          "name": "CEFStream1",
          "streams": [ 
            "Microsoft-CommonSecurityLog"
          ],
          "facilityNames": [ 
            "authpriv", 
            "mark"
          ],
          "logLevels": [
            "Info",
            "Notice", 
            "Warning", 
            "Error", 
            "Critical", 
            "Alert", 
            "Emergency"
          ]
        },
        {
          "name": "CEFStream2",
          "streams": [ 
            "Microsoft-CommonSecurityLog"
          ],
          "facilityNames": [ 
            "daemon"
          ],
          "logLevels": [ 
            "Warning", 
            "Error", 
            "Critical", 
            "Alert", 
            "Emergency"
          ]
        },
        {
          "name": "SyslogStream3",
          "streams": [ 
            "Microsoft-Syslog"
          ],
          "facilityNames": [ 
            "kern",
            "local0",
            "local5", 
            "news"
          ],
          "logLevels": [ 
            "Critical", 
            "Alert", 
            "Emergency"
          ]
        },
        {
          "name": "SyslogStream4",
          "streams": [ 
            "Microsoft-Syslog"
          ],
          "facilityNames": [ 
            "mail",
            "uucp"
          ],
          "logLevels": [ 
            "Emergency"
          ]
        }
      ]
    }

Futtassa a "telepítési" szkriptet

A "telepítési" szkript valójában nem telepít semmit, de megfelelően konfigurálja a Syslog démont a naplótovábbítón a naplók gyűjtéséhez.

  1. Az összekötő oldaláról másolja ki a következő parancs futtatásával megjelenő parancssort a CEF-gyűjtő telepítéséhez és alkalmazásához: a mellette lévő másolási ikonra kattintva.

    Képernyőkép a parancssorról az összekötő oldalán.

    Innen is másolhatja:

    sudo wget -O Forwarder_AMA_installer.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Forwarder_AMA_installer.py&&sudo python Forwarder_AMA_installer.py
    
  2. Jelentkezzen be a naplótovábbító gépre, ahol most telepítette az AMA-t.

  3. Illessze be az utolsó lépésben másolt parancsot a telepítési szkript elindításához.
    A szkript konfigurálja a rsyslogsyslog-ng démont a szükséges protokoll használatára, és újraindítja a démont. A szkript megnyitja az 514-ös portot, hogy az UDP- és TCP-protokollokban is figyelje a bejövő üzeneteket. A beállítás módosításához tekintse meg a Syslog démon konfigurációs fájlját a számítógépen futó démontípusnak megfelelően:

    • Rsyslog: /etc/rsyslog.conf
    • Syslog-ng: /etc/syslog-ng/syslog-ng.conf

    Feljegyzés

    A teljes lemezes forgatókönyvek elkerülése érdekében, ha az ügynök nem tud működni, javasoljuk, hogy állítsa be a syslog-ngrsyslog konfigurációt a szükségtelen naplók tárolására. A teljes lemezes forgatókönyv megzavarja a telepített AMA működését. További információ az RSyslogról vagy a Syslog-ng-ről.

Az összekötő tesztelése

  1. Annak ellenőrzéséhez, hogy a syslog démon fut-e az UDP-porton, és hogy az AMA figyel-e, futtassa a következő parancsot:

    netstat -lnptv
    

    Az 514-ös porton látnia kell a rsyslog démont syslog-ng vagy a démont.

  2. A naplózótól vagy csatlakoztatott eszközről küldött üzenetek rögzítéséhez futtassa ezt a parancsot a háttérben:

    tcpdump -i any port 514 -A -vv &
    
  3. Az ellenőrzés befejezése után javasoljuk, hogy állítsa le a következőt: Írja be, majd válassza a tcpdumpCtrl C billentyűkombinációt+.fg

  4. Demóüzenetek küldéséhez tegye az alábbiak egyikét:

    • Használja a netcat segédprogramot. Ebben a példában a segédprogram beolvassa a echo parancson keresztül közzétett adatokat, és az új vonalkapcsoló ki van kapcsolva. A segédprogram ezután időtúllépés nélkül írja az adatokat a localhost UDP-portjára 514 . A netcat segédprogram futtatásához szükség lehet egy további csomag telepítésére.

      echo -n "<164>CEF:0|Mock-test|MOCK|common=event-format-test|end|TRAFFIC|1|rt=$common=event-formatted-receive_time" | nc -u -w0 localhost 514
      
    • Használja a naplózót. Ez a példa az üzenetet a local 4 létesítménynek írja súlyossági szinten Warning, a porton 514, a helyi gazdagépen, CEF RFC formátumban. A -t jelzők a --rfc3164 várt RFC-formátumnak való megfelelésre szolgálnak.

      logger -p local4.warn -P 514 -n 127.0.0.1 --rfc3164 -t CEF "0|Mock-test|MOCK|common=event-format-test|end|TRAFFIC|1|rt=$common=event-formatted-receive_time"
      
  5. Az összekötő megfelelő telepítésének ellenőrzéséhez futtassa a hibaelhárítási szkriptet az alábbi parancsok egyikével:

    • CEF-naplók esetén futtassa a következőt:

       sudo wget -O Sentinel_AMA_troubleshoot.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Sentinel_AMA_troubleshoot.py&&sudo python Sentinel_AMA_troubleshoot.py --cef
      
    • A Cisco Adaptive Security Appliance (ASA) naplóihoz futtassa a következőt:

      sudo wget -O Sentinel_AMA_troubleshoot.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Sentinel_AMA_troubleshoot.py&&sudo python Sentinel_AMA_troubleshoot.py --asa
      
    • A Cisco Firepower Threat Defense (FTD) naplóihoz futtassa a következőt:

      sudo wget -O Sentinel_AMA_troubleshoot.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Sentinel_AMA_troubleshoot.py&&sudo python Sentinel_AMA_troubleshoot.py --ftd