Hızlı cevap: Siteniz Cloudflare arkasındaysa saldırı trafiğinin büyük kısmını origin'e hiç ulaşmadan edge'de durdurabilirsiniz. Öncelik sırası şudur: önce origin'i gizle (yalnız Cloudflare IP'lerine açık nginx, tercihen tünel), sonra WAF managed rules'u aç (Cloudflare Managed + OWASP Core), ardından bot yönetimi (Super Bot Fight Mode) ve kritik yollara (login, API, admin) rate limiting ekle. Yoğun bir dalga anında "Under Attack Mode" tüm isteklere JavaScript challenge koyar ve otomatik tarayıcıların çoğunu anında eler; fakat gerçek kullanıcıyı ve SEO'yu yorduğu için dalga geçince "Managed Challenge" seviyesine inilmelidir. Doğru yapılandırmada rutin bot taraması sizi hiç meşgul etmez.

Her internete açık site, yayına girdiği andan itibaren otomatik tarama ve bot trafiği alır. Çoğu zaman bu bir "saldırı" değil, internetin arka plan gürültüsüdür; ama yapılandırma zayıfsa aynı gürültü kaynak sunucuyu yorar, hatta gerçek bir saldırıya zemin olur. Bu rehber, Cloudflare arkasındaki bir siteyi edge seviyesinde nasıl sertleştireceğinizi, hangi ayarın ne zaman açılacağını ve en sık yapılan hataları uzman bakışıyla anlatır.

Katmanlı savunma: önce origin'i gizle

En kritik ilke, kaynak sunucunun (origin) internetten doğrudan erişilemez olmasıdır. Cloudflare arkasındaki birçok sitenin açığı, origin IP'sinin sızması ve saldırganın Cloudflare'i tamamen atlayıp sunucuya doğrudan vurmasıdır (CDN by-pass). Buna karşı üç önlem birlikte alınır.

Birincisi, nginx veya web sunucusu yalnızca Cloudflare'in yayımladığı IP aralıklarından gelen bağlantıları kabul etmeli, diğer her şeyi reddetmelidir. İkincisi, gerçek istemci IP'si Cloudflare başlığından (CF-Connecting-IP) geri yüklenmeli ki loglar ve ban kararları doğru IP'yi görsün. Üçüncüsü, en sağlam yöntem Cloudflare Tunnel kullanıp sunucuda hiçbir genel portu (80/443) açık bırakmamaktır; bu durumda origin'e doğrudan ulaşmak mimari olarak imkansız hale gelir. Sunucu tarafı sertleştirmeyi Linux sunucu sertleştirme CIS yazımızda ayrıntılı ele aldık.

WAF managed rules: bilinen saldırıları imzayla kes

Origin gizlendikten sonra ikinci katman Web Application Firewall'dur. Cloudflare'in yönetilen kural setleri, bilinen exploit desenlerini (SQL injection, path traversal, bilinen CVE istismarları, yaygın tarayıcı imzaları) daha istek origin'e ulaşmadan bloklar.

Açılması gerekenler: Cloudflare Managed Ruleset ve OWASP Core Ruleset. OWASP setinde bir hassasiyet (paranoia) seviyesi ve bir skor eşiği vardır; çok yüksek hassasiyet yanlış pozitif üretip meşru istekleri bloklayabilir, bu yüzden üretimde kademeli artırılır ve loglar izlenir. WAF, uygulama katmanı açıklarına karşı ilk perdedir ama tek başına yeterli değildir; asıl düzeltme koddadır. Uygulama açıklarının kaynak kod tarafını SAST, DAST, IAST ve SCA seçim matrisi yazımızda inceledik.

Bot yönetimi ve Under Attack Mode

Tarama trafiğinin çoğu bottur. Cloudflare bot yönetimi, tarayıcı parmak izi ve davranış analiziyle otomatik istekleri meşru kullanıcıdan ayırır.

Seviye Ne yapar Ne zaman
Bot Fight Mode bilinen kötü botları challenge/blok her zaman açık kalabilir
Super Bot Fight Mode tanımlı/doğrulanmamış botları kategorik yönet bot trafiği yoğunsa
Managed Challenge şüpheli isteğe hafif, otomatik-çözülen challenge normal koruma seviyesi
Under Attack Mode TÜM isteklere JavaScript challenge aktif yoğun dalga anında

Kritik ayrım şudur: Under Attack Mode acil-durum anahtarıdır, kalıcı ayar değildir. Tüm isteklere "Just a moment" interstitial koyduğu için otomatik tarayıcıları anında eler ama gerçek kullanıcıyı yavaşlatır, arama motoru botlarını da zorlayıp SEO'ya zarar verebilir. Yoğun dalga geçtiğinde Managed Challenge veya güvenlik seviyesi "High"a inilir. Ayrıca Under Attack'ı zone genelinde açarsanız, SSH veya yönetim için kullandığınız alt alan adları da challenge'a takılıp erişiminizi kesebilir; bu durumda o alt alanı bir yapılandırma kuralıyla challenge'dan muaf tutmak gerekir.

