Cloudflare Arkasındaki IP Bulunur mu? Sınırlar ve Etik
IP sorgusu neden CDN adresi gösterir, Cloudflare arkasındaki gerçek IP neden çoğu zaman bulunamaz, site sahipleri kendi origin sunucusunu nasıl korur?
Yayınlanma: · 6 dk okuma
Bir web sitesinin IP adresine bakıyorsunuz ve sonuç bir hosting firmasına değil, Cloudflare gibi büyük bir CDN'e ait çıkıyor. Ardından "Cloudflare arkasındaki gerçek IP nasıl bulunur" diye aramaya başlıyorsunuz. Bu yazı gerçekte neye baktığınızı, kaynak sunucu (origin) adresinin dışarıdan neden genellikle belirlenemediğini, başkasının origin adresini ortaya çıkarmaya çalışmanın neden kötü bir fikir olduğunu ve site sahibiyseniz kendi origin sunucunuzun düzgün korunup korunmadığını nasıl kontrol edeceğinizi anlatıyor.
Üçüncü tarafların origin sunucularını ortaya çıkarmaya yönelik bir yöntem vermiyoruz. Bu durumda insanların sahip olduğu meşru ihtiyaçların hepsi, aşağıda anlattığımız başka yollarla daha güvenilir biçimde karşılanır.
CDN, DNS'te neyi değiştirir?
CDN ya da reverse proxy hizmeti, ziyaretçiler ile siteyi barındıran sunucu (origin) arasında durur:
ziyaretçi ──► CDN kenar sunucusu (203.0.113.10, anycast) ──► origin (adresi yayınlanmaz)
Sitenin DNS kayıtları doğrudan ya da bir CNAME üzerinden CDN'i gösterir:
$ dig +short www.example.com
www.example.com.cdn-provider.example.
203.0.113.10
203.0.113.11
Bu adresler CDN'in ağına aittir ve genellikle anycast adreslerdir: aynı adres birçok noktadan duyurulur, her ziyaretçi kendisine en yakın olana ulaşır. Kenar sunucu TLS bağlantısını sonlandırır, önbelleğinde olanı sunar, geri kalanını origin'den ayrı bir bağlantıyla çeker. O bağlantının hedefini yalnızca CDN ve site sahibi bilir.
Dolayısıyla "bu site nerede barındırılıyor?" sorusunun yanıtı iki katmanlıdır ve herkese açık bir sorgu dürüstçe yalnızca birincisini söyleyebilir: site bu CDN üzerinden sunuluyor. Bu başarısız bir sonuç değil, doğru ve işe yarar bir sonuçtur. Nasıl okunacağını bir web sitesi nerede barındırılıyor yazısında anlattık.
Gerçek IP neden çoğu zaman bulunamaz?
- DNS'te yoktur. Sunucu adından origin'e giden eşleme herkese açık bir kayıtta değil, CDN'in yapılandırmasında durur.
- Herkese açık bir origin hiç olmayabilir. Güncel kurulumlarda origin, CDN'e dışarı doğru açılan bir tünel ya da özel bağlantıyla bağlanır; sunucunun içeri doğru açık bir adresi yoktur. Bazıları nesne depolama, sunucusuz işlevler ya da yük dengeleyici arkasında birden fazla origin kullanır. "Asıl IP" bazen yanıtı olmayan bir sorudur.
- Doğru yapılandırılmış bir origin yabancılara yanıt vermez. Güvenlik duvarı yalnızca CDN'den gelen bağlantıları kabul eder ya da yalnızca CDN'de bulunan bir istemci sertifikası veya gizli başlık ister.
- "Gerçek IP'yi gösteririm" diyen siteler tahmin yürütür. CDN açılmadan önceki geçmiş DNS verisini ya da bir zamanlar o adla ilişkilendirilmiş adresleri gösterirler. Sonuç yıllar öncesine ait olabilir, bugün tamamen ilgisiz birine ait olabilir ve hangisinin geçerli olduğuna dair hiçbir işaret taşımaz. Buna göre hareket etmek, bir yabancıyı işaret etmek demektir.
Bizimki dahil hiçbir sorgulama aracı doğru yapılandırılmış bir CDN'in arkasını göremez; burada kesinlik iddia eden her araç bildiğinden fazlasını söylüyordur.
Başkasının sitesinde neden denememelisiniz?
Origin'i gizlemek bilinçli bir güvenlik önlemidir. DDoS korumasını ve web uygulama güvenlik duvarını etkili kılan şey budur; origin adresini bilen saldırgan bunların etrafından dolanır. Sahibi olmadığınız bir sistemde bu önlemi aşmaya çalışmak, o sisteme yönelik keşif faaliyetidir. Ne yaptığınıza ve nerede olduğunuza bağlı olarak, yetkisiz biçimde altyapı yoklamak ve bağlanmak bilişim suçlarına ilişkin yasaları ve ilgili ağların hizmet şartlarını ihlal edebilir; "yalnızca merak ettim" ile açıklanabilecek bir kullanım değildir.
Güvenlik testi yapıyorsanız kural her zamanki kuraldır: sahibinden yazılı yetki ve tanımlı bir kapsam. O durumda sahibi size origin adresini zaten söyleyebilir.
İnsanların asıl ihtiyacı ve doğru yolu
| İstediğiniz şey | Bunun yerine yapılacak |
|---|---|
| CDN arkasındaki bir sitede oltalama, zararlı yazılım ya da dolandırıcılığı bildirmek | CDN'in kötüye kullanım (abuse) formunu kullanın. Büyük CDN'ler şikâyetleri hosting firmasına iletir; geçerli hukuki ya da abuse süreçlerinde barındıran firmayı şikâyetçiye bildirebilir. Alan adının kayıt firmasına da bildirin; abuse adresi kayıt verisinde yer alır. |
| telif ya da marka ihlalinin peşine düşmek | CDN'in ve kayıt firmasının hukuk/abuse kanalları ya da bir avukat. İşletenin açıklanması tarama yoluyla değil, bu süreçlerle olur. |
| rakibin hangi hosting firmasını kullandığını öğrenmek | Yanıt olarak "CDN arkasında" sonucunu kabul edin. İş ilanları, teknoloji sayfaları gibi açık ipuçları meşrudur; yoklama yapmak değildir. |
| size karşı işlenmiş bir suçu araştırmak | Savcılığa, kolluk kuvvetlerine ya da ulusal siber olaylara müdahale merkezine (Türkiye'de USOM) bildirin; veriyi hukuki yoldan isteyebilirler. |
| kendi sitenizde hata ayıklamak | Origin adresi zaten CDN panelinizde ve hosting panelinizde duruyor. Sonraki bölüme bakın. |
Site sahipleri için: kendi origin sunucunuz açıkta mı?
Sorunun meşru hali budur ve sorulmaya değer, çünkü birçok kurulumun varsayılan durumu "önde CDN, arkada herkese açık origin" şeklindedir.
Origin adresinizin sızdığı yerler
Bunları kendi alan adınızda gözden geçirin:
- Kendi DNS kayıtlarınız. CDN'i atlayıp doğrudan sunucuyu gösteren alt alan adları:
direct,origin,ftp,cpanel,dev,staging, eski birmail. Zone'u satır satır okuyun. - E-posta. Web sunucusu posta da gönderiyor ya da alıyorsa MX kaydı ve giden iletilerin
Received:başlıkları adresini taşır.ip4:içeren SPF kayıtları sunucularınızı düz metin olarak listeler. - Geçmiş. Alan adı CDN'i açmadan önce aynı sunucuyu gösteriyorduysa o adres pasif DNS arşivlerinde kalıcı olarak durur. CDN açmak eski bir adresi gizli hale getirmez.
- Sertifikalar. Çıplak IP adresinden HTTPS'e sitenin sertifikasıyla yanıt veren sunucu, bağlanan herkese kendini tanıtır; internet çapındaki tarayıcılar da her şeye bağlanır.
- Uygulamanın kendisi. Hata sayfaları, hata ayıklama çıktıları, IP'ye yönlendirmeler, sunucudan çıkan istekler (webhook, bağlantı önizleme, görsel çekme).
Sıkılaştırma listesi
- Origin'i güvenlik duvarıyla kapatın: 80/443 yalnızca CDN'in yayınladığı adres aralıklarını kabul etsin; bu listenin güncellenmesini otomatikleştirin. En etkili tek adım budur.
- CDN'i origin'e karşı doğrulayın: karşılıklı TLS ("authenticated origin pulls") ya da web sunucusunun denetlediği gizli bir başlık. Yalnızca IP izin listesi, aynı CDN'in diğer tüm müşterilerini de içeri alır.
- CDN'iniz sunuyorsa dışarı açılan tünel ya da özel bağlantı tercih edin; o zaman origin'de içeri doğru hiçbir kural gerekmez.
- Eski adres herkese açık olduysa, korumalar kurulduktan sonra yeni bir IP adresine geçin. Aksi halde yukarıdaki "geçmiş" maddesi geri kalan her şeyi boşa çıkarır.
- Postayı web'den ayırın. MX ve giden posta için bir posta hizmeti ya da ayrı bir sunucu kullanın.
- IP adresiyle ya da bilinmeyen bir
Hostile gelen istekler için, anlamlı hiçbir şey sunmayan ve sertifikasında sitenizin adı geçmeyen varsayılan bir sanal sunucu tanımlayın. - Başıboş alt alan adlarını kaldırın ya da proxy arkasına alın. Bir adın CDN'i atlaması şartsa o hizmeti başka yerde barındırın.
Kendi kurulumunuzu doğrulayın
CDN'in aralıklarında olmayan bir makineden, kendi origin adresinizle:
$ curl -m 5 -sv --resolve www.example.com:443:198.51.100.20 https://www.example.com/ -o /dev/null
* connect to 198.51.100.20 port 443 failed: Operation timed out
İstediğiniz sonuç zaman aşımı ya da rettir. Siteniz geliyorsa origin doğrudan erişilebilir durumdadır ve adresi öğrenen herkes için CDN'in korumaları isteğe bağlıdır. Açık kayıtlarınıza da bakın:
$ dig +short example.com MX
$ dig +short example.com TXT | grep spf1
$ dig +short -x 198.51.100.20 # PTR sitenizin adını mı veriyor?
Origin adresinde alan adınızı gösteren bir PTR kaydı kolayca gözden kaçar: reverse DNS (PTR) kaydı nedir.
Sık yapılan hatalar
- CDN'i gizlilik özelliği sanmak. Bir adresi gizler; işleteni CDN'den, kayıt firmasından ya da mahkemeden gizlemez.
- CDN'i açıp origin güvenlik duvarını dünyaya açık bırakmak.
- Alan adının yıllarca herkese açık kullandığı IP adresinde kalmak.
- Web sunucusunu gösteren bir SPF kaydı ya da MX.
- "Gerçek IP bulucu" sonucuna güvenip ilgisiz birine abuse bildirimi, daha kötüsü trafik göndermek.
- CDN'in anycast adresinin konumunu sitenin konumu diye okumak.
OrbitProbe ile kontrol edin
OrbitProbe IP sorgulama aracı bir sunucu adını IPv4 ve IPv6 adreslerine çözümler; her biri için ters DNS, ASN, ağ sahibi ve duyurulan önek bilgisini gösterir ve CDN kenar ağlarına ait adresleri işaretler. "CDN kenar adresi" diyorsa bu, dışarıdan elde edilebilecek eksiksiz ve doğru yanıttır; araç origin hakkında tahmin yürütmez. Site sahibi olarak zone'unuzdaki her ad için çalıştırın: CDN yerine hosting firmanızın ağına çözümlenen her ad, origin'inizi ele veren bir addır. Aynı denetimin posta tarafı MX, SPF, DKIM ve DMARC yazısında.