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
Musíte mít povolené odpovídající řešení Microsoft Sentinel – Syslog nebo běžný formát událostí. Další informace najdete v tématu Zjišťování a správa obsahu od verze Microsoft Sentinelu.
Váš účet Azure musí mít následující role řízení přístupu na základě role v Azure (Azure RBAC):
Předdefinovaná role Obor Důvod - Přispěvatel virtuálních počítačů
- Počítač Azure Připojení
Resource Správa istrator- Virtuální počítače
- Virtual Machine Scale Sets
- Servery s podporou služby Azure Arc
Nasazení agenta Libovolná role, která zahrnuje akci
Microsoft.Resources/deployments/*- Předplatné
- Skupina prostředků
- Existující pravidlo shromažďování dat
Nasazení šablon Azure Resource Manageru Přispěvatel monitorování - Předplatné
- Skupina prostředků
- Existující pravidlo shromažďování dat
Vytvoření nebo úprava pravidel shromažďování dat
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 nebopython3 --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 neborsyslog
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:
- Šifrování provozu Syslog pomocí protokolu TLS – rsyslog
- Šifrování zpráv protokolu pomocí protokolu TLS – syslog-ng
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:
Nainstalujte agenta Služby Azure Monitor a vytvořte pravidlo shromažďování dat (DCR).
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.
Otevřete Azure Portal a přejděte do služby Microsoft Sentinel .
Výběr datových konektorů z navigační nabídky
Do vyhledávacího pole zadejte Syslog. Ve výsledcích vyberte Syslog prostřednictvím konektoru AMA .
V podokně podrobností vyberte Otevřít stránku konektoru.
V oblasti Konfigurace vyberte +Vytvořit pravidlo shromažďování dat.
Na kartě Základní :
- Zadejte název DCR.
- Vyberte své předplatné.
- Vyberte skupinu prostředků, ve které chcete najít řadič domény.
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.)
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.
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ší.)
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.
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 .
Zkontrolujte výběry a vyberte Další: Zkontrolovat a vytvořit.
Na kartě Revize a vytvoření vyberte Vytvořit.
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
, local0
local3
a uucp
zařízení, s Warning
úrovněmi , Error
, Critical
Alert
, 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ěmiInfo
,Notice
,Error
Warning
Critical
,Alert
, , aEmergency
protokolůmark
- Zařízení
daemon
s úrovněmiWarning
,Error
,Critical
Alert
, aEmergency
protokoly
Shromažďuje zprávy událostí syslogu pro:
- Úrovně
kern
,local0
,local5
anews
zařízení sCritical
,Alert
aEmergency
protokol úrovně - Zařízení
mail
auucp
zařízení sEmergency
ú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.
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.
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
Přihlaste se k počítači pro předávání protokolů, na kterém jste právě nainstalovali AMA.
Vložte příkaz, který jste zkopírovali v posledním kroku, a spusťte instalační skript.
Skript nakonfiguruje proces démonsyslog-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
neborsyslog
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.- Rsyslog:
Zkouška konektoru
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 nebosyslog-ng
naslouchání.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 &
Po dokončení ověření doporučujeme zastavit
tcpdump
: Typfg
a pak vybrat Ctrl+C.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 port514
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 úrovniWarning
závažnosti na port514
na 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"
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