CEF veya Syslog veri bağlayıcınızın sorunlarını giderme

Bu makalede, Azure Sentinel için bir CEF veya Syslog veri bağlayıcısını doğrulamak ve sorunlarını gidermek için sık kullanılan yöntemler açıklanmaktadır.

Örneğin, günlüklerinizin Azure Sentinel 'de olmaması durumunda, syslog veya ortak güvenlik günlüğü tablolarında, veri kaynağınız bağlanamaz veya verilerinizin başka bir nedeni olabilir.

Başarısız bir bağlayıcı dağıtımının diğer belirtileri, security_events. conf veya security-omsagent.config. conf dosyaları eksik olduğunda ya da rsyslog sunucusu 514 bağlantı noktasında dinlemediğinde bulunur.

daha fazla bilgi için bkz. genel olay biçimini kullanarak dış çözümünüzü Bağlan ve Syslog kullanarak Linux tabanlı kaynaklardan veri toplayın.

Not

Windows için Log Analytics aracısı genellikle Microsoft Monitoring Agent (mma) olarak adlandırılır. Linux için Log Analytics Aracısı genellikle OMS Aracısı olarak adlandırılır.

İpucu

Sorun giderirken, bu makaledeki adımlarda, syslog Toplayıcısında, işletim sisteminde veya OMS aracısındaki sorunları denetlemek ve çözmek için sunuldukları sırada çalışmanız önerilir.

Bağlayıcınızı belgelenmiş yordamdan farklı bir yöntem kullanarak dağıttıysanız ve sorun yaşıyorsanız, dağıtımı temizlemeniz ve belgelendiği şekilde yeniden yüklemenizi öneririz.

CEF bağlantısını doğrulama

Günlük ileticinizi dağıttıktan ve CEF iletileri göndermek için Güvenlik çözümünüzüyapılandırdıktan sonra, güvenlik çözümünüz ve Azure Sentinel arasındaki bağlantıyı doğrulamak için bu bölümdeki adımları kullanın.

  1. Aşağıdaki önkoşullara sahip olduğunuzdan emin olun:

    • Günlük ileticisi makinenizde yükseltilmiş izinleriniz (sudo) olmalıdır.

    • Günlük ileticisi makinenizde python 2,7 veya 3 ' ün yüklü olması gerekir. python –versionDenetlemek için komutunu kullanın.

    • Bu işlemin bir noktasında çalışma alanı KIMLIĞI ve çalışma alanı birincil anahtarına ihtiyacınız olabilir. Onları çalışma alanı kaynağında, aracılar yönetimi altında bulabilirsiniz.

  2. Azure Sentinel gezinti menüsünde Günlükler' i açın. Güvenlik çözümünüzdeki günlükleri alıp almadığınızı görmek için Commonsecuritylog şemasını kullanarak bir sorgu çalıştırın.

    Günlüklerinizin Log Analytics görünmeye başlaması yaklaşık 20 dakika sürebilir.

  3. Sorgudan herhangi bir sonuç görmüyorsanız, olayların güvenlik çözümünden oluşturulduğunu doğrulayın veya bir süre oluşturmayı deneyin ve belirlediğiniz Syslog iletici makinesine iletildiğini doğrulayın.

  4. Güvenlik çözümünüz, günlük ileticisi ve Azure Sentinel arasındaki bağlantıyı denetlemek için günlük ileticisinde (yer tutucunun yerine çalışma alanı KIMLIĞINI uygulama) aşağıdaki betiği çalıştırın. Bu betik, arka plan programının doğru şekilde yapılandırıldığını ve arka plan programı ile Log Analytics Aracısı arasındaki iletişimi engellemediğini kontrol eder. Ayrıca, uçtan uca bağlantıyı denetlemek için ' TestCommonEventFormat ' adlı sahte iletiler gönderir.

    sudo wget -O cef_troubleshoot.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/CEF/cef_troubleshoot.py&&sudo python cef_troubleshoot.py [WorkspaceID]
    
    • Bilgisayar alanının eşlemesiyle bir sorunu düzeltmek için bir komut çalıştırmanızı yönlendiren bir ileti alabilirsiniz. Ayrıntılar için doğrulama betiğinin açıklamasına bakın.

    • CISCO ASA güvenlik duvarı günlüklerinin ayrıştırılmasıyla ilgili bir sorunu düzeltmek için bir komut çalıştırmanızı yönlendiren bir ileti alabilirsiniz. Ayrıntılar için doğrulama betiğinin açıklamasına bakın.

