Çoğu e-pin satıcısı saldırıyı bir intikam hikâyesi gibi düşünür: bir rakip kızmıştır, birileri özellikle senin siteni seçmiştir. Gerçek çok daha sıkıcı ve çok daha tehlikelidir. Siteni devirenlerin büyük kısmı seni tanımıyor; internette gezinen otomatik tarayıcılar, kiralık saldırı panelleri ve bedava betiklerdir. Birinin senden nefret etmesi gerekmiyor, sadece IP aralığının taranıyor olması yeterli.
İkinci yanılgı ise şu: “CDN’i açtım, DDoS korumam var.” Bulut tabanlı bir CDN gerçekten de hacimsel saldırıların büyük kısmını süzer, ama modern saldırıların en can sıkıcı olanı hacimsel değildir. Saniyede yüz binlerce paket yerine, saniyede yüz adet gerçekçi görünen istek gönderip senin en pahalı sayfanı hedefler: arama, giriş, bakiye yükleme, ödeme başlatma. Bu yazıda DDoS korumasını ve WAF kurallarını, bir e-pin satış scripti çalıştıran işletme için katman katman kuracağız.
Hacimsel Saldırı ile Uygulama Saldırısını Neden Karıştırmamalısın?
Ağ katmanı saldırıları (L3/L4) hattını doldurmayı hedefler: UDP seli, SYN seli, yansıma saldırıları. Bunları kendi sunucunda durdurman neredeyse imkânsızdır çünkü paketler sunucuna ulaştığında hat zaten dolmuştur. Çözüm yukarı akışta, yani sağlayıcının ya da bir bulut kenarının süzmesidir. Bu katmanda senin işin tek şeydir: kaynak sunucunun gerçek IP adresini gizli tutmak. Kenar korumasını açıp kaynak IP’n hâlâ eski DNS kayıtlarında, mail başlıklarında veya bir alt alan adında görünüyorsa koruma aşılır ve saldırı doğrudan sunucuna iner.
Uygulama katmanı saldırıları (L7) ise bambaşkadır. Bant genişliği kullanmaz, senin CPU ve veritabanı zamanını yakar. Saniyede 80 arama isteği, her biri veritabanında tam metin taraması yapıyorsa sunucun bir dakikada teslim olur. Trafik grafiğinde hiçbir anormallik görünmez; sadece site yavaşlar. Bu yüzden L7 savunmasının yeri kenardaki WAF ve hız limiti kurallarıdır, güvenlik duvarı değil.
| Saldırı türü | Katman | Belirti | Doğru savunma | Etkili olmayan |
|---|---|---|---|---|
| SYN / UDP seli | L3-L4 | Hat dolu, sunucu erişilemez | Sağlayıcı scrubbing + kenar proxy | Sunucu içi iptables |
| HTTP GET seli | L7 | CPU yüksek, trafik normal | Hız limiti + JS/yönetilen sınama | Sadece CDN önbelleği |
| Arama / filtre istismarı | L7 | Veritabanı %100, site yavaş | Uç bazlı sıkı limit + sorgu doğrulama | Genel site limiti |
| Giriş kaba kuvvet | L7 | Başarısız giriş patlaması | IP+hesap limiti, artan gecikme | Yalnızca CAPTCHA |
| Kart / bakiye deneme | L7 | Küçük tutarlı red yığını | Ödeme uç limiti + cihaz parmak izi | Ödeme sağlayıcısını beklemek |
| İçerik kazıma botları | L7 | Anormal sayfa gezinme deseni | Bot skoru + istemci doğrulaması | robots.txt |
WAF Kuralları Nasıl Yazılır: Genel Limit Değil, Uç Bazlı Limit
Yeni başlayanların klasik hamlesi site geneline tek bir hız limiti koymaktır: “dakikada 100 istek”. Bu kural iki yönden de yanlıştır. Bir yandan ürün resimleri, CSS ve JS yüzünden normal bir ziyaretçi bile bu sınıra takılır; öte yandan saldırganın giriş sayfasına dakikada 90 istek atmasına izin verir. Doğru yaklaşım, her ucu maliyetine göre ayrı değerlendirmektir. Statik dosyalar bol limit alır, okuma sayfaları orta limit, yazma ve para hareketi içeren uçlar çok sıkı limit.
İkinci ilke kuralları önce izleme modunda çalıştırmaktır. Yeni bir kuralı doğrudan “engelle” olarak açarsan, ilk yanlış pozitifi gerçek müşterin ödeme adımında keşfeder. Kuralı 24-48 saat log modunda tut, kaç meşru isteği yakaladığını gör, eşiği ayarla, sonra engellemeye al. Hız limiti aşımında ilk tepki de doğrudan 403 olmamalı; önce sınama (challenge), tekrarında yavaşlatma, ısrar hâlinde geçici blok en sağlıklı merdivendir.
E-pin Sitesine Özgü Hangi Uçları Ayrıca Korumalısın?
Genel e-ticaretten farklı olarak sende anında teslim edilen, geri alınamayan bir ürün var. Bu, saldırganın ilgisini iki yere yoğunlaştırır: hesap ele geçirme ve ödeme istismarı. Hesap tarafında kimlik bilgisi doldurma (credential stuffing) saldırıları görürsün; sızmış şifre listeleriyle dakikada yüzlerce giriş denenir. Buna karşı IP başına limit yetmez, çünkü saldırgan binlerce IP kullanır. Hesap başına ve başarısız giriş oranına göre de limit koymalısın.
Ödeme tarafında ise küçük tutarlı deneme trafiği en pahalı sorundur: sağlayıcın nezdinde red oranını yükseltir, itiraz riskini artırır ve en kötüsü hesabının incelemeye alınmasına yol açar. Bu yüzden bakiye yükleme ve ödeme başlatma uçlarına oturum başına saatlik tavan koy, aynı karttan kısa aralıkla gelen tekrar denemeleri yavaşlat, farklı kartlarla aynı hesaptan gelen seri denemeleri işaretle. Kullandığın e-pin yazılımı bu olayları merkezi bir kayda yazıyorsa kural yazmak çok kolaylaşır; hangi olayların kayıt altına alındığını özellikler bölümünde görebilirsin.
E-pin sitelerinde engellenen kötü niyetli isteklerin dağılımı
- Otomatik tarama ve zafiyet yoklaması 48%
- Giriş / hesap deneme trafiği 27%
- Ödeme ve bakiye istismarı 15%
- İçerik kazıma botları 10%
Yanlış Pozitif: Savunmanın Müşteriyi Kovduğu Nokta
Sıkı kural iyidir ama aşırısı satış kaybettirir. Mobil operatör ağlarında yüzlerce kullanıcı aynı IP arkasından çıkar; kurumsal ağlarda da durum aynıdır. IP başına agresif limit koyduğunda, bir öğle saatinde aynı operatörden gelen otuz meşru müşteriyi birden engelleyebilirsin. Bu insanlar sana “sitem engellendi” diye yazmaz, sadece gider.
Bunu önlemenin üç yolu var. Birincisi limitleri IP yerine oturum, hesap veya cihaz sinyali gibi daha isabetli anahtarlarla birleştirmek. İkincisi engel yerine sınama kullanmak; meşru tarayıcı sınamayı görünmez şekilde geçer, basit betik geçemez. Üçüncüsü ve en önemlisi engellenenleri düzenli okumak. Haftada bir kez engelleme günlüğüne bakıp “bu gerçekten kötü niyetli miydi?” sorusunu sorman, kural setini zamanla keskinleştirir. Hiç okunmayan bir WAF, sessizce müşteri kaybettiren bir kara kutudur.
Kenar korumasını açtıktan sonra sunucu güvenlik duvarını yalnızca kenar sağlayıcısının IP aralıklarına açmalısın. Aksi hâlde saldırgan kaynak IP’yi bulup tüm korumayı atlar. Bir de eski DNS kayıtlarını ve mail alt alanlarını temizle.
Saldırı Anında Ne Yapacaksın? Panik Değil, Sıra
Saldırı başladığında karar vermek için zamanın olmaz; bu yüzden kararları önceden vermelisin. Sırayla: önce teşhis, sonra daraltma, sonra sertleştirme. Teşhis aşamasında tek soruya cevap ara: trafik hacmi mi arttı, yoksa hacim aynı kalıp belirli bir uç mu dövülüyor? İkinci durumda o ucu geçici olarak sınamaya al ya da kapat; sitenin kalanı ayakta kalır. Ağır arama sayfasını on dakika kapatmak, tüm sitenin çökmesinden çok daha az maliyetlidir.
Daraltma aşamasında coğrafi ve ağ bazlı süzme işe yarar: satış yapmadığın ülkelerden gelen trafiği sınamaya al, bilinen veri merkezi ağlarından gelen istekleri sertleştir. Son aşamada kenar sağlayıcının “kuşatma altında” modunu devreye al ve saldırı geçtikten sonra mutlaka geri kapat; o mod açık kalırsa dönüşümün düşer. Saldırı bittikten sonra da bir kapanış işi var: hangi kural işe yaradı, hangisi yanlış pozitif üretti, hangi uç beklenmedik şekilde pahalıydı? Bu notlar bir sonraki saldırıda sana yarım saat kazandırır. Kurulumun bu olayları düzgün loglayacak biçimde yapılandırılmış olması, iyi bir dijital ürün satış yazılımı ile kötüsü arasındaki farktır.
| Kontrol maddesi | Katman | Önerilen eşik / ayar | Durum |
|---|---|---|---|
| Kaynak IP gizli, güvenlik duvarı kenara kilitli | Ağ | Yalnız kenar IP aralıkları | Zorunlu |
| Tüm trafik HTTPS’e zorlanıyor, HSTS açık | Kenar | 301 + max-age 1 yıl | Zorunlu |
| Giriş ucu hız limiti | WAF | IP: 10/dk, hesap: 5/dk | Zorunlu |
| Arama ve filtre ucu limiti | WAF | 20/dk, sonra sınama | Zorunlu |
| Ödeme / bakiye yükleme limiti | WAF | Oturum: 6/saat | Zorunlu |
| Yönetim paneli yolu gizli + IP kısıtı | WAF | Özel yol, izinli IP listesi | Zorunlu |
| Yönetilen kural seti (OWASP) açık | WAF | Önce log, sonra engelle | Zorunlu |
| Bot skoru kuralı tanımlı | WAF | Veri merkezi ağlarına sınama | Önerilen |
| Satış yapılmayan ülkelere sınama | WAF | Blok değil, sınama | Önerilen |
| Engelleme günlüğü haftalık okunuyor | Süreç | Yanlış pozitif oranı %1 altı | Zorunlu |
| Saldırı anı oyun planı yazılı | Süreç | Teşhis, daraltma, sertleştirme | Önerilen |
| Yedekler test edilerek geri yüklendi | Süreç | Ayda bir tatbikat | Zorunlu |
Güvenliği sonradan yamamak yerine baştan sağlam kur
Pinova; gizlenebilir yönetim yolu, merkezi olay kaydı, oturum ve ödeme uçlarında yerleşik sınırlarla gelir. WAF kurallarını yazarken savaşacağın bir kurulum değil, işbirliği yapacağın bir altyapı istiyorsan doğru yerdesin.
Ücretsiz CDN planı DDoS için yeterli mi?
Hacimsel saldırıların çoğunda yeterlidir. Yetersiz kaldığı yer uygulama katmanıdır: uç bazlı hız limiti, bot skoru ve özel kural sayısı ücretsiz planlarda kısıtlıdır. Ödeme ve giriş uçlarını korumak istiyorsan kural yazabildiğin bir plana geçmen gerekir.
WAF kuralları sitemi yavaşlatır mı?
Kenarda çalışan kurallar tipik olarak birkaç milisaniye ekler, bu fark kullanıcı tarafında görünmez. Gerçek yavaşlama, sunucu üzerinde çalışan ağır ve kötü yazılmış kural setlerinde olur; savunmayı mümkün olduğunca kenara taşı.
Saldırı sırasında sunucuyu büyütmek çözüm mü?
Nadiren. Hacimsel saldırıda hat dolduğu için sunucu boyutu fark etmez; uygulama saldırısında ise büyütme sadece zaman kazandırır. Kalıcı çözüm kötü isteği en ucuz noktada, yani kenarda durdurmaktır.
Meşru müşterileri engellediğimi nasıl anlarım?
Engelleme günlüğünü uç ve ülke kırılımında haftalık incele; aynı mobil operatör aralığından yığın hâlinde engel görüyorsan bu neredeyse kesin yanlış pozitiftir. Ayrıca dönüşüm oranını kural açılışlarıyla aynı grafikte izle.
Güvenlik tek seferlik bir kurulum değil, ayda birkaç saatlik bir bakım alışkanlığıdır: günlüğü oku, eşiği ayarla, yeni ucu kurala ekle. Bu alışkanlığı kurduğunda saldırılar seni uyandıran krizler olmaktan çıkıp fark etmediğin arka plan gürültüsüne dönüşür. Yönetim yolunun gizlenmesinden olay kayıtlarına kadar bu savunma düzeninin yazılım tarafında nasıl karşılandığını görmek istersen canlı demo üzerinden panelin tamamını gezebilir, sonra kurulum adımına geçebilirsin.

