Ofis LAN'inde iç ad anında yanıt verir. VPN açıldığı anda çalışmayı bırakır, uygulama zaman aşımı bildirir ve tünelin kendisi hiç yakınmadan trafiği taşımaya devam eder. Değişen şey çözümleyicidir ve o çözümleyicinin özel adresler hakkında kendi görüşü vardır.

Rebinding koruması belirli bir hileyi durdurmak için vardır. Kasıtlı olarak yayımlanmış özel bir ad, savunmanın devreye gireceği kadar benzer görünür.

Politikadan önce yanıtı okuyun

Adı, VPN'in gerçekten dağıttığı çözümleyiciye sorun, dizüstü bilgisayarınızın evde kullandığına değil. Yanıtı beklediğiniz kayıtla karşılaştırın ve yanıtın boş mu, reddedilmiş mi, yoksa kimsenin planlamadığı genel adreslerle mi dolu olduğunu not edin.

Belirtiler birbiriyle örtüşür, bu yüzden tanıyı yanıtın biçimi belirler. NXDOMAIN eksik bir kayıttır, REFUSED bir erişim kuralıdır, iç ad için genel bir adres politika veya split-DNS hatasıdır ve istemcinin kullanamadığı doğru özel adres tamamen başka bir sorundur. Reddedilen bir bağlantı ya da takılan bir istek tek başına hiçbir şeyi kanıtlamaz, bu yüzden bu tür kayıtlarda ilk komut yeniden başlatma değil sorgu olmalıdır. Bir şeyi değiştirmeden önce yanıtı yazın.

Savunmanın gerçekten durdurduğu şey

DNS rebinding, istemci bir ada zaten güvendikten sonra o adın neye çözümlendiğini değiştirerek çalışır. Sayfa saldırganın denetlediği bir addan yüklenir, yanıt özel bir adrese döner ve tarayıcı, doğrudan bağlantıyı asla kabul etmeyeceği yerel ağdaki bir şeyle konuşmaya kandırılır. Savunma, çözümleyiciden hiçbir zaman özel bir ad alanına hizmet etmesi istenmediğinde özel alana işaret eden yanıtları reddetmektir. O asimetri saldırının tamamıdır.

dnsmasq tam olarak bu davranışı, alan adı başına istisnalarla birlikte belgeler. Kılavuzunda rebind-domain-ok ayarını, bu tür adresleri meşru olarak döndürebilecek alan adlarını adlandırmanın yolu olarak açıklar. Bunu, amaçlanan düzeltmenin kapsamlı bir izin olduğu, küresel bir anahtar olmadığı yönünde bir işaret olarak okuyun.

İstisnayı ad alanıyla sınırlayın

Önce ad alanını düzeltin, sonra istisnayı. Başarısız olan adın kuruluşun denetlediği bir alan adına ait olduğunu ve kaydın kasıtlı olarak sürdürüldüğünü doğrulayın. Tanıdık bir LAN aralığına yalnızca benzeyen beklenmedik bir adres istisna değil, şüphe hak eder, bu yüzden herhangi bir izin yazmadan önce bölgenin sahibini kontrol edin.

# ask the resolver the VPN pushed, and show the full answer
dig +noall +answer db.corp.example @10.40.0.1
dig +short db.corp.example @10.40.0.1

# dnsmasq: what does the running configuration already allow?
grep -R 'rebind' /etc/dnsmasq.d /etc/dnsmasq.conf

Ardından amaçlanan adları kapsayan en dar izni ekleyin: VPN istemcilerinin sorguladığı çözümleyici yapılandırmasında bir alan adı veya bir devredilmiş alt alan adı. O çözümleyicideki her ad için korumayı kapatmak, hiç gereksinim duymamış adlar dahil hepsinin savunmasını bir anda kaldırır.

Split DNS aynı kararın parçasıdır. Özel ad alanına yalnızca iç çözümleyicinin yanıt vermesi gerekiyorsa orada yayımlayın ve genel çözümleyicilere sızmasını durdurun, böylece istisna her yolu değil tek bir yolu kapsar.

Kaynağı ve savunmayı yeniden test edin

Yeniden sorgulayın, sonra hizmete bağlanıp istemcinin ne gördüğünü kontrol edin. Çalışan bir oturumla birlikte doğru özel yanıt, istisnanın devreye girdiği anlamına gelir. Takılan bir oturumla birlikte doğru yanıt, sıradaki şüphelinin yol veya hizmetin kimliği olduğu anlamına gelir.

# the internal name and the public control should behave differently
dig +short db.corp.example @10.40.0.1
dig +short www.example.com @10.40.0.1

# and the service itself, with the certificate it presents
curl -sS -o /dev/null -w '%{http_code}\n' https://db.corp.example/health

Aynı çözümleyici üzerinden genel bir adı da test edin. Korumu istisna dışındaki adlar için hâlâ doğru davranmalıdır ve bu kontrol başarısız olursa değişiklik amaçlanandan daha geniş olmuştur. Sertifika doğrulamasına baştan sona dokunmayın, çünkü doğru çözümlenen bir ad yine de hizmetin sunduğu sertifikayla eşleşmelidir.

Reddedilen yanıtı, alan adını, çözümleyiciyi ve politikayı kimin yönettiğini kayda yazın. O kayıt, gizemli bir iç kesintiyi birinin inceleyebileceği bir yapılandırma değişikliğine dönüştüren şeydir.

İlgili makaleler