CEF doğrulama betiği açıklanmıştı

Doğrulama betiği aşağıdaki denetimleri gerçekleştirir:

  1. Dosyanın
    /etc/opt/microsoft/omsagent/[WorkspaceID]/conf/omsagent.d/security_events.conf
    var ve geçerli.

  2. Dosyanın aşağıdaki metni içerip içermediğini denetler:

    <source>
        type syslog
        port 25226
        bind 127.0.0.1
        protocol_type tcp
        tag oms.security
        format /(?<time>(?:\w+ +){2,3}(?:\d+:){2}\d+|\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.[\w\-\:\+]{3,12}):?\s*(?:(?<host>[^: ]+) ?:?)?\s*(?<ident>.*CEF.+?(?=0\|)|%ASA[0-9\-]{8,10})\s*:?(?<message>0\|.*|.*)/
        <parse>
            message_format auto
        </parse>
    </source>
    
    <filter oms.security.**>
        type filter_syslog_security
    </filter>
    
  3. Aşağıdaki komut kullanılarak Cisco ASA güvenlik duvarı olayları için ayrıştırma 'nin beklenen şekilde yapılandırılıp yapılandırılmadığını denetler:

    grep -i "return ident if ident.include?('%ASA')" /opt/microsoft/omsagent/plugin/security_lib.rb
    
    • Ayrıştırma ile ilgili bir sorun varsa, komut dosyası aşağıdaki komutu el ile çalıştırmanızı yönlendiren bir hata iletisi üretir (yer tutucunun yerine çalışma alanı kimliğini uygulama). Komut doğru ayrıştırmanın ve aracının yeniden başlatılmasına emin olur.

      # Cisco ASA parsing fix
      sed -i "s|return '%ASA' if ident.include?('%ASA')|return ident if ident.include?('%ASA')|g" /opt/microsoft/omsagent/plugin/security_lib.rb && sudo /opt/microsoft/omsagent/bin/service_control restart [workspaceID]
      
  4. Syslog kaynağındaki bilgisayar alanının, aşağıdaki komutu kullanarak Log Analytics aracısında düzgün şekilde eşlendiğini denetler:

    grep -i "'Host' => record\['host'\]"  /opt/microsoft/omsagent/plugin/filter_syslog_security.rb
    
    • Eşlemeyle ilgili bir sorun varsa, komut dosyası aşağıdaki komutu el ile çalıştırmanızı yönlendiren bir hata iletisi üretir (yer tutucunun yerine çalışma alanı kimliğini uygulama). Komut doğru eşlemeyi güvence altına alacak ve aracıyı yeniden başlatacaktır.

      # Computer field mapping fix
      sed -i -e "/'Severity' => tags\[tags.size - 1\]/ a \ \t 'Host' => record['host']" -e "s/'Severity' => tags\[tags.size - 1\]/&,/" /opt/microsoft/omsagent/plugin/filter_syslog_security.rb && sudo /opt/microsoft/omsagent/bin/service_control restart [workspaceID]
      
  5. Makinede ağ trafiğini (örneğin, bir ana bilgisayar güvenlik duvarı) engelliyor olabilecek herhangi bir güvenlik geliştirmesi olup olmadığını denetler.

  6. Syslog Daemon (rsyslog), TCP bağlantı noktası 25226 ' deki Log Analytics aracısına (CEF olarak tanımlanır) ileti göndermek için düzgün şekilde yapılandırılıp yapılandırılmadığını denetler:

    • Yapılandırma dosyası: /etc/rsyslog.d/security-config-omsagent.conf

      if $rawmsg contains "CEF:" or $rawmsg contains "ASA-" then @@127.0.0.1:25226
      
  7. Syslog Daemon 'u ve Log Analytics aracısını yeniden başlatır:

    service rsyslog restart
    
    /opt/microsoft/omsagent/bin/service_control restart [workspaceID]
    
  8. Gerekli bağlantıların kurulu olduğunu denetler: veri almak için TCP 514, Syslog Daemon ve Log Analytics Aracısı arasındaki dahili iletişim için TCP 25226:

    netstat -an | grep 514
    
    netstat -an | grep 25226
    
  9. Syslog arka plan programının 514 numaralı bağlantı noktasında veri aldığını ve aracının 25226 numaralı bağlantı noktasında veri aldığını denetler:

    sudo tcpdump -A -ni any port 514 -vv
    
    sudo tcpdump -A -ni any port 25226 -vv
    
  10. SAHTE verileri, localhost üzerinde 514 numaralı bağlantı noktasına gönderir. Bu veriler, aşağıdaki sorguyu çalıştırarak Azure Sentinel çalışma alanında observable olmalıdır:

    CommonSecurityLog
    | where DeviceProduct == "MOCK"
    

