Firewall’u yalnızca CDN IP aralıklarına izin verecek şekilde yapılandırarak origin sunucuyu koruma, hataları önleme ve erişimi güvenli biçimde test etme adımları.
CDN kullanan bir web sitesinde ziyaretçi trafiğinin doğrudan sunucuya değil, CDN ağı üzerinden gelmesi beklenir. Ancak firewall doğru yapılandırılmazsa saldırganlar origin IP adresini hedefleyerek CDN katmanını atlayabilir. Bu nedenle sunucu tarafında yalnızca CDN IP aralıklarına izin vermek, özellikle WordPress, e-ticaret ve kurumsal uygulamalarda erişim güvenliğini güçlendiren önemli bir adımdır.
CDN; DDoS azaltma, cache, WAF ve trafik filtreleme gibi servisler sunar. Fakat origin sunucu herkese açık kalırsa bu koruma eksik çalışır. Saldırgan, alan adınız yerine sunucunun gerçek IP adresine istek göndererek CDN güvenlik kontrollerini devre dışı bırakmaya çalışabilir.
Firewall üzerinde sadece CDN IP aralıklarına izin verildiğinde web trafiği kontrollü bir kanaldan geçer. Bu yaklaşım, hosting altyapısında gereksiz açık portları azaltır, log analizini sadeleştirir ve saldırı yüzeyini daraltır.
İlk adım, kullandığınız CDN sağlayıcısının güncel IPv4 ve IPv6 IP aralıklarını resmi yönetim panelinden ya da dokümantasyonundan almaktır. Eski IP listesiyle işlem yapmak, sitenin tamamen erişilemez hale gelmesine neden olabilir.
Web trafiği için genellikle 80 ve 443 numaralı portlar CDN IP aralıklarına açılır. Yönetim portları, veritabanı portları veya panel erişimleri CDN’e açılmamalıdır. Bu ayrım kritik öneme sahiptir; çünkü CDN yalnızca HTTP ve HTTPS trafiğini taşır.
Örneğin SSH için 22 numaralı portu herkese kapatıp yalnızca ofis IP’nize izin vermek daha güvenli bir yaklaşımdır. Panel kullanıyorsanız 2083, 8443 veya benzeri portları da ayrı değerlendirmelisiniz.
Uygulama mantığı basittir: Önce güvenilir yönetim IP’lerinize izin verilir, ardından CDN IP aralıkları 80 ve 443 için eklenir, en son doğrudan web erişimi reddedilir. Sıralama önemlidir; yanlış sırayla yazılan kurallar beklenmeyen kesintilere yol açabilir.
# SSH icin kendi IP adresinize izin verin
ufw allow from 203.0.113.10 to any port 22 proto tcp
# CDN IPv4 araligina HTTP/HTTPS izni verin
ufw allow from 198.51.100.0/24 to any port 80 proto tcp
ufw allow from 198.51.100.0/24 to any port 443 proto tcp
# Varsayilan gelen trafigi kapatin
ufw default deny incoming
ufw enable
Bu örnekteki IP aralıkları temsili olarak verilmiştir. Canlı sistemde mutlaka kendi CDN sağlayıcınızın güncel listesi kullanılmalıdır. Ayrıca kuralları uygulamadan önce aktif SSH oturumunu kapatmayın; yanlış yapılandırmada geri dönüş için açık oturum hayat kurtarır.
iptables ile çalışıyorsanız kuralların kalıcı hale getirilmesi gerekir. Aksi halde sunucu yeniden başladığında kurallar sıfırlanabilir. Dağıtıma göre iptables-persistent, firewalld veya sağlayıcınızın güvenlik grubu ayarları kullanılabilir.
Bulut sunucularda işletim sistemi firewall’ı dışında bir de ağ seviyesinde güvenlik grubu olabilir. Bu durumda iki katmanda da aynı mantığın uygulanması gerekir. Yalnızca işletim sistemi tarafında kural yazmak, ağ katmanında açık kalan erişimleri kapatmayabilir.
CDN sağlayıcıları zaman zaman IP aralıklarını değiştirebilir. Bu nedenle yapılandırmayı tek seferlik bir işlem gibi görmek risklidir. Kurumsal yapılarda IP listelerinin periyodik kontrol edilmesi, değişikliklerin test ortamında doğrulanması ve ardından canlıya alınması önerilir.
Otomasyon kullanılacaksa hata toleransı düşünülmelidir. Örneğin yeni liste çekilemediğinde mevcut çalışan kuralların silinmemesi gerekir. Aksi durumda geçici bir API problemi, web sitesinin erişimini kesebilir.
CDN üzerinden gelen isteklerde sunucu loglarında çoğu zaman CDN IP adresi görünür. Gerçek ziyaretçi IP’sini görmek için web sunucusunda ilgili header’ların doğru işlenmesi gerekir. Nginx tarafında real_ip, Apache tarafında ise remoteip modülü bu amaçla kullanılır.
Burada önemli nokta, gerçek IP bilgisinin yalnızca güvenilen CDN IP’lerinden gelen header’lar için kabul edilmesidir. Her kaynaktan gelen X-Forwarded-For bilgisini doğru kabul etmek, log manipülasyonuna ve yanlış güvenlik kararlarına yol açabilir.
Değişikliklerden sonra alan adı üzerinden erişimi, doğrudan sunucu IP’si üzerinden erişimi ve yönetim bağlantılarını ayrı ayrı test edin. Alan adı çalışmalı, origin IP üzerinden web erişimi reddedilmeli, SSH veya panel erişimi ise yalnızca izin verilen kaynaklardan açılmalıdır. Bu düzen, hosting ortamında CDN’in güvenlik rolünü güçlendirirken sunucu erişimini daha kontrollü hale getirir.