Bir web uygulaması internete açıksa saldırı yüzeyi yalnızca sunucunun IP adresinden ibaret değildir.
Login ekranları, API endpoint’leri, form alanları, URL parametreleri, dosya yükleme fonksiyonları ve hatta normal görünen HTTP istekleri saldırganlar tarafından kullanılabilir.
Bu nedenle modern web uygulamalarında temel soru:
“Trafiği engelleyebiliyor muyuz?”
değil,
“Normal kullanıcı davranışı ile saldırı trafiğini doğru şekilde ayırabiliyor muyuz?”
olmalıdır.
Fortinet’in FortiWeb Web Application Firewall — WAF çözümü tam olarak bu katmanda konumlanır.
FortiWeb; web uygulamalarını ve API’leri bilinen saldırılar, anormal trafik, bot aktiviteleri ve çeşitli uygulama katmanı tehditlerine karşı korumak için signature, protocol validation, machine learning, davranış analizi ve diğer güvenlik mekanizmalarını birlikte kullanabilir. Fortinet’in güncel FortiWeb dokümantasyonu ürünün bilinen ve bilinmeyen exploit’lere karşı çok katmanlı tespit mekanizmaları kullandığını belirtiyor. Fortinet Belgeleri
FortiWeb nedir?
FortiWeb, web uygulamaları ve API’ler için tasarlanmış bir Web Application Firewall çözümüdür.
Gelen HTTP/HTTPS trafiğini analiz ederek uygulamaya ulaşmadan önce zararlı veya şüpheli request’leri tespit etmeye ve yapılandırılan policy’ye göre bunlara karşı aksiyon almaya yardımcı olur.
Basitleştirilmiş mimariyi şöyle düşünebiliriz:
Internet → FortiWeb → Web/Application Server
Kullanıcı doğrudan backend uygulama sunucusuyla iletişim kurmak yerine trafik FortiWeb üzerinden değerlendirilir.
Bu noktada FortiWeb:
- request yapısını,
- HTTP method’larını,
- URL ve parametreleri,
- header’ları,
- cookie’leri,
- JSON/XML içeriğini,
- bot davranışlarını,
- API trafiğini,
- bilinen saldırı pattern’lerini
değerlendirebilir.
Ancak WAF’ın doğru çalışabilmesi için uygulamanın normal davranışının doğru anlaşılması ve security policy’nin buna göre tune edilmesi gerekir.
WAF ile klasik firewall arasındaki fark nedir?
Network firewall çoğunlukla IP, port, protocol, application ve network security bağlamında karar verir.
WAF ise web uygulaması trafiğinin daha derinine iner.
Örneğin aşağıdaki HTTP isteğini düşünelim:
GET /product?id=100
Network açısından bu:
Client → TCP/443 → Web Server
şeklinde tamamen normal bir HTTPS bağlantısı olabilir.
Ancak parameter şu şekilde değişirse:
/product?id=100' OR '1'='1
uygulama katmanında SQL Injection girişimi söz konusu olabilir.
Network portu hâlâ:
TCP/443
olmasına rağmen request’in anlamı değişmiştir.
WAF’ın temel görevi tam olarak bu seviyedeki farkları analiz etmektir.
FortiWeb OWASP Top 10 saldırılarına karşı nasıl çalışır?
OWASP Top 10, web uygulamalarındaki en kritik güvenlik risklerini anlamak için kullanılan önemli referanslardan biridir.
FortiWeb tarafında OWASP risklerinin azaltılmasına yardımcı olabilecek mekanizmalar arasında:
Signature Detection
Machine Learning Based Anomaly Detection
Input Validation
SQL/XSS Injection Detection
Protocol Constraints
Access Control
CSRF Protection
ve çeşitli diğer kontroller bulunur. Fortinet Belgeleri
Örneğin signature mekanizması HTTP request içerisindeki:
URL parameters
POST body
Cookies
Headers
JSON
XML
Uploaded filenames
gibi alanları inceleyebilir.
FortiWeb signature engine; SQL injection, XSS, code injection, local/remote file inclusion ve farklı bilinen saldırı türlerine yönelik kontroller sağlayabilir. Fortinet Belgeleri
Burada önemli bir nokta vardır:
OWASP Top 10 desteği = uygulamanın güvenli olduğu anlamına gelmez.
WAF bir savunma katmanıdır.
Secure coding, patch management, authentication, authorization, secrets management, vulnerability management ve güvenli SDLC süreçlerinin yerine geçmez.
Signature tabanlı koruma tek başına yeterli mi?
Her zaman değil.
Signature yaklaşımı bilinen saldırı kalıplarında oldukça değerlidir.
Ancak saldırganın gönderdiği request daha önce bilinen bir pattern’e birebir uymayabilir.
Modern uygulamalar da birbirinden oldukça farklı davranış gösterebilir.
Bu nedenle FortiWeb signature kontrollerinin yanında Machine Learning Based Anomaly Detection mekanizmalarını da kullanabilir.
Temel mantık:
Normal uygulama davranışını öğren → Yeni request’i bu modelle karşılaştır → Anormal davranışı belirle
şeklindedir.
Fortinet’in güncel FortiWeb sürümlerindeki Threat Protection modeli SQL injection, XSS, local file inclusion ve command/code injection gibi saldırıları algılamaya yardımcı oluyor ve ML tabanlı anomaly/API protection katmanlarını destekliyor. Hassasiyet seviyesinin değiştirilmesi de false positive ile detection sensitivity arasındaki dengenin yönetilmesine imkân sağlıyor. Fortinet Belgeleri
Bu özellik bizi WAF dünyasının en önemli konularından birine getiriyor:
False Positive nedir?
WAF’ın saldırı zannederek engellediği meşru kullanıcı trafiğine false positive denir.
Örneğin bir kullanıcı arama kutusuna:
select
kelimesini yazabilir.
Uygulama açısından bu tamamen normal olabilir.
Fakat kötü tune edilmiş bir security rule bunu SQL Injection pattern’i olarak değerlendirebilir.
Sonuç:
Meşru kullanıcı engellenir.
WAF güvenliğini değerlendirirken yalnızca:
“Kaç saldırı engelledik?”
sorusunu sormak bu nedenle yeterli değildir.
Aynı zamanda:
“Kaç gerçek kullanıcıyı yanlışlıkla engelledik?”
sorusuna da cevap verilmelidir.
WAF tuning neden kritik?
Security policy’yi kurup bütün rule’ları doğrudan:
BLOCK
moduna almak her zaman doğru yaklaşım değildir.
Özellikle kritik production uygulamalarında daha kontrollü süreç:
Observe → Log → Analyze → Tune → Enforce
şeklinde olabilir.
Önce gerçek application traffic gözlemlenir.
Hangi URL’lerin ve parameter’ların kullanıldığı anlaşılır.
False positive oluşturan pattern’ler incelenir.
Gerekli exception’lar mümkün olduğunca dar kapsamlı oluşturulur.
Ardından uygun rule’lar blocking moduna alınır.
Ama burada diğer uçtan da kaçınmak gerekir.
Her false positive olayında geniş exemption oluşturmak:
Bu URL'yi tamamen bypass et
gibi bir yaklaşıma dönüşürse WAF zamanla etkisiz hale gelebilir.
Doğru tuning:
mümkün olan en spesifik exception
prensibine dayanmalıdır.
FortiWeb Bot Protection nasıl çalışır?
Modern web uygulamalarındaki trafiğin tamamı insanlardan gelmez.
İnternette:
arama motorları,
monitoring sistemleri,
otomasyon araçları,
AI crawler’ları,
scraper’lar,
credential-stuffing botları,
fake-account botları,
fraud botları
birlikte bulunabilir.
Dolayısıyla:
Bot = kötü
yaklaşımı da doğru değildir.
Asıl amaç:
iyi bot ile kötü botu ve normal kullanıcı ile otomasyonu doğru ayırmaktır.
FortiWeb bunun için çok katmanlı bot mitigation seçenekleri sunuyor. Güncel dokümantasyonda bunlar arasında threshold-based detection, biometrics-based detection, machine-learning bot detection, bot deception, known bots ve Advanced Bot Protection bulunuyor. Fortinet Belgeleri
Threshold-Based Bot Detection
Belirli davranışların olağandışı sıklıkta gerçekleşmesini takip edebilir.
Örneğin:
çok yüksek request rate,
çok sayıda 403/404,
content scraping,
illegal user scanning
gibi davranışlar bot sinyali oluşturabilir. Fortinet Belgeleri
Biometrics-Based Bot Detection
Client tarafındaki bazı kullanıcı davranışları incelenebilir.
Örneğin:
mouse hareketleri,
klavye kullanımı,
scroll davranışı,
touch event’leri.
Amaç gerçek insan davranışıyla otomasyon arasındaki farkları tespit etmeye yardımcı olmaktır. Fortinet Belgeleri
Machine Learning Based Bot Detection
Daha gelişmiş botlar basit User-Agent veya IP kontrollerini aşabilir.
FortiWeb’in ML tabanlı bot detection mekanizması kullanıcı davranışını çok sayıda boyutta değerlendirerek normal davranış modeli oluşturabilir ve buna göre anomalileri belirleyebilir. Fortinet dokümantasyonu modelin HTTP request sıklığı ve HTTP davranışları dahil 13 farklı boyutu değerlendirdiğini belirtiyor. Fortinet Belgeleri
Advanced Bot Protection
FortiWeb ayrıca FortiAppSec Cloud’un Advanced Bot Protection servisiyle entegrasyon sağlayabiliyor.
Bu katman credential stuffing, account takeover, data harvesting ve gelişmiş otomasyon saldırılarının belirlenmesine yardımcı olmak için davranış verisi ve machine-learning yaklaşımı kullanıyor. Fortinet Belgeleri
Bu özellikle:
e-ticaret,
login portal,
internet bankacılığı,
finansal uygulamalar
ve yoğun API kullanan servislerde önem kazanabilir.
Credential Stuffing nedir?
Bot güvenliğinin neden önemli olduğunu gösteren iyi örneklerden biri credential stuffing saldırılarıdır.
Saldırgan geçmiş veri ihlallerinden elde ettiği:
username + password
kombinasyonlarını otomatik sistemlerle başka servislerin login ekranlarında deneyebilir.
Örneğin saniyeler içerisinde binlerce:
POST /login
request’i gönderilebilir.
Tek tek bakıldığında HTTP request’lerin biçimi tamamen geçerli olabilir.
Sorun:
davranışın kendisidir.
Bu nedenle sadece attack signature kontrolü yeterli olmayabilir.
Rate control, bot detection, reputation, behavioral analysis ve authentication security’nin birlikte değerlendirilmesi gerekir.
Fortinet de credential stuffing ve account takeover girişimlerini FortiWeb bot-protection kullanım alanları arasında gösteriyor. Fortinet Belgeleri
FortiWeb API Security nasıl çalışır?
Modern uygulamaların önemli bir kısmı artık kullanıcı arayüzünden çok API’lere dayanıyor.
Örneğin:
GET /api/users/123
POST /api/payment
PUT /api/account
DELETE /api/resource/10
gibi endpoint’ler uygulamanın temel fonksiyonlarını gerçekleştiriyor olabilir.
Bu API’lerin internete açık olması yeni bir attack surface oluşturur.
OWASP da bunun için ayrı API Security Top 10 listesi yayımlıyor.
FortiWeb API trafiğinde JSON/XML protection, schema validation ve machine-learning tabanlı API protection gibi mekanizmalar sağlayabiliyor. Fortinet Belgeleri
ML-Based API Protection
FortiWeb’in ML-Based API Protection özelliği REST API trafiğinden API’nin normal yapısını öğrenebilir.
Bu modelde temel olarak farklı koruma katmanları bulunur.
Schema Protection
Request’lerdeki:
HTTP method
URL
endpoint
ve ilgili veri yapıları öğrenilir.
Örneğin normal API:
POST /api/payment
Content-Type: application/json
ve beklenen JSON:
{
"amount": 100,
"currency": "TRY"
}
şeklindeyse beklenmeyen field veya yapı değişiklikleri security açısından anlamlı olabilir.
FortiWeb API discovery ve learned schema kullanarak gelen request’in beklenen API yapısından sapıp sapmadığını değerlendirebilir. Fortinet Belgeleri
Threat Protection
Sadece API yapısını değil parameter value’larının davranışını da değerlendirebilir.
Böylece yapısal olarak geçerli görünen ancak anormal değerler taşıyan request’lerin belirlenmesine yardımcı olabilir. Fortinet Belgeleri
FortiWeb 7.6.4 ile API-learning mantığı da genişletildi; örneğin body içermeyen bazı GET request’lerinin öğrenilebilmesi için model güncellendi. Fortinet Belgeleri
API Security neden klasik WAF kontrolünden farklı düşünülmeli?
Bir API request teknik olarak tamamen geçerli olabilir:
GET /api/accounts/100
Ancak kullanıcının yalnızca kendi account’unu görmesi gerekirken:
GET /api/accounts/101
ile başka müşterinin verisine erişebilmesi bir authorization problemidir.
Bu nedenle API security yalnızca:
SQL Injection engellemek
değildir.
API güvenliği;
authentication,
authorization,
schema,
rate limiting,
business logic,
data exposure,
bot/automation,
API discovery
ve application security kontrollerinin birlikte ele alınmasını gerektirir.
WAF bu mimaride önemli bir katmandır ancak uygulamanın kendi authorization logic’inin yerine geçmez.
Virtual Patching nedir?
FortiWeb’in en değerli kullanım senaryolarından biri Virtual Patching yaklaşımıdır.
Örneğin production’daki uygulamada kritik bir vulnerability bulundu.
Ancak:
uygulama legacy olabilir,
developer ekibi fix hazırlıyor olabilir,
change window birkaç gün sonra olabilir,
uygulama hemen restart edilemiyor olabilir.
Normal şartlarda vulnerability bu süre boyunca exploit edilebilir durumda kalabilir.
Virtual patching yaklaşımında WAF:
vulnerability’yi hedefleyen exploit request’ini uygulamaya ulaşmadan engellemeye
çalışır.
Fortinet, FortiWeb signature tabanlı korumasının application code değiştirilmeden bilinen vulnerability’leri hedefleyen exploit girişimlerine karşı virtual patch görevi görebileceğini belirtiyor. Fortinet Belgeleri
Basitleştirilmiş olarak:
Attacker
↓
Exploit Request
↓
FortiWeb
↓
Virtual Patch Rule
↓
BLOCK
X
Application
şeklinde düşünebiliriz.
Virtual Patching gerçek patch’in yerine geçer mi?
Hayır.
Bu ayrımı özellikle vurgulamak gerekir.
Virtual patching vulnerability’nin application source code’da ortadan kalktığı anlamına gelmez.
Asıl açık hâlâ uygulamada bulunabilir.
Virtual patch:
exploit path’ini WAF seviyesinde sınırlayan telafi edici güvenlik kontrolüdür.
Kalıcı çözüm:
uygulama veya ilgili component’in patch edilmesidir.
Bu nedenle doğru lifecycle:
Vulnerability tespit edildi → Virtual Patch → Geliştirici düzeltmesi → Test → Gerçek Patch/Release → Virtual Patch’in yeniden değerlendirilmesi
şeklinde olmalıdır.
Virtual patching özellikle emergency mitigation için çok değerlidir; fakat teknik borcu kalıcı hale getirmek için kullanılmamalıdır.
FortiWeb vulnerability scanning yapabilir mi?
FortiWeb web server ve web application’larda bilinen bazı vulnerability’leri belirlemek amacıyla vulnerability scanning özellikleri de sunar.
Scan sonucunda vulnerability report oluşturulabilir ve protection profile tasarımına girdi sağlanabilir. Fortinet bu taramaların ilk deployment sırasında veya uygulamanın yeni sürümü staging ortamına alındığında çalıştırılmasını öneriyor. Ayrıca live production uygulamalarında aktif vulnerability scan yapılırken dikkatli olunması gerektiğini, tercihen staging ortamının kullanılmasını özellikle belirtiyor. Fortinet Belgeleri
Bu da önemli bir operasyon prensibidir:
Security scanner’ın kendisi de production uygulamasına yük veya beklenmeyen davranış oluşturabilir.
Dolayısıyla vulnerability scan:
planlı + kontrollü + uygulama sahibiyle koordineli
yürütülmelidir.
Anomaly Detection neden önemli?
Signature size bilinen saldırıyı gösterebilir.
Anomaly Detection ise:
“Bu request bu uygulamanın normal davranışına benziyor mu?”
sorusuna yardımcı olur.
Örneğin normal kullanıcı bir endpoint’e dakikada birkaç request gönderirken tek bir client’ın birkaç saniye içerisinde binlerce request göndermesi anlamlı olabilir.
Ya da belirli parameter normalde:
1–1000
aralığında değerler görürken aniden:
../../../etc/passwd
benzeri payload gelmesi anormal davranış göstergesidir.
Machine learning’in WAF’taki değeri burada ortaya çıkar.
Ancak yine tuning gerekir.
Normal davranış modeli yanlış oluşturulmuşsa:
false positive
veya
false negative
oluşabilir.
Bu nedenle ML özelliğini açmak:
“Artık tuning yapmamıza gerek yok.”
anlamına gelmez.
FortiWeb logları neden kritik?
WAF operasyonunda sadece:
Blocked: 12,532 attacks
gibi bir dashboard sayısına bakmak yeterli değildir.
Asıl sorular şunlardır:
Hangi URL hedef alındı?
Hangi parameter tetiklendi?
Hangi signature eşleşti?
Source IP neydi?
HTTP method neydi?
Request gerçek saldırı mı, false positive mi?
Aynı kaynak başka endpoint’leri denedi mi?
Bot davranışı var mı?
API endpoint enumeration gerçekleşiyor mu?
Bu nedenle WAF logları SIEM ve SOC operasyonunun da parçası olmalıdır.
FortiWeb güncel ürün özelliklerinde real-time attack visibility ve visual analytics yetenekleri de sunuyor. Fortinet Belgeleri
WAF Tuning nasıl yapılmalı?
Ben FortiWeb operasyonunda dört aşamalı bir yaklaşımı tercih ederim:
1. Baseline oluştur
Uygulamanın normal trafiğini öğren.
Normal:
URL,
HTTP method,
parameter,
API endpoint,
client behavior
profilini çıkar.
2. Logları incele
Hangi rule’lar en çok tetikleniyor?
Gerçek attack mı?
False positive mi?
Belirle.
3. Exception’ı dar tut
Örneğin tüm:
/api/*
path’ini exemption yapmak yerine yalnızca gerekli:
/api/report?filter=
parameter’ını hedeflemek daha doğrudur.
4. Enforcement uygula
Tuning tamamlandıktan sonra güvenilir rule’ları:
Block / Deny
davranışına geçir.
Bu yaklaşım security ile application availability arasındaki dengeyi korur.
WAF neden tek başına yeterli değildir?
FortiWeb güçlü bir application-security katmanı sağlayabilir.
Ancak web uygulama güvenliğini yalnızca WAF’a bırakmak doğru değildir.
Daha doğru mimari:
Secure Development
↓
SAST / DAST / Dependency Scanning
↓
Patch Management
↓
WAF / API Security
↓
Bot Protection
↓
Authentication / MFA
↓
Network Segmentation
↓
Logging / SIEM / SOC
↓
Incident Response
şeklinde çok katmanlı düşünülmelidir.
Örneğin uygulamada Broken Access Control varsa yalnızca WAF policy ile bütün business-logic hatalarını çözmek mümkün olmayabilir.
Aynı şekilde vulnerable library kullanılıyorsa virtual patching geçici koruma sağlayabilir ancak library’nin güncellenmesi yine gerekir.
FortiWeb için operasyonel kontrol listesi
Production FortiWeb ortamında yalnızca cihazın:
UP
olması yeterli değildir.
Düzenli olarak:
- Server Policy ve Web Protection Profile’ların doğru uygulandığı,
- attack signature’ların güncel olduğu,
- ML learning/tuning durumlarının sağlıklı olduğu,
- false positive oranlarının incelendiği,
- bot mitigation policy’lerinin güncellendiği,
- API endpoint’lerinin görünür olduğu,
- high-risk URL ve parameter’ların takip edildiği,
- virtual patch’lerin kalıcı uygulama patch’leriyle kapatıldığı,
- TLS ve backend bağlantılarının sağlıklı olduğu,
- log/SIEM entegrasyonunun çalıştığı,
- HA ve failover’ın test edildiği
doğrulanmalıdır.
WAF operasyonunun başarısı:
kaç policy oluşturulduğuyla değil, gerçek saldırıyı durdururken gerçek kullanıcıyı ne kadar az etkilediğiyle
ölçülmelidir.
FortiWeb güvenliğinin özü
Web Application Firewall kullanmanın amacı internetteki bütün request’leri mümkün olduğunca çok engellemek değildir.
Tam tersine amaç:
meşru kullanıcı trafiğini kesmeden zararlı trafiği mümkün olduğunca doğru tespit etmektir.
Bu nedenle FortiWeb operasyonunda dört konu birlikte düşünülmelidir:
Protection + Visibility + Tuning + Application Context
Signature’lar bilinen saldırıları yakalar.
Machine Learning anormal davranışları anlamaya yardımcı olur.
Bot Protection otomasyonu analiz eder.
API Security modern API attack surface’ini korumaya yardımcı olur.
Virtual Patching gerçek patch uygulanana kadar kritik bir zaman kazandırabilir.
Ama bütün bunların üzerinde hâlâ insan faktörü vardır:
Doğru policy + doğru tuning + doğru log analizi.
Çünkü WAF dünyasında:
çok fazla block her zaman daha fazla güvenlik anlamına gelmez.
Asıl başarı:
saldırıyı durdururken normal kullanıcıyı içeri alabilmektir.
Not: FortiWeb özellikleri kullanılan ürün tipi, lisans, deployment modeli ve FortiWeb/FortiWeb Cloud sürümüne göre farklılık gösterebilir. Production değişiklikleri öncesinde kullanılan sürümün Fortinet dokümantasyonu kontrol edilmelidir.
Sık Sorulan Sorular
FortiWeb nedir?
FortiWeb, web uygulamalarını ve API’leri application-layer saldırılarına karşı korumaya yardımcı olan Fortinet Web Application Firewall çözümüdür. Signature, machine learning, bot mitigation, API protection ve çeşitli uygulama güvenliği kontrollerini destekler. Fortinet Belgeleri
FortiWeb OWASP Top 10 saldırılarını engeller mi?
FortiWeb, OWASP Top 10 risklerinin birçoğunu azaltmaya yardımcı olan signature detection, ML anomaly detection, input validation, SQL/XSS detection ve çeşitli ek kontroller sağlar. Ancak WAF kullanımı uygulamanın OWASP risklerinden tamamen arındığı anlamına gelmez. Fortinet Belgeleri
FortiWeb Virtual Patching nedir?
Uygulamadaki bilinen bir vulnerability kalıcı olarak giderilene kadar onu hedefleyen exploit girişimlerinin WAF katmanında engellenmesine yardımcı olan telafi edici güvenlik yaklaşımıdır. Kalıcı application patch’in yerine geçmez. Fortinet Belgeleri
FortiWeb bot saldırılarını tespit edebilir mi?
Evet. FortiWeb threshold, behavioral/biometric, machine-learning, known-bot ve gelişmiş bot-protection mekanizmaları sağlayabilir. Fortinet Belgeleri
FortiWeb API’leri koruyabilir mi?
Evet. JSON/XML protection, API discovery/schema analizi ve machine-learning based API protection gibi kontroller sağlayabilir. Fortinet Belgeleri
WAF false positive nedir?
Meşru bir HTTP/API request’inin WAF tarafından yanlışlıkla saldırı olarak değerlendirilmesidir. Bu nedenle production WAF ortamlarında policy tuning kritik öneme sahiptir.
WAF uygulama patch’inin yerine geçer mi?
Hayır. WAF ve virtual patching exploit riskini azaltabilir ancak application source code veya vulnerable component’teki açığı ortadan kaldırmaz. Kalıcı remediation yine uygulama tarafında yapılmalıdır.
Cem Kemal Erbaş sitesinden daha fazla şey keşfedin
Subscribe to get the latest posts sent to your email.
Cem Kemal Erbaş Network, Siber Güvenlik ve Teknik Rehberler