OffshoreVps
Güvenlik19 Eki 20268 dk okumaYazan: OffshoreVps ekibi

Origin sunucu IP’nizi gizleyin: proxy’ler, CDN’ler ve sızıntılar

Bir CDN, sunucunuzu yalnızca başka hiçbir şey ele vermiyorsa gizler. Origin IP’lerinin DNS geçmişi, e-posta ve sertifikalar üzerinden nasıl sızdığını ve origin’i nasıl kilitleyeceğinizi öğrenin.

Bir siteyi CDN veya ters proxy'nin arkasına koymak trafiği emer ve sunucunun adresini gizler, ancak bu yalnızca gerçek IP bilinmediği sürece işe yarar. Saldırganlar CDN'i nadiren kırar. Doğrudan origin'i ararlar. Bu rehber, origin'in nerelerde sızdığını ve origin'in proxy'niz dışındaki her şeyi nasıl reddettireceğinizi listeler.

Önde proxy, Origin izin listesi, Sızıntı yok etiketli kalkan ve kilit illüstrasyonu; origin sunucu IP’nizi gizli tutmayı gösterir
Bu yazıda ele alınan temel fikirler.

Origin nasıl bulunur

  • DNS geçmişi: servisler eski kayıtları saklar, bu yüzden CDN'i eklemeden önce kullandığınız IP hâlâ listelenir.
  • Alt alan adları: doğrudan sunucuyu gösteren mail., ftp. veya dev. kayıtları.
  • E-posta başlıkları: aynı sunucudan giden e-postalar, başlıklarda IP adresini ele verir.
  • Sertifika şeffaflığı ve internet taramaları: tarayıcılar bir sertifikayı onu sunan her IP ile eşleştirir.
  • Uygulama davranışı: webhook'lar, görsel çekiciler ve "bu URL'yi kontrol et" özellikleri origin'den dışarı bağlanır.

Adım 1: temiz başlayın

Sunucu zaten açığa çıktıysa en güvenli çözüm yeni bir IP ya da yeni bir sunucu ve taşımadır. Zaten herkese açık olan bir adresi gizlemek işe yaramaz. Taşımayı kesintisiz taşıma rehberi ile planlayın.

Bu rehberin adımları sırasıyla: 1. Origin’ler nasıl bulunur; 2. temiz başlayın; 3. trafiği yalnızca proxy’den kabul edin; 4. sızabilecek her şeyi ayırın; 5. bir saldırgan gibi test edin
Bu rehberdeki adımlar sırasıyla.

Adım 2: trafiği yalnızca proxy'den kabul edin

Web portlarına yalnızca proxy'nin yayımlanmış aralıklarından izin verin, başka hiçbir yerden vermeyin. UFW ile bu, sağlayıcınızın yayımladığı aralıklar kullanılarak aşağıdaki gibi görünür.

sudo ufw default deny incoming
sudo ufw allow OpenSSH
for ip in $(cat proxy-ranges.txt); do sudo ufw allow from "$ip" to any port 443 proto tcp; done
sudo ufw enable

Aralıklar değiştiği için listeyi düzenli olarak yenileyin. Daha güçlü güvence için kimliği doğrulanmış origin çekmelerini (karşılıklı TLS) kullanın; böylece Nginx, proxy'nin sertifikası olmayan her istemciyi reddeder.

Adım 3: sızabilecek her şeyi ayırın

  • E-postayı origin'den değil, farklı bir sunucu veya röle üzerinden gönderin.
  • Web dışı alt alan adlarını origin IP'sinden uzak tutun.
  • Uygulamadan yapılan dış istekleri bir proxy veya ayrı bir worker üzerinden geçirin.
  • Bilinmeyen bir Host için boş yanıt dönen varsayılan bir Nginx sunucu bloğu çalıştırın; böylece çıplak IP taraması hiçbir şey göstermez.
server {
    listen 443 ssl default_server;
    ssl_reject_handshake on;
}

Adım 4: saldırgan gibi test edin

Alan adınızı DNS geçmişi araçlarında arayın, kendi IP aralığınızı sertifika için tarayın ve bir test mesajının e-posta başlıklarını kontrol edin. Bunlardan herhangi biri origin'i gösteriyorsa IP'yi değiştirin ve tekrarlayın.

Bunun neyi yapıp neyi yapmadığını unutmayın: adresin erişilebilirliğini ve gizliliğini korur. Hesabın sahibini gizlemez. Bunun için anonim barındırmanın gerçekte ne kadar anonim olduğunu okuyun; ağ katmanını aşan saldırılar için Layer 7 savunmalarına bakın.