Azure

Yeni Azure Firewall Structured Logs Kullanimda

Avatar
Written by Emre Martin

Azure Firewall Diagnostic log’ları; Application Rule, Network Rule ve DNS Proxy Rule olmak üzere üç farklı kategoriye sahiptir. Bu kategoriler Azure Diagnostic modunu kullanarak alınan tüm logları AzureDiagnostic tablosu içerisine toplamaktadır. Yeni gelen bu özellikle ile log’ları mevcut AzureDiagnostic tablosu yerine kaynağa özgü tabloları kullanmayı mümkün kılıyor.

Kaynağa Özel Mod

Kaynağa özel modda, diagostic ayarında seçilen her kategori için seçilen çalışma alanındaki ayrı tablolar oluşturulur. Bu yöntem tavsiye edilir, çünkü:

  • Günlük sorgularındaki verilerle çalışmayı çok daha kolaylaştırır
  • Şemaları ve yapılarını keşfetmeyi kolaylaştırır
  • Hem alım gecikmesi hem de sorgu sürelerinde performansı artırır
  • Belirle bir tabloda Azure RBAC hakları vermenize olanak tanır

Aşağıdaki kategoriler Azure Firewall Diagnostic ayarları altında kaynağa özel kullanım için yeni eklenmiştir:

  • Network rule log: Tüm ağ kural günlük verilerini içerir.
  • NAT rule log: Tüm DNAT (Destination Network Address Translation) kural günlüğü verilerini içerir.
  • Application rule log: Tüm uygulama kural günlük verilerini içerir
  • Threat Intelligence log: Tüm Tehdit İstihbaratı olaylarını içerir.
  • IDPS log: Bir veya daha fazla IDPS imzasıyla eşleşen tüm veri düzlemi paketlerini içerir.
  • DNS proxy log: Tüm DNS Proxy olay günlük verilerini içerir.
  • Internal FQDN resolve failure log: Başarısızlıkla sonuçlanan tüm dahili Güvenlik Duvarı FQDN çözüm isteklerini içerir.
  • Application rule aggregation log: Policy Analytics için birleştirilmiş Uygulama kuralı günlük verilerini içerir.
  • Network rule aggregation log: Policy Analytics için toplu Ağ kuralı günlüğü verilerini içerir.
  • NAT rule aggregation log: Policy Analytics için birleştirilmiş NAT kural günlüğü verilerini içerir.

Yapılandırılmış günlükleri etkinleştirme/devre dışı bırakma

Varsayılan olarak, kaynağa özel yeni tablolar devre dışıdır. Azure Firewall Yapılandırılmış günlüklerini etkinleştirmek için aşağıdaki Azure PowerShell komutlarını kullanabilirsiniz:

  • Connect-AzAccount
  • Select-AzSubscription -Subscription “subscription_id or subscription_name”
  • Register-AzProviderFeature -FeatureName AFWEnableStructuredLogs -ProviderNamespace Microsoft.Network
  • Register-AzResourceProvider -ProviderNamespace Microsoft.Network

Ayrıca, log analytics çalışma alanınızı ayarlarken AzureDiagnostics tablosuyla (varsayılan) veya Kaynağa Özgü Tablolarla çalışmak isteyip istemediğinizi seçmelisiniz.

Buna neden ihtiyacımiz var ?

Normalde Azure Firewall için Workspace üzerinde Azure Diagnostic logları için sorgular kullanırken, aramak istediğiniz kategoriyi AzureFirewallNetworkRuleLog olarak belirtmeniz gerekmektedir. Ardından, kaynak/hedef IP’leri ve bağlantı noktaları, protokol, kural adı ve eylem gibi tüm önemli bilgiler msg_s sütununda listelenir. Diagnostic loglar tüm günlüklerin yazıldığı AzureDiagnostic tablosunu kullandıkları için mevcut veri miktarına bağlı olarak sorgunuza cevap gelmesi uzun sürebilir ayrıca msg_s sütünundaki verileri farklı sütünlara bölmek istediğinizde daha karmaşık bir KQL sorgusu kullanmanız gerekir.

Kaynağa Özgü Tablolu Günlükler

Yeni kaynağa özel tabloları sorgulamak için herhangi bir veriyi ayrıştırmanıza gerek yoktur çünkü tabloların her birinin kendi şeması vardır ve veriler buna göre yapılandırılmıştır.

Dolayısıyla, ağ günlüklerini sorgulamak istiyorsanız, ihtiyacınız olan tek şey sütunları ve hangi verileri aradığınızı bilmektir. Örneğin, TCP 389 bağlantı noktasındaki tüm reddetme günlüklerini aramak istiyorsanız, aşağıdaki sorguyu kullanabilirsiniz:

  • AZFWNetworkRule
  • | where Action contains “Deny”
  • | where DestinationPort == “389”
  • | where Protocol contains “TCP”

Daha fazlası için:

https://techcommunity.microsoft.com/t5/azure-network-security-blog/exploring-the-new-resource-specific-structured-logging-in-azure/ba-p/3620530

 

Yazar Hakkında

Avatar

Emre Martin

Cloud Solutions Architect