CEF veya Syslog önkoşullarını doğrulama

CEF veya Syslog veri bağlayıcı önkoşullarını denetlemek için aşağıdaki bölümleri kullanın.

Syslog toplayıcısı olarak Azure sanal makinesi

Bir Azure sanal makinesini Syslog toplayıcısı olarak kullanıyorsanız, aşağıdakileri doğrulayın:

Şirket içi veya Azure olmayan bir sanal makine

Veri Bağlayıcınız için bir şirket içi makine veya Azure olmayan bir sanal makine kullanıyorsanız, yükleme betiğini desteklenen bir Linux işletim sisteminin yeni bir yüklemesinde çalıştırdığınızdan emin olun:

İpucu

Bu betiği, Azure Sentinel 'teki ortak olay biçimi veri bağlayıcı sayfasından da bulabilirsiniz.

sudo wget -O cef_installer.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/CEF/cef_installer.py&&sudo python cef_installer.py <WorkspaceId> <Primary Key>

Syslog tesis ve günlük önem toplama koleksiyonunuzu etkinleştirin

Syslog sunucusu, rsyslog veya Syslog-ng, ilgili yapılandırma dosyasında tanımlanan tüm verileri iletir ve bu, Log Analytics çalışma alanınızda tanımlanan ayarlar tarafından otomatik olarak doldurulur.

Azure Sentinel 'e toplanmasını istediğiniz tesisler ve önem derecesi günlük düzeylerine ilişkin ayrıntıları eklediğinizden emin olun. Yapılandırma işlemi yaklaşık 20 dakika sürebilir.

Daha fazla bilgi için bkz. dağıtım betiği açıklanacak ve Azure Portal Syslog 'ı yapılandırma.

Örneğin, bir rsyslog sunucusu için, syslog iletmenin geçerli ayarlarını göstermek üzere aşağıdaki komutu çalıştırın ve yapılandırma dosyasında yapılan tüm değişiklikleri gözden geçirin:

cat /etc/rsyslog.d/95-omsagent.conf

Bu durumda, rsyslog için aşağıdakine benzer bir çıkış görüntülenmelidir. Bu dosyanın içeriği, Log Analytics Workspace istemci yapılandırması-Syslog tesis ayarları ekranındaki Syslog yapılandırmasında nelerin tanımlandığını yansıtmalıdır.

OMS Syslog collection for workspace c69fa733-da2e-4cf9-8d92-eee3bd23fe81
auth.=alert;auth.=crit;auth.=debug;auth.=emerg;auth.=err;auth.=info;auth.=notice;auth.=warning  @127.0.0.1:25224
authpriv.=alert;authpriv.=crit;authpriv.=debug;authpriv.=emerg;authpriv.=err;authpriv.=info;authpriv.=notice;authpriv.=warning  @127.0.0.1:25224
cron.=alert;cron.=crit;cron.=debug;cron.=emerg;cron.=err;cron.=info;cron.=notice;cron.=warning  @127.0.0.1:25224
local0.=alert;local0.=crit;local0.=debug;local0.=emerg;local0.=err;local0.=info;local0.=notice;local0.=warning  @127.0.0.1:25224
local4.=alert;local4.=crit;local4.=debug;local4.=emerg;local4.=err;local4.=info;local4.=notice;local4.=warning  @127.0.0.1:25224
syslog.=alert;syslog.=crit;syslog.=debug;syslog.=emerg;syslog.=err;syslog.=info;syslog.=notice;syslog.=warning  @127.0.0.1:25224

CEF Iletimi için, bir rsyslog sunucusu için, syslog iletmenin geçerli ayarlarını göstermek üzere aşağıdaki komutu çalıştırın ve yapılandırma dosyasında yapılan tüm değişiklikleri gözden geçirin:

cat /etc/rsyslog.d/security-config-omsagent.conf

Bu durumda, rsyslog için aşağıdakine benzer bir çıktı şunları görüntülemelidir:

if $rawmsg contains "CEF:" or $rawmsg contains "ASA-" then @@127.0.0.1:25226

İşletim sistemi sorunlarını giderme

Bu yordam, işletim sistemi yapılandırmasından kesinlikle derlenen sorunları nasıl giderebileceğinizi açıklar.

