Upload taramasını kapattım, dosyalar hâlâ engelleniyor; neden?
Kısa cevap
Form sekmesindeki OWASP Check in Upload yalnızca yüklenen dosyaların içeriğinin dosya dosya taranmasını yönetir. Çok parçalı (multipart) bir yükleme isteğinde gövdenin tamamı, dosya baytları dahil, Raw sekmesindeki OWASP Check ile ayrıca taranır; en sık neden budur ve kayıtta Attack area parametresiz Raw görünür (Multipart isteklerde gövdenin tamamı ayrıca taranır mı?). Dosya adı ve diğer alanlar Form imza taramasından geçer (Form@alan); Allowed Upload Mime Types, Raw Body Size, Block Unparsed Contents ve Block Invalid Form Contents de upload taramasından bağımsızdır. Ayar isteğin eşleştiği kuralda değil başka bir kuralda kapatılmış da olabilir: sayfa tipinin kendi Form ortak kuralı yoksa değer Any Paths'ten ya da path'e uyan glob kuraldan devralınır. Ayarın durumu detay panelinde gösterilmez, yalnızca Edit Common Rule for Form formunda görülür. Dosya içeriklerini taramadan tümüyle çıkarmak için yükleme sayfasının Raw ortak kuralında OWASP check kapatılır; false positive tek bir imzaysa aynı kuralın OWASP Exclusions listesine eklenir. Event Logs'ta kaydı olmayan 418'de ise tarama zaman aşımı (2 saniyelik süre sınırı) araştırılır.
Sorun: Upload Taraması Kapalı Ama Dosyalar Engelleniyor
Yükleme sayfasının Form ortak kuralında OWASP Check in Upload kapatıldı, ancak dosya yüklemeleri engelleme yanıtı (varsayılan durum kodu 418) almaya devam ediyor. Çok parçalı bir yükleme isteği birden çok denetimden geçtiği için bu ayar engelin tek kaynağı değildir.
Olası Nedenler
| Attacks sekmesinde görünen | Neden | Çözüm |
|---|---|---|
İmza adı; Attack Area = Raw (parametresiz) | Gövdenin tamamının Raw imza taraması; OWASP Check in Upload'dan bağımsızdır | Yöntem 1 ya da Yöntem 2 |
İmza adı; Attack Area = Raw@dosya-alanı | Dosya içeriği hâlâ taranıyor: ayar isteğin eşleştiği kuralda kapalı değil | Nasıl teşhis edilir, 2–5. adımlar |
İmza adı; Attack Area = Form@alan | Dosya adında ya da başka bir alanın değerinde imza; dosya alanının değeri dosya adıdır | Belirli bir parametrede OWASP taramasını kapatabilir miyim? |
Allowed Upload Mime Types; Attack area = Form@tür | Dosyanın içeriğinden tespit edilen tür izin listesinde değil | Dosya yüklemeleri WAF tarafından engelleniyor; nasıl çözerim? |
| Raw Body Size, Block Unparsed Contents | Gövde boyutu kuralın aralığı dışında ya da gövde denetim tamponuna sığmadı | Büyük POST istekleri engelleniyor veya yarıda kesiliyor; neden? |
| Block Invalid Form Contents, Block All Form Contents | Çok parçalı gövde çözümlenemedi ya da kural form gövdesini kabul etmiyor | Dosya yüklemeleri WAF tarafından engelleniyor; nasıl çözerim? |
| Event Logs'ta kayıt yok, yanıt 418 | Tarama 2 saniyelik süre sınırı içinde tamamlanamadı; büyük dosyada gövdenin tamamı tarandığı için olasılık artar. Zaman aşımı yalnızca Blocking mode'da, Fail-open kapalıyken (varsayılan) engeller | 418 alan bir istek Event Logs'ta neden görünmüyor? |
Kesin kurallar:
- Dosya içeriklerinin taranması iki ayarın birlikte açık olmasını gerektirir: Form ortak kuralındaki OWASP Check in Upload ve Raw ortak kuralındaki OWASP Check. Biri kapalıysa dosya içerikleri dosya dosya taranmaz.
- Gövdenin tamamının taraması yalnızca Raw ortak kuralındaki OWASP Check'e bağlıdır. Raw OWASP check kapatılırsa hem bu tarama hem dosya içeriklerinin taraması durur.
- İki tarama da Raw ortak kuralının OWASP Exclusions listesini kullanır; listeye eklenen imza iki taramada da eşleşme üretmez. Liste Max. OWASP Exclusions değerinden (varsayılan 25) uzun olursa Raw imza taraması tümüyle kapanır.
- İstek, eşleştiği sayfa tipinin Form ve Raw ortak kuralıyla denetlenir. Sayfa tipinin kendi ortak kuralı yoksa değer path'e uyan glob kuraldan ya da Any paths'ten devralınır; detay panelinde Rule Source satırı devralınan kuralı gösterir (devralma).
- OWASP Check in Upload varsayılan olarak işaretlidir ve detay panelindeki tabloda gösterilmez; değeri yalnızca ortak kural formunda görülür.
- Değişiklik kaydedildiğinde WAF yapılandırması ayrı bir dağıtım adımı olmadan yeniden üretilip uygulanır; beklenecek bir yayın süresi yoktur.
Nasıl Teşhis Edilir?
- Engellenen yüklemenin kaydı Event Logs'ta Request Unique ID ile bulunur; Attacks sekmesinde her saldırının Attack area değeri yukarıdaki tabloyla eşleştirilir. Kayıt yoksa 418 alan bir istek Event Logs'ta neden görünmüyor? sayfasına geçilir.
- Corresponding Rule isteğin eşleştiği kuralı gösterir; Request & Location sekmesindeki Matching Path Rules path'e uyan bütün kuralları listeler.
- WAF Management → host grubunun mod kartındaki N page types bağlantısıyla Page Types açılır ve Corresponding rule'daki kural seçilir.
- Detay panelinin Form sekmesinde Rule Source satırı varsa ayar devralınmaktadır ve kaynak kural bu satırda yazar; OWASP Check in Upload'ın kapatıldığı kural bu değilse değişiklik isteğe uygulanmamıştır.
- Ayarın değeri Edit Common Rule for Form (kural kendi ortak kuralına sahipse) ya da kaynak kuralın aynı formu açılarak okunur; değer formda görüldükten sonra kaydetmeden kapatılır.
- Raw sekmesinde OWASP Check satırı ve istisna sayısı okunur.
Çözüm: Üç Yöntem
Yöntemler birbirinin alternatifidir. Değişiklik yükleme yolunun kendi sayfa tipinde yapılır; Any paths değiştirilirse etkisi hiçbir sayfa tipine uymayan bütün isteklere yayılır.
| Durumunuz | Uygun yöntem |
|---|---|
Attack area Raw; imza false positive ya da dosya içerikleri bu uçta hiç taranmasın isteniyor | Yöntem 1: Yükleme sayfasının Raw ortak kuralı |
Attack area Raw; kayıttan tek imza öğretilecek | Yöntem 2: Event Logs'tan Allow |
| Bu uçta Raw OWASP taraması komut satırından kapatılacak | Yöntem 3: WEB-CLI |
| Yükleme yolunun kendi sayfa tipi yok | Önce sayfa tipi eklenir: Dosya yüklemeleri WAF tarafından engelleniyor; nasıl çözerim? (Yöntem 2, 2–4. adımlar) |
Yöntem 1: Yükleme Sayfasının Raw Ortak Kuralı Önerilen
- Nasıl çalışır Yükleme sayfasının Raw ortak kuralında false positive imza OWASP Exclusions listesine eklenir ya da OWASP Check kapatılır. İstisna yalnızca seçilen imzayı çıkarır; OWASP check'in kapatılması bu sayfadaki gövdenin tamamının ve dosya içeriklerinin imza taramasını durdurur.
- Nerede açılır Left Monitor Panel → WAF-Protected vServices → vService → WAF Management → N page types → kural → Raw sekmesi
- Gereksinim WAF değiştirme yetkisi; yükleme yolunun kendi sayfa tipi
- vService tipi HTTP
Adım adım yapılandırma
Left Monitor Panel'de WAF-Protected vServices seçilir, vService'e tıklanır ve WAF Management sekmesi açılır. İsteğin düştüğü host grubunun mod kartındaki N page types bağlantısı tıklanır (ekrana erişim).
Yükleme yolunun satırına tıklanır; detay paneli açılır.
Panelin sekme şeridinde Raw tıklanır.
Kuralın kendi Raw ortak kuralı varsa Edit Common Rule for Raw, yoksa Add Common Rule for Raw tıklanır; ekleme formu Any paths'in Raw değerleriyle dolu açılır (Add common rule for Raw ekranı).
| İstenen | Formda yapılan |
|---|---|
| Tek imzayı çıkarmak | OWASP Check işaretli kalır; OWASP Exclusions listesinde kayıttaki Attack Name seçilir |
| Bu uçta dosya içeriklerini ve gövdenin tamamını taramadan çıkarmak | OWASP Check işareti kaldırılır; OWASP Exclusions alanı gizlenir |
OWASP check'in kaldırılması bu uçtaki imza denetimini zayıflatır; Allowed Upload Mime Types, Raw Body Size ve dosya adının Form taraması çalışmaya devam eder.
Formdaki Edit (ya da yeni ortak kuralda Add) tıklanır; değişiklik ayrı bir dağıtım adımı olmadan uygulanır. Cluster kurulumunda değişiklik varsayılan auto-sync ile eş cihaza da gönderilir; Manual Sync Mode açıksa Synchronize ile gönderilir.
Doğrulama
Kuralın Raw sekmesindeki OWASP check satırına bakılır.
İstisna sayısı artar ya da satır kapalı (-) görünürAynı dosya yeniden yüklenir.
Yükleme tamamlanır; Attack area Raw kaydı oluşmazYöntem 2: Event Logs'tan Allow
- Nasıl çalışır Kayıttaki imza öğretilir; Learning Suggestion satırı imzanın OWASP istisnasına alınacağını yazar (
… will be marked as OWASP exclusion). Öğretme işleminin değiştireceği kural Corresponding Rule satırında görülür. - Nerede açılır Left Monitor Panel → WAF-Protected vServices → vService → Event Logs → kayıt → Attacks
- Gereksinim WAF değiştirme yetkisi; kaydın Event Logs'ta bulunması (host grubu Monitor ya da Blocking mode'da)
- vService tipi HTTP
Adım adım yapılandırma
Left Monitor Panel'de WAF-Protected vServices kategorisi seçilir, vService'e tıklanır ve Event Logs sekmesi açılır.
Sunucu filtresi sekmesinde Request Unique ID alanına engelleme sayfasındaki Request ID yazılır ya da Date Range yüklemenin yapıldığı zamanı kapsayacak şekilde seçilir (sunucu filtresi).
Save & Get Logs tıklanır.
Satıra tıklanır ve önizlemede Attacks sekmesi seçilir; Attack Area, Corresponding Rule ve Learning Suggestion okunur.
Saldırı tablosunda yalnızca false positive imzanın kutusu işaretlenir.
Tablonun üstündeki buton tıklanır. Buton engellenmiş bir kayıtta Allow, Monitor mode'da yazılmış bir kayıtta Teach adını taşır (Allow / Teach).
Are you sure? sorusunda Yes tıklanır; değişiklik ayrı bir dağıtım adımı olmadan uygulanır. Cluster kurulumunda değişiklik varsayılan auto-sync ile eş cihaza da gönderilir; Manual Sync Mode açıksa Synchronize ile gönderilir. Ayrıntı: Allow / Teach yaptığımda arka planda hangi kural değişir (Learning Suggestion)?
Doğrulama
Event Logs'ta öğretilen kaydın Attacks kolonuna bakılır.
İlk sayı 0; satır yeşilYöntem 3: WEB-CLI
- Nasıl çalışır Kuralın Raw ortak parçasında WEB-CLI
waf rule-parts updatekomutuyla OWASP Check kapatılır; bu uçta gövdenin tamamı ve dosya içerikleri imza taramasından çıkar. - Nerede açılır WEB-CLI →
waf host-groups·waf fw-rules·waf rule-parts - Gereksinim WEB-CLI erişimi ve WAF değiştirme yetkisi; kuralın kendi Raw ortak parçasının bulunması
- vService tipi HTTP
Adım adım yapılandırma
waf host-groups list poolId <vService>Varsayılan host grubunun kimliği defaultHost'tur.
waf fw-rules list poolId <vService> hostGroupId <grup>waf rule-parts list poolId <vService> hostGroupId <grup> ruleId <kural>Bölgesi raw olan parça Raw ortak parçasıdır. Listede yoksa kural Raw ayarlarını devralmaktadır; ortak parça arayüzde Yöntem 1'deki Add Common Rule for Raw ile oluşturulur.
Doğrulama
Parça yeniden görüntülenir.
Komut: waf rule-parts show poolId <vService> hostGroupId <grup> ruleId <kural> <parça>
argOwasp falseSık Yapılan Hatalar
- OWASP check in upload'ın bütün taramayı kapattığını sanmak. Gövdenin tamamı Raw ortak kuralının OWASP check ayarıyla ayrıca taranır.
- Ayarı isteğin eşleşmediği kuralda değiştirmek. Değişiklik kayıttaki Corresponding Rule'da yazan kurala ya da o kuralın devraldığı kurala yapılır.
- Ayarı detay panelinde aramak. OWASP Check in Upload panelde gösterilmez; ortak kural formu açılarak görülür.
- Raw OWASP check'i Any paths'te kapatmak. Hiçbir sayfa tipine uymayan bütün istek gövdeleri imza taramasından çıkar; değişiklik yalnızca yükleme yolunun sayfa tipinde yapılır.
- Kayıtsız 418'leri durdurmak için host grubunu Monitor mode'a almak. Bu, o gruptaki bütün WAF engellemesini kaldırır. Zaman aşımı engellerinde önce taranan gövde küçültülür; istek küçültülemiyorsa yalnızca bu engelleri kaldıran Fail-open açılır (418 alan bir istek Event Logs'ta neden görünmüyor?).
Dokümantasyonda nasıl yapılır
