Merhaba; bu yazımda sizlere Azure Web Application Firewall (WAF) Nedir ve Nasıl Yapılandırılır? konusundan kısaca bahsedeceğim. Bulut tabanlı uygulamalar günümüzde şirketlerin iş sürekliliği ve güvenliği için kritik öneme sahip. Azure Web Application Firewall (WAF), Microsoft Azure’un sunduğu güvenlik hizmetlerinden biridir ve web uygulamalarını yaygın saldırılara karşı korur. SQL Injection, Cross-Site Scripting (XSS) ve OWASP Top 10’da tanımlanan güvenlik açıklarına karşı etkin bir savunma sağlamaktadır.

Azure WAF Neden Önemlidir?
Bilindiği gibi; Web uygulamaları her gün siber saldırıların hedefi olmaktadır. Azure WAF, uygulama katmanında koruma sağlayarak hem bulut tabanlı hem de hibrit ortamlarda güvenliği artırır. Öne çıkan avantajları şunlardır:
- Merkezi Güvenlik Yönetimi: Tüm web uygulamalarınızı tek noktadan güvence altına alabilirsiniz.
- Otomatik Güncellenen Kurallar: Microsoft’un sürekli güncellediği OWASP kurallarıyla saldırılara karşı koruma sağlar.
- Azure Hizmetleri ile Entegrasyon: Azure Application Gateway, Azure Front Door ve Azure CDN üzerinde kolayca devreye alınabilir.
- Gerçek Zamanlı İzleme: Azure Monitor ve Log Analytics ile trafik akışını takip ve saldırıları tespit edebilirsiniz.

What is Azure Web Application Firewall on Azure Application Gateway?
Azure WAF Çeşitleri
Azure üzerinde iki farklı WAF seçeneği bulunmaktadır:
-
Application Gateway WAF
Uygulamalarınızı sanal ağ içinde korur. Özellikle iç ağ veya VPN bağlantısı olan şirketler için uygundur.
Web Application Firewall documentation
-
Azure Front Door WAF
Global ölçekte çalışan web uygulamaları için idealdir. Dünya genelindeki kullanıcılara düşük gecikme süresi ile hizmet verirken, aynı zamanda saldırılara karşı koruma sağlar.
Azure WAF Nasıl Yapılandırılır?
Azure portal üzerinden WAF yapılandırmak oldukça basittir. İşte adım adım kurulum süreci:
WAF Kaynağı Oluşturma
- Azure Portal’a giriş yapın.
- “Create a resource” bölümünden Application Gateway veya Front Door seçin.
- WAF özellikli bir plan oluşturun.
WAF Politikası Tanımlama
- WAF Policy oluşturun.
- OWASP kurallarını etkinleştirin veya ihtiyacınıza göre özelleştirin.
- İstenirse özel kurallar (Custom Rules) eklenebilir. Örneğin, belirli IP adreslerini engellemek veya belirli URL’lere erişimi sınırlamak.
Politikayı Uygulama
- Oluşturduğunuz WAF politikasını Application Gateway veya Front Door ile ilişkilendirin.
- Trafik yönlendirme kurallarını belirleyin.
İzleme ve Güncelleme
- Azure Monitor üzerinden trafik loglarını analiz edin.
- Saldırı tespitlerini inceleyin ve gerektiğinde özel kurallar ekleyin.
Azure WAF Kullanım Senaryoları
- E-Ticaret Siteleri: Kart bilgilerinin çalınmasını önlemek.
- Kurumsal Uygulamalar: Kimlik doğrulama sistemlerini korumak.
- Global Servisler: DDoS ve botnet saldırılarına karşı koruma sağlamak.
Azure’daki WAF (Application Gateway WAF ve Azure Front Door WAF) için loglamayı nasıl açacağınız, hangi tablolara aktığını nasıl sorgulayacağınız ve PowerShell ile nasıl çıktı alınacağından da kısaca bahsedelim.
Hangi loglar var, nereye gider?
Application Gateway (WAF) için üç kategori vardır:
- ApplicationGatewayAccessLog
- ApplicationGatewayFirewallLog
- ApplicationGatewayPerformanceLog (v1 SKU; v2 için performans metriklerden izlenir)

Front Door (Standard/Premium) için loglar varsayılan olarak kapalıdır; FrontDoorAccessLog, FrontDoorWebApplicationFirewallLog (ve Health Probe) kategorileriyle etkinleştirilir. Hedef olarak Log Analytics, Storage veya Event Hub seçebilirsiniz.
Azure Monitor’un “Supported logs” referansı hem Application Gateway hem Front Door için kategori adlarını ve AzureDiagnostics tablosuna yazıldığını doğrular.
PowerShell ile loglamayı etkinleştirme
Az.Accounts, Az.Network, Az.Monitor, Az.OperationalInsights modüllerinin bulunması gerekir.
Application Gateway → Log Analytics’e göndermek için;
Connect-AzAccount
Set-AzContext -Subscription “<SUB-ID>”
$rgAgw = “rg-app”
$agwName = “agw-prod”
$rgLa = “rg-logs”
$laName = “law-prod”
$agw = Get-AzApplicationGateway -ResourceGroupName $rgAgw -Name $agwName
$workspace = Get-AzOperationalInsightsWorkspace -ResourceGroupName $rgLa -Name $laName
$cats = Get-AzDiagnosticSettingCategory -ResourceId $agw.Id
$logs = @()
$metrs = @()
$cats | ForEach-Object {
if ($_.CategoryType -eq “Logs”) { $logs += New-AzDiagnosticSettingLogSettingsObject -Enabled $true -Category $_.Name }
if ($_.CategoryType -eq “Metrics”){ $metrs += New-AzDiagnosticSettingMetricSettingsObject -Enabled $true -Category $_.Name }
}
New-AzDiagnosticSetting -Name “agw-waf-to-la” `
-ResourceId $agw.Id `
-WorkspaceId $workspace.ResourceId `
-Log $logs `
-Metric $metrs
New-AzDiagnosticSetting ile Log Analytics’e akış için -WorkspaceId (ARM Resource ID) kullanılır; kategori nesneleri New-AzDiagnosticSettingLogSettingsObject ile oluşturulur.
Desteklenen kategori isimlerini Get-AzDiagnosticSettingCategory ile listeleyebilirsiniz.
Get-AzDiagnosticSettingCategory
Azure Web Application Firewall (WAF), bulut ortamında bulunan web uygulamalarınızı korumanın en etkili yollarından biridir. Merkezi güvenlik yönetimi, otomatik güncellenen OWASP kuralları ve Azure ekosistemine entegrasyonu sayesinde hem performans hem de güvenlik sağlamaktadır. Bu yazımda sizlere Azure Web Application Firewall (WAF) Nedir ve Nasıl Yapılandırılır? konusundan kısaca bahsettim. Faydalı olması dileğiyle.