İşletim sistemi sorunlarını gidermek için:

  1. Henüz yapmadıysanız desteklenen bir işletim sistemi ve Python sürümü ile çalıştığınızdan emin olun. Daha fazla bilgi için bkz. CEF önkoşulları ve Linux makinenizi veya gereci yapılandırma.

  2. Sanal makineniz Azure 'da ise, ağ güvenlik grubu 'nun (NSG) 514 numaralı bağlantı noktasındaki günlük istemcinizden (Gönderen) gelen TCP/UDP bağlantısına izin verdiğini doğrulayın.

  3. Paketlerin Syslog toplayıcısına geliş olduğunu doğrulayın. Syslog toplayıcısına ulaşan Syslog paketlerini yakalamak için şunu çalıştırın:

    tcpdump -Ani any port 514 and host <ip_address_of_sender> -vv
    
  4. Aşağıdakilerden birini yapın:

    • Herhangi bir paket görmüyorsanız NSG güvenlik grubu izinlerini ve Syslog toplayıcısının yönlendirme yolunu onaylayın.

    • Gelen paketleri görürseniz, bunların reddedilmediğinden emin olun.

    Reddedilen paketler görürseniz, IP tablolarının bağlantıları engellemediğinden emin olun.

    Paketlerin reddedildiğini onaylamak için şunu çalıştırın:

    watch -n 2 -d iptables -nvL
    
  5. Syslog sunucusunun günlükleri işlediğini doğrulayın. Çalıştır:

    tail -f /var/log/messages or tail -f /var/log/syslog
    

    İşlenmekte olan Syslog veya CEF günlükleri düz metin olarak görüntülenir.

  6. Rsyslog sunucusunun TCP/UDP bağlantı noktası 514 ' te dinlediğini doğrulayın. Çalıştır:

    netstat -anp | grep syslog
    

    Syslog toplayıcısına herhangi bir CEF veya ASA oturumunuz gönderilirse, TCP bağlantı noktası 25226 ' de kurulan bir bağlantı görmeniz gerekir.

    Örnek:

    0 127.0.0.1:36120 127.0.0.1:25226 ESTABLISHED 1055/rsyslogd
    

    Bağlantı engellenmişse, OMS aracısına veya Engellenen bir güvenlik duvarı işlemine engellenmiş bir SELinux bağlantınızolabilir. Sorunu anlamak için aşağıdaki yönergeler kümesini kullanın.

OMS aracısına yönelik SELinux engelleme bağlantısı

Bu yordam, SELinux 'un şu anda bir durumda olup olmadığını permissive veya OMS aracısına bir bağlantı engelleyip engellemediğini nasıl doğrulayabileceğinizi açıklar. Bu yordam, bir RedHat veya CentOS 'dan işletim sisteminiz bir dağıtım olduğunda geçerlidir.

Not

CEF ve Syslog için Azure Sentinel desteği yalnızca FIPS sağlamlaştırma içerir. SELinux veya CIS gibi diğer sağlamlaştırma yöntemleri şu anda desteklenmemektedir.

  1. Çalıştır:

    sestatus
    

    Durum, aşağıdakilerden biri olarak görüntülenir:

    • disabled. Bu yapılandırma, Azure Sentinel bağlantınız için desteklenir.
    • permissive. Bu yapılandırma, Azure Sentinel bağlantınız için desteklenir.
    • enforced. Bu yapılandırma desteklenmez ve durumu devre dışı bırakmanız ya da olarak ayarlamanız gerekir permissive .
  2. Durum şu anda olarak ayarlandıysa enforced , bu engelleyici olup olmadığını doğrulamak için geçici olarak devre dışı bırakın. Çalıştır:

    setenforce 0
    

    Not

    Bu adım, sunucu yeniden başlatılana kadar SELinux 'u kapatır. SELinux yapılandırmasını değiştirerek kapalı kalmasını sağlayın.

  3. Değişikliğin başarılı olup olmadığını doğrulamak için şunu çalıştırın:

    getenforce
    

    permissiveDurum döndürülmelidir.

Önemli

Bu ayar güncelleştirmesi sistem yeniden başlatıldığında kaybedilir. Bu ayarı kalıcı olarak güncelleştirmek için permissive , /etc/SELinux/config dosyasını değiştirin ve SELINUX değerini olarak değiştirin SELINUX=permissive .

Daha fazla bilgi için bkz. RedHat belgeleri.

Engellenen güvenlik duvarı ilkesi

