Ingestování zpráv Syslogu a CEF do Služby Microsoft Sentinel pomocí agenta služby Azure Monitor

Tento článek popisuje, jak používat Syslog prostřednictvím AMA a common event Format (CEF) prostřednictvím konektorů AMA k rychlému filtrování a ingestování zpráv Syslogu, včetně zpráv ve formátu CEF (Common Event Format), z počítačů s Linuxem a ze síťových a bezpečnostních zařízení a zařízení. Další informace o těchto datových konektorech najdete v tématu Syslog přes AMA a COMMON Event Format (CEF) prostřednictvím konektorů AMA pro Microsoft Sentinel.

Požadavky

Než začnete, musíte mít nakonfigurované prostředky a příslušná oprávnění popsaná v této části.

Požadavky služby Microsoft Sentinel

Požadavky pro předávání protokolů

Pokud shromažďujete zprávy z nástroje pro předávání protokolů, platí následující další požadavky:

  • Abyste mohli shromažďovat protokoly, musíte mít určený virtuální počítač s Linuxem (váš nástroj pro předávání protokolů).

  • Pokud váš nástroj pro předávání protokolů není virtuálním počítačem Azure, musí mít na něm nainstalovaný agent azure Arc Připojení ed Machine.

  • Virtuální počítač pro předávání protokolů s Linuxem musí mít nainstalovaný Python 2.7 nebo 3. python --version Pomocí příkazu nebo python3 --version příkazu zkontrolujte. Pokud používáte Python 3, ujistěte se, že je nastavený jako výchozí příkaz na počítači, nebo spusťte následující skripty pomocí příkazu python3 místo pythonu.

  • Služba předávání protokolů musí mít povolenou syslog-ng funkci démon nebo rsyslog démon.

  • Informace o požadavcích na místo pro váš nástroj pro předávání protokolů najdete na srovnávacím testu výkonu agenta služby Azure Monitor. Můžete si také projít tento blogový příspěvek, který obsahuje návrhy pro škálovatelný příjem dat.

  • Zdroje protokolů (vaše bezpečnostní zařízení a zařízení) musí být nakonfigurované tak, aby odesílaly zprávy protokolu do démona syslogu syslogu, nikoli místnímu démonu Syslogu.

Vyhněte se duplikaci příjmu dat

Použití stejného zařízení pro zprávy Syslog i CEF může vést k duplikaci příjmu dat mezi tabulkami CommonSecurityLog a Syslog.

Pokud se chcete tomuto scénáři vyhnout, použijte jednu z těchto metod:

  • Pokud zdrojové zařízení povolí konfiguraci cílového zařízení: Na každém zdrojovém počítači, který odesílá protokoly do nástroje pro předávání protokolů ve formátu CEF, upravte konfigurační soubor Syslog a odeberte zařízení použitá k odesílání zpráv CEF. Tímto způsobem se zařízení odesílaná v CEF také neodesílají v Syslogu. Ujistěte se, že každý řadič domény nakonfigurovaný v dalších krocích používá příslušné zařízení pro CEF nebo Syslog.

    Pokud se chcete podívat na příklad uspořádání DCR pro příjem zpráv Syslogu i CEF ze stejného agenta, přejděte do streamů Syslog a CEF ve stejném dcR dále v tomto článku.

  • Pokud změna zařízení pro zdrojové zařízení není použitelná: Pomocí transformace ingestování času vyfiltrujte zprávy CEF z datového proudu Syslog, abyste se vyhnuli duplikaci, jak je znázorněno v následujícím příkladu dotazu. Data se odešlou z počítače kolektoru do pracovního prostoru dvakrát.

    source |
    where ProcessName !contains "CEF"
    

Konfigurace zabezpečení počítače

Nezapomeňte nakonfigurovat zabezpečení počítače podle zásad zabezpečení vaší organizace. Můžete například nakonfigurovat síť tak, aby odpovídala zásadám zabezpečení podnikové sítě, a změnit porty a protokoly v procesu démon tak, aby odpovídaly vašim požadavkům. Pokud chcete zlepšit konfiguraci zabezpečení počítače, zabezpečte virtuální počítač v Azure nebo si projděte tyto osvědčené postupy pro zabezpečení sítě.

Pokud vaše zařízení odesílají protokoly Syslog a CEF přes protokol TLS (protože například váš nástroj pro předávání protokolů je v cloudu), musíte nakonfigurovat proces démon syslogu (rsyslog nebo syslog-ng) pro komunikaci v protokolu TLS:

Nastavení datových konektorů

Výběrem příslušné karty zobrazíte pokyny pro syslog nebo CEF.

Nastavení syslogu přes konektor AMA

Proces nastavení pro Syslog prostřednictvím konektoru AMA má dvě části:

  1. Nainstalujte agenta Služby Azure Monitor a vytvořte pravidlo shromažďování dat (DCR).

  2. Pokud shromažďujete protokoly z jiných počítačů pomocí nástroje pro předávání protokolů, spusťte v nástroji pro předávání protokolů skript "instalace", abyste nakonfigurovali démona Syslogu tak, aby naslouchal zprávám z jiných počítačů, a otevřete potřebné místní porty.