Rate limiting: brute-force ve kazımayı kes

Rate limiting, belirli bir yola kısa sürede gelen aşırı isteği sınırlar. En çok korunması gereken yollar giriş (login), kimlik doğrulama ve API uçlarıdır; bunlar brute-force, credential stuffing ve veri kazıma hedefidir.

Pratik yapılandırma: /giris veya /login yoluna dakikada düşük bir eşik (örneğin 5-10 istek) koyup aşınca bloklayın; /api/* için makul bir genel sınır tanımlayın. Edge rate limiting, istek origin'e ulaşmadan Cloudflare'de uygulanır, yani brute-force sunucunuzu hiç yormaz. Hesap ele geçirme saldırılarının mantığını ve ek önlemleri hesap ele geçirme ve kurtarma yazımızda, API tarafındaki hız sınırını API rate limiting ve bot yönetimi yazımızda ele aldık.

DDoS ve hacimsel saldırılar

Cloudflare'in otomatik DDoS koruması (L3/L4 ağ seviyesi ve L7 uygulama seviyesi) çoğu hacimsel saldırıyı varsayılan olarak azaltır. Ek olarak, HTTP DDoS yönetilen kural setinin hassasiyeti yükseltilebilir ve saldırının geldiği belirli ASN veya ülkeler için geçici blok kuralları tanımlanabilir. DDoS saldırı türlerini ve genel azaltma yaklaşımını DDoS saldırısı nedir ve korunma yazımızda ayrıntılı anlattık. Önemli olan, DDoS korumasının origin gizliyken anlamlı olmasıdır; origin IP sızmışsa saldırgan Cloudflare'i atlayıp doğrudan vurur.

En sık yapılan hatalar

Sahada en çok şu hataları görüyoruz. Origin IP'nin eski DNS kayıtlarından, e-posta başlıklarından veya sertifika şeffaflık loglarından sızması ve CDN by-pass'a açık kalması. Under Attack Mode'un kalıcı açık bırakılıp SEO ve kullanıcı deneyimini bozması. WAF yanlış pozitiflerinin izlenmemesi ve meşru trafiğin sessizce bloklanması. Yönetim alt alanlarının (ssh, vpn) zone-geneli challenge'a takılıp erişimin kesilmesi. Rate limiting'in yalnız tanımlanıp ilgili yola gerçekten uygulanmaması. Bu hataların her biri, doğru görünen bir panelde bile sessiz bir açık bırakır.

KAOS ve DSET yaklaşımı

DSET olarak bir siteyi Cloudflare arkasında sertleştirirken önce origin'in gerçekten erişilemez olduğunu doğrularız (DNS, sertifika şeffaflık logları ve doğrudan IP denemesiyle CDN by-pass testi), sonra WAF, bot ve rate limiting katmanlarını kurarız. Geliştirdiğimiz KAOS aracı bu yüzden her taramada önce origin sızıntısı ve edge zayıflıkları arar, çünkü en iyi WAF bile sızmış bir origin IP'sini kurtaramaz. Yapılandırmayı abartılı söz vermeden, ölçülebilir kontrollerle doğrularız. Sitenizin edge savunmasını kurmak veya bir saldırı sonrası sertleştirmek için Ankara Hacettepe Teknokent bünyesindeki ekibimizle DSET ile iletişime geçin. WordPress tabanlı siteler için kurumsal WordPress sertleştirme yazımız da yol gösterir.

Sık sorulan sorular

Under Attack Mode'u sürekli açık bırakabilir miyim? Önerilmez. Under Attack Mode tüm isteklere JavaScript challenge koyar; otomatik tarayıcıları eler ama gerçek kullanıcıyı yavaşlatır ve arama motoru botlarını zorlayarak SEO'ya zarar verebilir. Yalnız aktif, yoğun bir saldırı dalgası sırasında açın; dalga geçince Managed Challenge veya güvenlik seviyesi "High" yeterlidir. Ayrıca zone-geneli açarsanız yönetim alt alanlarınız da challenge'a takılabilir.

Cloudflare kullanıyorum, origin IP'm yine de sızabilir mi? Evet. Origin IP eski DNS kayıtlarından, giden e-posta başlıklarından, sertifika şeffaflık loglarından veya hatalı yapılandırmadan sızabilir. Sızarsa saldırgan Cloudflare'i tamamen atlayıp sunucuya doğrudan vurabilir (CDN by-pass). Bu yüzden nginx'i yalnız Cloudflare IP'lerine açmak veya Cloudflare Tunnel ile hiç genel port bırakmamak şarttır.

WAF açınca neden bazı meşru istekler bloklanıyor? OWASP Core Ruleset yüksek hassasiyette yanlış pozitif üretebilir. Üretimde hassasiyeti kademeli artırın, WAF olay loglarını izleyin ve yanlışlıkla bloklanan meşru yollar için istisna (skip) kuralları tanımlayın. Hassasiyeti körlemesine en üste çekmek, güvenlik yerine erişilebilirlik sorunu yaratır.

Kaynaklar