Bu yordamda, bir güvenlik duvarı ilkesinin rsyslog arka plan programından OMS aracısına bağlantıyı engelleyip engellemediğini ve gerektiğinde devre dışı bırakılacağını nasıl doğrulayabileceği açıklanmaktadır.

  1. IP tablolarında, güvenlik duvarı ilkesi tarafından bırakılan trafiği belirten herhangi bir reddetme olup olmadığını doğrulamak için aşağıdaki komutu çalıştırın:

    watch -n 2 -d iptables -nvL
    
  2. Güvenlik Duvarı ilkesini etkin tutmak için bağlantılara izin vermek üzere bir ilke kuralı oluşturun. Etkin güvenlik duvarı aracılığıyla 25226 ve 25224 TCP/UDP bağlantı noktalarına izin vermek için gereken kuralları ekleyin.

    Örnek:

    Every 2.0s: iptables -nvL                      rsyslog: Wed Jul  7 15:56:13 2021
    
    Chain INPUT (policy ACCEPT 6185K packets, 2466M bytes)
     pkts bytes target     prot opt in     out     source               destination
    
    
    Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination
    
    
    Chain OUTPUT (policy ACCEPT 6792K packets, 6348M bytes)
     pkts bytes target     prot opt in     out     source               destination
    
  3. Etkin güvenlik duvarı aracılığıyla 25226 ve 25224 TCP/UDP bağlantı noktalarına izin veren bir kural oluşturmak için, kuralları gerektiği şekilde ekleyin.

    1. Güvenlik Duvarı Ilkesi Düzenleyicisi 'ni yüklemek için şunu çalıştırın:

      yum install policycoreutils-python
      
    2. Güvenlik Duvarı ilkelerini güvenlik duvarı ilkesine ekleyin. Örnek:

      sudo firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 25226  -j ACCEPT
      sudo firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p udp --dport 25224  -j ACCEPT
      sudo firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 25224  -j ACCEPT
      
    3. Özel durumun eklendiğini doğrulayın. Çalıştır:

      sudo firewall-cmd --direct --get-rules ipv4 filter INPUT
      
    4. Güvenlik duvarını yeniden yükleyin. Çalıştır:

      sudo firewall-cmd --reload
      

Not

Güvenlik duvarını devre dışı bırakmak için şunu çalıştırın: sudo systemctl disable firewalld

Bu makalede daha önce açıklanan adımlar sorununuzu gidermezse, OMS Aracısı ve Azure Sentinel çalışma alanı arasında bir bağlantı sorununuz olabilir.

Böyle durumlarda, aşağıdakileri doğrulayarak sorun gidermeye devam edin:

  • Syslog Toplayıcısında TCP/UDP bağlantı noktası 514 ' ya ulaşan paketleri görebildiğinizden emin olun

  • Yerel günlük dosyasına yazılan günlükleri ( /var/log/messages veya /var/log/Syslog ) görediğinizden emin olun

  • Bağlantı noktası 25524, 25526 veya her ikisinde de veri paketlerini görebildiğinizden emin olun

  • Sanal makinenizin TCP üzerinden 443 numaralı bağlantı noktasına giden bir bağlantıya sahip olduğundan veya Log Analytics uç noktalarına bağlanabildiğinizden emin olun

  • Güvenlik Duvarı ilkeniz aracılığıyla Syslog toplayıcıınızdaki gerekli URL 'Lere erişiminizin olduğundan emin olun. Daha fazla bilgi için bkz. aracı güvenlik duvarı gereksinimleri Log Analytics.

  • Azure sanal makinenizin, çalışma alanınızın sanal makineler listesinde bağlı olarak gösterildiğinden emin olun.

Aracının Azure ile başarılı bir şekilde iletişim kurduğunu veya OMS aracısının Log Analytics çalışma alanına bağlanmasına izin engellenip engellenmediğini anlamak için aşağıdaki komutu çalıştırın.

Heartbeat
 | where Computer contains "<computername>"
 | sort by TimeGenerated desc

Aracı başarıyla iletişim kurduğunda bir günlük girişi döndürülür. Aksi takdirde, OMS Aracısı engellenmiş olabilir.

Sonraki adımlar

Bu makaledeki sorun giderme adımları sorununuzu yardımcı değilse, bir destek bileti açın veya Azure Sentinel topluluk kaynaklarını kullanın. Daha fazla bilgi için bkz. Azure Sentinel ile çalışmaya yönelik faydalı kaynaklar.

Azure Sentinel hakkında daha fazla bilgi edinmek için aşağıdaki makalelere bakın: