Cloudflare Entegrasyonu: DDoS Koruma ve CDN
Cloudflare kurulumu, DNS yapılandırması, WAF kuralları, Page Rules, Under Attack modu ve origin IP gizleme ile sunucunuzu DDoS saldırılarından koruma rehberi.
İçindekiler
Cloudflare Entegrasyonu: DDoS Koruma ve CDN
Cloudflare, web sitenizi DDoS saldırılarından koruyan, içerik dağıtım ağı (CDN) sunan ve performansı artıran güçlü bir platformdur. Bu rehberde Cloudflare'i sunucunuza entegre etme, DNS yapılandırması, WAF kuralları oluşturma ve ileri düzey koruma özelliklerini ele alacağız.
REXE sunucularında Cloudflare entegrasyonu, Path Panel DDoS korumasıyla birlikte kullanılarak çok katmanlı güvenlik sağlanabilir.
Cloudflare Hesap Oluşturma ve Site Ekleme
Cloudflare'e başlamak için önce bir hesap oluşturmanız ve sitenizi eklemeniz gerekir.
Hesap Oluşturma
- cloudflare.com adresine gidin
- "Sign Up" butonuna tıklayın
- E-posta ve şifre ile kayıt olun
- E-posta doğrulamasını tamamlayın
Site Ekleme
- Dashboard'da "Add a Site" butonuna tıklayın
- Domain adınızı girin (örn:
example.com) - Plan seçin (Free plan DDoS koruması içerir)
- Cloudflare mevcut DNS kayıtlarınızı otomatik tarar
DNS Yapılandırması
Cloudflare'in çalışması için domain'inizin nameserver'larını Cloudflare'e yönlendirmeniz gerekir.
Nameserver Değişikliği
Cloudflare size iki nameserver adresi verir:
ns1.cloudflare.com
ns2.cloudflare.com
Bu adresleri domain kayıt firmanızın (registrar) panelinden güncelleyin.
DNS Kayıtları Yönetimi
Cloudflare DNS panelinde kayıtlarınızı yönetin:
Tip İsim İçerik Proxy
A example.com 185.x.x.x Proxied (turuncu bulut)
A www 185.x.x.x Proxied
A api 185.x.x.x Proxied
MX example.com mail.example.com DNS only (gri bulut)
TXT example.com v=spf1 ... DNS only
MX, SPF, DKIM gibi e-posta kayıtlarını "DNS only" (gri bulut) modunda bırakın. Proxy modunda e-posta servisleri çalışmaz.
Proxy Durumu (Turuncu/Gri Bulut)
| Durum | Açıklama |
|---|---|
| Proxied (Turuncu) | Trafik Cloudflare üzerinden geçer, DDoS koruması aktif |
| DNS Only (Gri) | Sadece DNS çözümleme, koruma yok |
# DNS çözümleme kontrolü
dig +short example.com
# Cloudflare proxy aktifse Cloudflare IP'leri görünür
# Gerçek IP kontrolü
curl -s https://www.cloudflare.com/ips-v4
Origin IP Gizleme
Cloudflare'in en önemli avantajlarından biri sunucunuzun gerçek IP adresini gizlemesidir. Ancak bazı sızıntı noktalarına dikkat etmelisiniz.
IP Sızıntı Noktaları ve Çözümleri
# 1. Mail sunucusu header'larından IP sızıntısı
# Çözüm: E-posta için farklı IP/sunucu kullanın
# 2. Eski DNS kayıtları (SecurityTrails, Shodan)
# Çözüm: Cloudflare sonrası IP değiştirin
# 3. Doğrudan IP erişimi
# Çözüm: Sunucuda sadece Cloudflare IP'lerinden gelen trafiğe izin verin
Sunucuda Cloudflare IP Kısıtlaması
# iptables ile sadece Cloudflare IP'lerine izin ver
#!/bin/bash
# Cloudflare IPv4 aralıkları
CF_IPS=$(curl -s https://www.cloudflare.com/ips-v4)
# Mevcut HTTP/HTTPS kurallarını temizle
iptables -D INPUT -p tcp --dport 80 -j ACCEPT 2>/dev/null
iptables -D INPUT -p tcp --dport 443 -j ACCEPT 2>/dev/null
# Sadece Cloudflare IP'lerine izin ver
for ip in $CF_IPS; do
iptables -A INPUT -p tcp --dport 80 -s $ip -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -s $ip -j ACCEPT
done
# Diğer HTTP/HTTPS trafiğini engelle
iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -A INPUT -p tcp --dport 443 -j DROP
echo "Cloudflare IP kısıtlaması uygulandı."
Nginx ile Gerçek IP Alma
Cloudflare proxy kullandığında, sunucunuz tüm istekleri Cloudflare IP'sinden geliyormuş gibi görür. Gerçek ziyaretçi IP'sini almak için:
# /etc/nginx/conf.d/cloudflare.conf
# Cloudflare IPv4
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 104.16.0.0/13;
set_real_ip_from 104.24.0.0/14;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 131.0.72.0/22;
real_ip_header CF-Connecting-IP;
# Nginx yapılandırmasını test et ve yeniden yükle
sudo nginx -t
sudo systemctl reload nginx
WAF (Web Application Firewall) Kuralları
Cloudflare WAF, web uygulamanızı SQL injection, XSS ve diğer saldırılardan korur.
Managed Rules
Cloudflare Dashboard > Security > WAF bölümünden:
- Cloudflare Managed Ruleset: OWASP kurallarını içerir
- Cloudflare OWASP Core Ruleset: SQL injection, XSS koruması
- Cloudflare Leaked Credentials Check: Sızdırılmış kimlik bilgisi kontrolü
Custom WAF Kuralları
# Belirli ülkelerden gelen trafiği engelle
(ip.geoip.country eq "XX") -> Block
# Belirli User-Agent'ları engelle
(http.user_agent contains "BadBot") -> Block
# wp-admin'e sadece belirli IP'den erişim
(http.request.uri.path contains "/wp-admin" and not ip.src eq 1.2.3.4) -> Block
# Rate limiting: Dakikada 100'den fazla istek
(http.request.uri.path eq "/api/*") -> Rate Limit (100 req/min)
Firewall Rules Örnekleri
Dashboard > Security > WAF > Custom Rules:
Kural Adı: Block Bad Bots
Koşul: (cf.client.bot) or (http.user_agent contains "scanner")
Eylem: Block
Kural Adı: Challenge Suspicious
Koşul: (cf.threat_score gt 14)
Eylem: Managed Challenge
Kural Adı: Allow Known IPs
Koşul: (ip.src in {1.2.3.4 5.6.7.8})
Eylem: Allow
Page Rules Yapılandırması
Page Rules, belirli URL kalıpları için özel davranışlar tanımlamanızı sağlar.
Yaygın Page Rules
# 1. Her zaman HTTPS kullan
URL: http://*example.com/*
Ayar: Always Use HTTPS
# 2. API için cache devre dışı
URL: *example.com/api/*
Ayar: Cache Level = Bypass
# 3. Statik dosyalar için agresif cache
URL: *example.com/static/*
Ayar: Cache Level = Cache Everything
Edge Cache TTL = 1 month
# 4. Admin paneli için güvenlik artır
URL: *example.com/admin/*
Ayar: Security Level = High
Browser Integrity Check = On
Cache Yapılandırması
# Dashboard > Caching > Configuration
Caching Level: Standard
Browser Cache TTL: 4 hours
Always Online: On
# Purge Cache
# Dashboard > Caching > Purge Cache
# - Purge Everything (tüm cache'i temizle)
# - Custom Purge (belirli URL'leri temizle)
Under Attack Modu
Aktif bir DDoS saldırısı sırasında Under Attack modunu etkinleştirin.
Manuel Etkinleştirme
- Cloudflare Dashboard'a giriş yapın
- Üst menüden "Under Attack Mode" seçin
- Veya: Security > Settings > Security Level > I'm Under Attack!
API ile Etkinleştirme
# Under Attack modunu aç
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/ZONE_ID/settings/security_level" \
-H "Authorization: Bearer API_TOKEN" \
-H "Content-Type: application/json" \
--data '{"value":"under_attack"}'
# Normal moda dön
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/ZONE_ID/settings/security_level" \
-H "Authorization: Bearer API_TOKEN" \
-H "Content-Type: application/json" \
--data '{"value":"medium"}'
Under Attack Modu Davranışı
| Özellik | Açıklama |
|---|---|
| JavaScript Challenge | Tüm ziyaretçilere 5 saniyelik kontrol |
| Bot Filtreleme | Otomatik bot trafiğini engeller |
| Süre | Manuel kapatılana kadar aktif |
| Etki | Meşru kullanıcılar kısa gecikme yaşar |
Under Attack modunu saldırı bittikten sonra kapatmayı unutmayın. Sürekli aktif bırakmak kullanıcı deneyimini olumsuz etkiler.
SSL/TLS Yapılandırması
Cloudflare üzerinden SSL/TLS yapılandırması:
# Dashboard > SSL/TLS > Overview
Şifreleme Modu:
- Off: SSL yok (önerilmez)
- Flexible: Cloudflare-ziyaretçi arası SSL (origin HTTP)
- Full: Origin'de self-signed sertifika
- Full (Strict): Origin'de geçerli sertifika (önerilen)
Origin Sertifikası Oluşturma
# Cloudflare Origin CA sertifikası
# Dashboard > SSL/TLS > Origin Server > Create Certificate
# Sertifikayı sunucuya kur
sudo mkdir -p /etc/ssl/cloudflare
sudo nano /etc/ssl/cloudflare/origin.pem # Sertifika
sudo nano /etc/ssl/cloudflare/origin-key.pem # Özel anahtar
# Nginx yapılandırması
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/cloudflare/origin.pem;
ssl_certificate_key /etc/ssl/cloudflare/origin-key.pem;
# Sadece Cloudflare'den gelen bağlantıları kabul et
# (Cloudflare IP listesi yukarıda)
}
Cloudflare API Kullanımı
Cloudflare API ile otomasyon yapabilirsiniz:
# API Token oluşturma
# Dashboard > My Profile > API Tokens > Create Token
# Zone bilgilerini al
curl -s "https://api.cloudflare.com/client/v4/zones" \
-H "Authorization: Bearer API_TOKEN" | jq '.result[] | {name, id}'
# DNS kayıtlarını listele
curl -s "https://api.cloudflare.com/client/v4/zones/ZONE_ID/dns_records" \
-H "Authorization: Bearer API_TOKEN" | jq '.result[] | {name, type, content}'
# DNS kaydı ekle
curl -X POST "https://api.cloudflare.com/client/v4/zones/ZONE_ID/dns_records" \
-H "Authorization: Bearer API_TOKEN" \
-H "Content-Type: application/json" \
--data '{"type":"A","name":"sub","content":"1.2.3.4","proxied":true}'
# Cache temizle
curl -X POST "https://api.cloudflare.com/client/v4/zones/ZONE_ID/purge_cache" \
-H "Authorization: Bearer API_TOKEN" \
-H "Content-Type: application/json" \
--data '{"purge_everything":true}'
Performans Optimizasyonu
Minification ve Sıkıştırma
# Dashboard > Speed > Optimization
Auto Minify: JavaScript, CSS, HTML
Brotli: On
Early Hints: On
HTTP/2: On
HTTP/3 (QUIC): On
Rocket Loader
JavaScript dosyalarının asenkron yüklenmesini sağlar:
# Dashboard > Speed > Optimization > Rocket Loader
Rocket Loader: On
REXE + Cloudflare En İyi Uygulamalar
- Çift katmanlı koruma: Path Panel + Cloudflare WAF
- Origin IP gizleme: Cloudflare proxy + iptables kısıtlaması
- SSL Full Strict: Origin sertifikası ile uçtan uca şifreleme
- Rate Limiting: API endpoint'leri için istek sınırlaması
- Bot Management: Kötü niyetli botları filtreleme
- Cache optimizasyonu: Statik içerik için CDN cache
Cloudflare Free planı bile güçlü DDoS koruması sunar. Pro ve Business planları daha gelişmiş WAF kuralları ve öncelikli destek sağlar.
Sorun Giderme
# Cloudflare bağlantı kontrolü
curl -sI https://example.com | grep -i 'cf-ray\|server\|cf-cache'
# DNS propagasyon kontrolü
dig +trace example.com
# SSL sertifika kontrolü
openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -issuer -dates
# Cloudflare hata kodları
# 520: Web sunucusu bilinmeyen hata döndürüyor
# 521: Web sunucusu kapalı
# 522: Bağlantı zaman aşımı
# 523: Origin erişilemiyor
# 524: Zaman aşımı oluştu
Sonuç
Cloudflare entegrasyonu, REXE sunucunuz için güçlü bir DDoS koruma katmanı, CDN performansı ve WAF güvenliği sağlar. DNS yapılandırması, origin IP gizleme ve WAF kurallarını doğru şekilde ayarlayarak sunucunuzu kapsamlı bir şekilde koruyabilirsiniz.
İlgili Makaleler
Path Panel DDoS Koruma Yönetim Paneli Kullanım Rehberi
REXE Path Panel tam kullanım rehberi: Dashboard, IP'lerim, TR koruma durumu, kural yönetimi, saldırı geçmişi, abuse filtered, şifre değiştirme ve API erişimi.
Oyun Sunucuları İçin DDoS Filtresi Seçim Rehberi
Path.net DDoS koruma sisteminin desteklediği oyun filtreleri: Arma/DayZ, Source Engine, CS:GO, CS2, FiveM, Minecraft, Rust ve daha fazlası için rehber.
Uygulama ve Servisler İçin DDoS Filtresi Rehberi
Path.net DDoS koruma sisteminin desteklediği uygulama filtreleri: OpenVPN, Wireguard, DTLS, RTP, QUIC, SIP, TCP Symmetric ve daha fazlası.