Azure İzleyici Aracısı ile Syslog ve CEF iletilerini Microsoft Sentinel'e alma
Bu makalede, Linux makinelerinden ve ağ ve güvenlik cihazlarından ve gereçlerden Ortak Olay Biçimi (CEF) dahil olmak üzere Syslog iletilerini hızla filtrelemek ve almak için AMA bağlayıcıları aracılığıyla AMA ve Ortak Olay Biçimi (CEF) aracılığıyla Syslog'un nasıl kullanılacağı açıklanmaktadır. Bu veri bağlayıcıları hakkında daha fazla bilgi edinmek için bkz . Ama aracılığıyla Syslog ve Microsoft Sentinel için AMA bağlayıcıları aracılığıyla Ortak Olay Biçimi (CEF).
Önkoşullar
Başlamadan önce, kaynakları yapılandırmış olmanız ve bu bölümde açıklanan uygun izinlere sahip olmanız gerekir.
Microsoft Sentinel önkoşulları
Uygun Microsoft Sentinel çözümünü etkinleştirmiş olmanız gerekir: Syslog ve/veya Ortak Olay Biçimi. Daha fazla bilgi için bkz . Microsoft Sentinel'in kullanıma hazır içeriğini bulma ve yönetme.
Azure hesabınızın aşağıdaki Azure rol tabanlı erişim denetimi (Azure RBAC) rollerine sahip olması gerekir:
Yerleşik rol Kapsam Nedeni - Sanal Makine Katılımcısı
- Azure Bağlan Ed Machine
Kaynak Yönetici istrator- Sanal makineler
- Sanal Makine Ölçek Kümeleri
- Azure Arc özellikli sunucular
Aracıyı dağıtmak için Eylemi içeren herhangi bir rol
Microsoft.Resources/deployments/*- Abonelik
- Kaynak grubu
- Mevcut veri toplama kuralı
Azure Resource Manager şablonlarını dağıtmak için İzleme Katkıda Bulunanı - Abonelik
- Kaynak grubu
- Mevcut veri toplama kuralı
Veri toplama kuralları oluşturmak veya düzenlemek için
Günlük ileticisi önkoşulları
Günlük ileticisinden ileti topluyorsanız, aşağıdaki ek önkoşullar geçerlidir:
Günlükleri toplamak için belirlenmiş bir Linux VM'niz (Günlük ileticisi) olmalıdır.
- Azure portalında bir Linux VM oluşturun.
- Azure İzleyici Aracısı için desteklenen Linux işletim sistemleri.
Günlük ileticiniz bir Azure sanal makinesi değilse üzerinde Azure Arc Bağlan ed Machine aracısının yüklü olması gerekir.
Linux günlük ileticisi VM'sinde Python 2.7 veya 3 yüklü olmalıdır.
python --version
Denetlemek için veyapython3 --version
komutunu kullanın. Python 3 kullanıyorsanız makinede varsayılan komut olarak ayarlandığından emin olun veya aşağıdaki betikleri 'python' yerine 'python3' komutuyla çalıştırın.Günlük ileticisinde
syslog-ng
veyarsyslog
daemon etkinleştirilmelidir.Günlük ileticinizin alan gereksinimleri için bkz . Azure İzleyici Aracısı Performans Karşılaştırması. Ölçeklenebilir alım tasarımlarını içeren bu blog gönderisini de gözden geçirebilirsiniz.
Günlük kaynaklarınız (güvenlik cihazlarınız ve gereçleriniz), günlük iletilerini yerel Syslog daemon'larına göndermek yerine günlük ileticisinin Syslog daemon'larına gönderecek şekilde yapılandırılmalıdır.
Veri alımı yinelemesini önleme
Hem Syslog hem de CEF iletileri için aynı özelliğin kullanılması CommonSecurityLog ve Syslog tabloları arasında veri alımı yinelemesine neden olabilir.
Bu senaryodan kaçınmak için şu yöntemlerden birini kullanın:
Kaynak cihaz hedef tesisin yapılandırılmasını etkinleştirirse: Günlük ileticisine CEF biçiminde günlük gönderen her kaynak makinede, SYSlog yapılandırma dosyasını düzenleyerek CEF iletileri göndermek için kullanılan özellikleri kaldırın. Bu şekilde, CEF ile gönderilen tesisler Syslog'a da gönderilmez. Sonraki adımlarda yapılandırdığınız her DCR'nin sırasıyla CEF veya Syslog için ilgili tesisi kullandığından emin olun.
Aynı aracıdan hem Syslog hem de CEF iletilerini almak için DCR'nin nasıl ayarlandığına ilişkin bir örnek görmek için , bu makalenin devamında aynı DCR'de Syslog ve CEF akışları'na gidin.
Kaynak gerecin özelliğini değiştirmek geçerli değilse: Aşağıdaki sorgu örneğinde gösterildiği gibi yinelemeyi önlemek için Syslog akışından CEF iletilerini filtrelemek için alma süresi dönüştürmesi kullanın. Veriler toplayıcı makinesinden çalışma alanına iki kez gönderilir.
source | where ProcessName !contains "CEF"
Makine güvenliğini yapılandırma
Makinenin güvenliğini kuruluşunuzun güvenlik ilkesine göre yapılandırdığından emin olun. Örneğin, ağınızı kurumsal ağ güvenlik ilkenizle uyumlu olacak şekilde yapılandırabilir ve daemon'daki bağlantı noktalarını ve protokolleri gereksinimlerinizle uyumlu olacak şekilde değiştirebilirsiniz. Makine güvenliği yapılandırmanızı geliştirmek için Azure'da VM'nizin güvenliğini sağlayın veya ağ güvenliği için bu en iyi yöntemleri gözden geçirin.
Cihazlarınız TLS üzerinden Syslog ve CEF günlükleri gönderiyorsa (örneğin, günlük ileticiniz bulutta olduğundan), Syslog daemon'ını (rsyslog
veya syslog-ng
) TLS ile iletişim kuracak şekilde yapılandırmanız gerekir:
Veri bağlayıcılarını ayarlama
Syslog veya CEF yönergelerini görmek için uygun sekmeyi seçin.
AMA bağlayıcısı aracılığıyla Syslog'un kurulumunu yapın
AMA bağlayıcısı aracılığıyla Syslog için kurulum işleminin iki bölümü vardır:
Azure İzleyici Aracısı'nı yükleyin ve bir Veri Toplama Kuralı (DCR) oluşturun.
Günlük ileticisi kullanarak diğer makinelerden günlük topluyorsanız Syslog daemon'ını diğer makinelerden gelen iletileri dinleyecek şekilde yapılandırmak ve gerekli yerel bağlantı noktalarını açmak için günlük ileticisinde "yükleme" betiğini çalıştırın.
AMA'yi yükleme ve Veri Toplama Kuralı (DCR) oluşturma
Bu adımı iki yoldan biriyle gerçekleştirebilirsiniz:
- Microsoft Sentinel portalındaki AMA veri bağlayıcısı aracılığıyla AMA veya Ortak Olay Biçimi (CEF) aracılığıyla Syslog'u dağıtın ve yapılandırın. Bu kurulumla, çalışma alanı başına DCR'ler oluşturabilir, yönetebilir ve silebilirsiniz. AMA, bağlayıcı yapılandırmasında seçtiğiniz VM'lere otomatik olarak yüklenir.
—VEYA— - Günlük Alımı API'sine HTTP istekleri gönderin. Bu kurulumla DCR'leri oluşturabilir, yönetebilir ve silebilirsiniz. Bu seçenek portaldan daha esnektir. Örneğin, API ile belirli günlük düzeylerine göre filtreleyebilirsiniz. Burada kullanıcı arabirimiyle yalnızca en düşük günlük düzeyini seçebilirsiniz. Bunun dezavantajı, DCR oluşturmadan önce Azure İzleyici Aracısı'nı günlük ileticisine el ile yüklemeniz gerekir.
Her yol için yönergeleri görmek için aşağıdaki uygun sekmeyi seçin.
Bağlayıcı sayfasını açın ve DCR sihirbazını başlatın
Gezinti menüsünden Veri bağlayıcıları'nı seçin
Arama kutusuna Syslog yazın. Sonuçlardan Ama aracılığıyla Syslog bağlayıcısını seçin.
Ayrıntılar bölmesinde Bağlayıcı sayfasını aç'ı seçin.
Yapılandırma alanında +Veri toplama kuralı oluştur'u seçin.
Temel sekmesinde:
- Bir DCR adı yazın.
- Aboneliğinizi seçin.
- DCR'nizi bulmak istediğiniz kaynak grubunu seçin.
İleri: Kaynaklar'ı >seçin.
Kaynakları tanımlama (VM' ler)
Kaynaklar sekmesinde, AMA'yı yüklemek istediğiniz makineleri (bu örnekte günlük ileticisi makinenizi) seçin. (Günlük ileticiniz listede görünmüyorsa, Azure Bağlan yüklü Makine aracısı yüklü olmayabilir.)
Günlük ileticisi VM'nizi bulmak için kullanılabilir filtreleri veya arama kutusunu kullanın. Kaynak gruplarını görmek için listedeki bir aboneliği ve vm'lerini görmek için bir kaynak grubunu genişletebilirsiniz.
AMA'yi yüklemek istediğiniz günlük ileticisi VM'sini seçin. (Üzerine geldiğinizde vm adının yanında onay kutusu görünür.)
Değişikliklerinizi gözden geçirin ve İleri: Topla'ya >tıklayın.
Tesisleri ve önem derecelerini seçin ve DCR'yi oluşturun
Not
Hem Syslog hem de CEF iletileri için aynı özelliğin kullanılması veri alımı yinelemesine neden olabilir. Veri alımı yinelemesini önlemeyi öğrenin.
Topla sekmesinde her tesis için en düşük günlük düzeyini seçin. Bir günlük düzeyi seçtiğinizde, Microsoft Sentinel seçilen düzey ve daha yüksek önem derecesine sahip diğer düzeyler için günlükleri toplar. Örneğin, LOG_ERR seçerseniz Microsoft Sentinel LOG_ERR, LOG_CRIT, LOG_ALERT ve LOG_EMERG düzeyleri için günlükleri toplar.
Seçimlerinizi gözden geçirin ve İleri: Gözden geçir + oluştur'u seçin.
Gözden geçir ve oluştur sekmesinde Oluştur'u seçin.
Bağlayıcı, DCR'nizi oluştururken seçtiğiniz makinelere Azure İzleyici Aracısı'nı yükler.
DCR oluşturulduğunda ve aracı yüklendiğinde Azure portalından bildirimler görürsünüz.
Listede görüntülenen DCR'yi görmek için bağlayıcı sayfasında Yenile'yi seçin.
Tesisler ve günlük düzeyleri bölümlerine örnekler
Tesis ve günlük düzeyleri ayarlarının bu örneklerini gözden geçirin. Alanı name
filtre adını içerir.
CEF ileti alımı için "streams"
değeri yerine "Microsoft-Syslog"
olmalıdır"Microsoft-CommonSecurityLog"
.
Bu örnek , , , local0
ve tesislerinden cron
, ve uucp
Emergency
günlük düzeyleriyle Warning
Alert
Error
Critical
olayları toplar: local3
daemon
"dataSources": {
"syslog": [
{
"name": "SyslogStream0",
"streams": [
"Microsoft-Syslog"
],
"facilityNames": [
"cron",
"daemon",
"local0",
"local3",
"uucp"
],
"logLevels": [
"Warning",
"Error",
"Critical",
"Alert",
"Emergency"
]
}
]
}
Aynı DCR'de Syslog ve CEF akışları
Bu örnekte Syslog ve CEF iletilerini aynı DCR'de nasıl toplayabileceğiniz gösterilmektedir.
Tek bir aracı ve DCR kullanarak Syslog ve CEF iletilerini alırken atılacak adımlar hakkında daha fazla bilgi için bu makalenin önceki bölümlerinde yer alan Veri alımı yinelemesini önleme bölümüne bakın.
DCR aşağıdakiler için CEF olay iletilerini toplar:
- , , , ,
Warning
Error
,Critical
,Alert
ve günlük düzeylerine sahipInfo
veEmergency
tesisleriNotice
mark
authpriv
daemon
, ,Error
,Critical
Alert
veEmergency
günlük düzeylerine sahipWarning
tesis
Aşağıdakiler için Syslog olay iletilerini toplar:
kern
,local0
,local5
venews
günlük düzeylerine sahipCritical
, ,Alert
veEmergency
tesislerimail
Günlük düzeyineEmergency
sahip veuucp
tesisleri
"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"
]
}
]
}
"Yükleme" betiğini çalıştırma
"Yükleme" betiği aslında hiçbir şey yüklemez, ancak günlük ileticinizdeki Syslog daemon'ını günlükleri toplamak üzere düzgün şekilde yapılandırıyor.
Bağlayıcı sayfasında, CEF toplayıcısını yüklemek ve uygulamak için Aşağıdaki komutu çalıştırın altında görüntülenen komut satırını kopyalayın: yanındaki kopyala simgesini seçerek.
Buradan da kopyalayabilirsiniz:
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
AMA'yi yüklediğiniz günlük ileticisi makinesinde oturum açın.
Yükleme betiğini başlatmak için son adımda kopyaladığınız komutu yapıştırın.
Betik, veyasyslog-ng
daemon'unu gerekli protokolü kullanacak şekilde yapılandırıprsyslog
daemon'ı yeniden başlatır. Betik, hem UDP hem de TCP protokollerinde gelen iletileri dinlemek için 514 numaralı bağlantı noktasını açar. Bu ayarı değiştirmek için, makinede çalışan daemon türüne göre Syslog daemon yapılandırma dosyasına bakın:- Rsyslog:
/etc/rsyslog.conf
- Syslog-ng:
/etc/syslog-ng/syslog-ng.conf
- Rsyslog:
Bağlayıcıyı test etme
Syslog daemon'unun UDP bağlantı noktasında çalıştığını ve AMA'nın dinlediğini doğrulamak için şu komutu çalıştırın:
netstat -lnptv
514 numaralı bağlantı noktasında veya
syslog-ng
daemon'un dinlediğini görmenizrsyslog
gerekir.Günlükçüden veya bağlı bir cihazdan gönderilen iletileri yakalamak için arka planda şu komutu çalıştırın:
tcpdump -i any port 514 -A -vv &
Doğrulamayı tamamladıktan sonra şunu durdurmanızı
tcpdump
öneririz: Yazınfg
ve ardından Ctrl C'yi+ seçin.Tanıtım iletileri göndermek için aşağıdakilerden birini yapın:
netcat yardımcı programını kullanın. Bu örnekte yardımcı program, komut aracılığıyla
echo
gönderilen verileri yeni satır anahtarı kapalı olarak okur. Yardımcı program daha sonra verileri zaman aşımı olmadan localhost üzerindeki UDP bağlantı noktasına514
yazar. netcat yardımcı programını yürütmek için ek bir paket yüklemeniz gerekebilir.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
Günlükçü'leri kullanın. Bu örnek, iletiyi
local 4
yerel konakta, CEF RFC biçimindeki bağlantı noktasına514
önem düzeyindeWarning
tesise yazar.-t
ve--rfc3164
bayrakları beklenen RFC biçimine uymak için kullanılır.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"
Bağlayıcının doğru yüklendiğini doğrulamak için aşağıdaki komutlardan biriyle sorun giderme betiğini çalıştırın:
CEF günlükleri için şunu çalıştırın:
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
Cisco Adaptive Security Appliance (ASA) günlükleri için şunu çalıştırın:
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
Cisco Firepower Threat Defense (FTD) günlükleri için şunu çalıştırın:
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