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.

  • 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 veya python3 --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 veya rsyslog 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:

  1. Azure İzleyici Aracısı'nı yükleyin ve bir Veri Toplama Kuralı (DCR) oluşturun.

  2. 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

  1. Azure portalını açın ve Microsoft Sentinel hizmetine gidin.

  2. Gezinti menüsünden Veri bağlayıcıları'nı seçin

  3. Arama kutusuna Syslog yazın. Sonuçlardan Ama aracılığıyla Syslog bağlayıcısını seçin.

  4. Ayrıntılar bölmesinde Bağlayıcı sayfasını aç'ı seçin.

  5. Yapılandırma alanında +Veri toplama kuralı oluştur'u seçin.

    AMA bağlayıcısı aracılığıyla CEF sayfasını gösteren ekran görüntüsü.

  6. Temel sekmesinde:

    • Bir DCR adı yazın.
    • Aboneliğinizi seçin.
    • DCR'nizi bulmak istediğiniz kaynak grubunu seçin.

    Temel sekmesinde DCR ayrıntılarını gösteren ekran görüntüsü.

  7. İ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.)

  1. 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.

  2. 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.)

    DCR'yi ayarlarken kaynakları seçmeyi gösteren ekran görüntüsü.

  3. 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.

  1. 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.

    DCR'yi ayarlarken günlük düzeylerini seçmeyi gösteren ekran görüntüsü.

  2. Seçimlerinizi gözden geçirin ve İleri: Gözden geçir + oluştur'u seçin.

  3. Gözden geçir ve oluştur sekmesinde Oluştur'u seçin.

    DCR'nin yapılandırmasını gözden geçirmeyi ve oluşturmayı gösteren ekran görüntüsü.

  • 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 , , , local0ve tesislerinden cron, ve uucpEmergency günlük düzeyleriyle WarningAlertErrorCriticalolayları toplar: local3daemon

    "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:

  • , , , , WarningError, Critical, Alertve günlük düzeylerine sahip Infove Emergency tesisleri Noticemarkauthpriv
  • daemon, , Error, CriticalAlertve Emergency günlük düzeylerine sahip Warningtesis

Aşağıdakiler için Syslog olay iletilerini toplar:

  • kern, local0, local5ve news günlük düzeylerine sahip Critical, , Alertve Emergency tesisleri
  • mail Günlük düzeyine Emergency sahip ve uucp 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.

  1. 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.

    Bağlayıcı sayfasındaki komut satırının ekran görüntüsü.

    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
    
  2. AMA'yi yüklediğiniz günlük ileticisi makinesinde oturum açın.

  3. Yükleme betiğini başlatmak için son adımda kopyaladığınız komutu yapıştırın.
    Betik, veya syslog-ng daemon'unu gerekli protokolü kullanacak şekilde yapılandırıp rsyslog 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

    Not

    Aracının çalışmadığı Tam Disk senaryolarından kaçınmak için veya rsyslog yapılandırmasını gereksiz günlükleri depolamak üzere ayarlamanızı syslog-ng öneririz. Tam Disk senaryosu, yüklü AMA işlevini kesintiye uğratır. RSyslog veya Syslog-ng hakkında daha fazla bilgi edinin.

Bağlayıcıyı test etme

  1. 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örmeniz rsyslog gerekir.

  2. 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 &
    
  3. Doğrulamayı tamamladıktan sonra şunu durdurmanızı tcpdumpöneririz: Yazın fg ve ardından Ctrl C'yi+ seçin.

  4. 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ına 514 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ına 514önem düzeyinde Warningtesise 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"
      
  5. 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