Instalace AMA a vytvoření pravidla shromažďování dat (DCR)

Tento krok můžete provést jedním ze dvou způsobů:

  • Nasaďte a nakonfigurujte Syslog prostřednictvím AMA nebo cef (Common Event Format) prostřednictvím datového konektoru AMA na portálu Microsoft Sentinel. Pomocí tohoto nastavení můžete vytvářet, spravovat a odstraňovat žádosti DCR pro každý pracovní prostor. AMA se automaticky nainstaluje na virtuální počítače, které vyberete v konfiguraci konektoru.
    —NEBO—
  • Odešlete požadavky HTTP do rozhraní API pro příjem protokolů. Pomocí tohoto nastavení můžete vytvářet, spravovat a odstraňovat žádosti o správu domény. Tato možnost je flexibilnější než portál. Pomocí rozhraní API můžete například filtrovat podle konkrétních úrovní protokolu, kde s uživatelským rozhraním můžete vybrat pouze minimální úroveň protokolu. Nevýhodou je, že před vytvořením DCR musíte do nástroje pro předávání protokolů ručně nainstalovat agenta služby Azure Monitor.

Výběrem příslušné karty níže zobrazíte pokyny pro každý způsob.

Otevřete stránku konektoru a spusťte průvodce DCR.

  1. Otevřete Azure Portal a přejděte do služby Microsoft Sentinel .

  2. Výběr datových konektorů z navigační nabídky

  3. Do vyhledávacího pole zadejte Syslog. Ve výsledcích vyberte Syslog prostřednictvím konektoru AMA .

  4. V podokně podrobností vyberte Otevřít stránku konektoru.

  5. V oblasti Konfigurace vyberte +Vytvořit pravidlo shromažďování dat.

    Snímek obrazovky zobrazující CEF přes stránku konektoru AMA

  6. Na kartě Základní :

    • Zadejte název DCR.
    • Vyberte své předplatné.
    • Vyberte skupinu prostředků, ve které chcete najít řadič domény.

    Snímek obrazovky zobrazující podrobnosti DCR na kartě Základní

  7. Vyberte Další: Prostředky >.

Definování prostředků (virtuálních počítačů)

Na kartě Prostředky vyberte počítače, na kterých chcete nainstalovat AMA – v tomto případě počítač pro předávání protokolů. (Pokud se váš nástroj pro předávání protokolů nezobrazí v seznamu, nemusí mít nainstalovaný agent azure Připojení ed Machine.)

  1. K vyhledání virtuálního počítače pro předávání protokolů použijte dostupné filtry nebo vyhledávací pole. V seznamu můžete rozbalit předplatné, abyste viděli jeho skupiny prostředků a skupinu prostředků, abyste viděli její virtuální počítače.

  2. Vyberte virtuální počítač pro předávání protokolů, na který chcete nainstalovat AMA. (Zaškrtávací políčko se zobrazí vedle názvu virtuálního počítače, když na něj najedete myší.)

    Snímek obrazovky znázorňující, jak vybrat prostředky při nastavování DCR

  3. Zkontrolujte změny a vyberte Další: Shromáždit >.

Vyberte zařízení a závažnosti a vytvořte DCR.

Poznámka:

Použití stejného zařízení pro zprávy Syslog i CEF může vést k duplikaci příjmu dat. Zjistěte, jak se vyhnout duplikaci příjmu dat.

  1. Na kartě Shromáždit vyberte minimální úroveň protokolu pro každé zařízení. Když vyberete úroveň protokolu, Microsoft Sentinel shromažďuje protokoly pro vybranou úroveň a další úrovně s vyšší závažností. Pokud například vyberete LOG_ERR, Microsoft Sentinel shromažďuje protokoly pro úrovně LOG_ERR, LOG_CRIT, LOG_ALERT a LOG_EMERG .

    Snímek obrazovky znázorňující výběr úrovní protokolu při nastavování DCR

  2. Zkontrolujte výběry a vyberte Další: Zkontrolovat a vytvořit.

  3. Na kartě Revize a vytvoření vyberte Vytvořit.

    Snímek obrazovky znázorňující, jak zkontrolovat konfiguraci dcR a vytvořit ho

  • Konektor nainstaluje agenta Azure Monitoru na počítače, které jste vybrali při vytváření DCR.

  • Po vytvoření dcR a instalaci agenta se zobrazí oznámení z webu Azure Portal.

  • Výběrem možnosti Aktualizovat na stránce konektoru zobrazíte řadič domény zobrazený v seznamu.

Příklady oddílů úrovní zařízení a protokolů

Projděte si tyto příklady nastavení úrovní zařízení a protokolů. Pole name obsahuje název filtru.

V případě příjmu "streams" zpráv CEF by hodnota měla být "Microsoft-CommonSecurityLog" místo "Microsoft-Syslog".

Tento příklad shromažďuje události z cronúrovně , , daemon, local0local3 a uucp zařízení, s Warningúrovněmi , Error, CriticalAlert, a Emergency protokolu:

    "dataSources": {
      "syslog": [
        {
        "name": "SyslogStream0",
        "streams": [
          "Microsoft-Syslog"
        ],
        "facilityNames": [ 
          "cron",
          "daemon",
          "local0",
          "local3", 
          "uucp"
        ],
        "logLevels": [ 
          "Warning", 
          "Error", 
          "Critical", 
          "Alert", 
          "Emergency"
        ]
      }
    ]
  }
Streamy Syslog a CEF ve stejném DCR

Tento příklad ukazuje, jak můžete shromažďovat zprávy Syslog a CEF ve stejném řadiči domény.

Další informace o krocích při ingestování zpráv Syslogu a CEF pomocí jednoho agenta a DCR najdete v části Vyhněte se duplikaci příjmu dat dříve v tomto článku.

Řadič domény shromažďuje zprávy událostí CEF pro:

  • Úrovně authpriv a zařízení s úrovněmi Info, Notice, ErrorWarningCritical, Alert, , a Emergency protokolů mark
  • Zařízení daemon s úrovněmi Warning, Error, CriticalAlert, a Emergency protokoly

Shromažďuje zprávy událostí syslogu pro:

  • Úrovně kern, local0, local5a news zařízení s Critical, Alerta Emergency protokol úrovně
  • Zařízení mail a uucp zařízení s Emergency úrovní protokolu
    "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"
          ]
        }
      ]
    }

Spusťte skript instalace.

Skript "instalace" ve skutečnosti nic neinstaluje, ale nakonfiguruje proces démon Syslogu ve vašem modulu pro předávání protokolů správně tak, aby shromažďuje protokoly.

  1. Na stránce konektoru zkopírujte příkazový řádek, který se zobrazí v části Spuštění následujícího příkazu, a nainstalujte kolektor CEF: výběrem ikony kopírování vedle něj.

    Snímek obrazovky příkazového řádku na stránce konektoru

    Můžete ho také zkopírovat tady:

    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. Přihlaste se k počítači pro předávání protokolů, na kterém jste právě nainstalovali AMA.

  3. Vložte příkaz, který jste zkopírovali v posledním kroku, a spusťte instalační skript.
    Skript nakonfiguruje proces démon syslog-ng takrsyslog, aby používal požadovaný protokol a restartoval proces démon. Skript otevře port 514 pro naslouchání příchozím zprávům v protokolech UDP i TCP. Pokud chcete toto nastavení změnit, projděte si konfigurační soubor démona Syslog podle typu démona spuštěného na počítači:

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

    Poznámka:

    Pokud se chcete vyhnout scénářům plného disku, ve kterých agent nemůže fungovat, doporučujeme nastavit syslog-ng nebo rsyslog nakonfigurovat, aby neukládaly nepotřebné protokoly. Scénář Full Disk naruší funkci nainstalovaného AMA. Přečtěte si další informace o protokolu RSyslog nebo Syslog-ng.

Zkouška konektoru

  1. Pokud chcete ověřit, že proces démon syslogu běží na portu UDP a že AMA naslouchá, spusťte tento příkaz:

    netstat -lnptv
    

    Na portu 514 by se měl zobrazit rsyslog proces démon nebo syslog-ng naslouchání.

  2. Pokud chcete zachytit zprávy odeslané z protokolovacího nástroje nebo připojeného zařízení, spusťte tento příkaz na pozadí:

    tcpdump -i any port 514 -A -vv &
    
  3. Po dokončení ověření doporučujeme zastavit tcpdump: Typ fg a pak vybrat Ctrl+C.

  4. Pokud chcete odesílat ukázkové zprávy, udělejte jednu z těchto věcí:

    • Použijte nástroj netcat. V tomto příkladu nástroj čte data zasílaná příkazem echo s vypnutým přepínačem newline. Nástroj pak zapíše data na port 514 UDP na místním hostiteli bez časového limitu. Pokud chcete spustit nástroj netcat, možná budete muset nainstalovat další balíček.

      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
      
    • Použijte protokolovací nástroj. Tento příklad zapíše zprávu do local 4 zařízení na úrovni Warningzávažnosti na port 514na místním hostiteli ve formátu CEF RFC. Příznaky -t a --rfc3164 příznaky se používají k dosažení souladu s očekávaným formátem RFC.

      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. Pokud chcete ověřit, že je konektor správně nainstalovaný, spusťte skript pro řešení potíží pomocí jednoho z těchto příkazů:

    • V případě protokolů CEF spusťte:

       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
      
    • Pro protokoly zařízení Cisco Adaptive Security Appliance (ASA) spusťte:

      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
      
    • Pro protokoly Cisco Firepower Threat Defense (FTD) spusťte:

      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