TTL'niz DNS kaydınıza batırıldığında ne olur?


13

Birisi DNS kontrolünüze eriştiğinde ve alan adınızda 100 yıllık bir TTL ayarladığında, IP'sini belirsiz bir web sitesine yönlendirirken ne olur?

(ve elbette çok geç keşfediyorsun)


10
Sorumlu adam kovulur.
Xavier Lucas

5
Kısa bir not: Maksimum TTL değeri 68 yıldan biraz daha fazla olan 2 ^ 31-1'dir :) Bkz. RFC 2181 .
Sven

Yanıtlar:


21

Ryan, sorunuzun bir yorumuna mükemmel bir cevap verdi. Ancak hedef kitlemiz ve bu sorunun üstesinden gelme olasılığı en yüksek olan insanların durumu göz önüne alındığında, farklı bir soruya cevap vereceğim.

Bir şirket, kötü bir TTL onu vahşi hale getirdiğinde ne yapar?

Burada birkaç seçeneğiniz var. Her şeyden önce, sorun vektörünü tanımlamanız ve ortadan kaldırmanız gerekir. Kendini tekrarlayan problem üzerinde hiçbir kontrole sahip değilseniz, hasarı kontrol altına almaya çalışmak anlamsızdır.

  1. Bekle. Önemli bir kayıt değilse, büyük olasılıkla bekleyebilirsiniz. Ryan'ın kapsadığı gibi, "maksimum hasar" 68 yıl değil, pratikte büyük olasılıkla 7 gün olacak. Bu, pozitif bir önbellek girdisinin (BIND, JunOS vb.) Maksimum ömrü için en yaygın varsayılan değerdir. Bunun doğru olmadığı durumlarda bile, sunucunun bir işlemin yeniden başlatılmasını zorlayan rutin güvenlik güncelleştirmeleri alması umulur. Birkaç büyük kümenin operatörü olarak konuşurken, bir MSO'nun bunu bilerek daha büyük bir değere ayarlayacağını düşünmüyorum: sadece daha fazla dış sorgulama (nefret ettiğimiz) üretmeye hizmet ediyor. Daha az popüler yazılım kullanan şirketler veya kendilerinden nefret eden operatörler için sonraki adımlara geçmeniz gerekebilir.
  2. DNS önbellek işleçlerini kızdırın. ASAP önbelleğinden kayıt almanız gerekiyorsa, tek gerçek seçiminiz aklınıza gelebilecek en düşük özyinelemeli DNS sağlayıcılarına ulaşmaya başlamaktır. Bu şirketlerin bazıları sizi görmezden gelebilir: ya şirketinizin müşterilerinin ilgilenmesi için çok küçük olduğunu düşünürler ya da başa çıkmak zorunda oldukları destek çağrılarının sayısını en aza indirgemek için kendi önbellek temizleme politikaları uygularlar. İkinci durumda, muhtemelen omuz silkecekler ve sorunun planlanan zamanda kendi kendine ilgilenmesine izin verecekler. Sonuçta, şirketiniz bu sorunu kendisi için yarattı.
  3. ISS müşterilerini sizin için ISP'lerini rahatsız etmelerini sağlayın. Birkaç gün geçtiyse ve büyük bir İSS önbelleğe alınmış kaydı yoksayarsa, müşterilerinden birini şikayet etmesini ve bu şirket için bir bilet oluşturmasını sağlayın. Bu onların görmezden gelmeleri daha zordur, ancak kendi bakış açıları ile bunu kendinize yaptığınız gibi ops ekibi ile size bir iyilik kazanmaz. Bu tekrarlanan bir durumsa, büyük olasılıkla sizi etkilemek için bu biletleri iptal etmeye başlayacaklardır.
  4. Ortaklarınıza DNS kaydını atlamaları için tavsiyelerde bulunun. Ortaklarınız tarafından tüketilen ve kritik öneme sahip bir DNS kaydı ise ve yukarıdaki seçeneklerin hiçbiri kabul edilemezse (yani, dakikaya kadar gelir kaybediyorsanız), şirketinizin sorunu atlamak için ortaklarıyla çalışmaktan başka seçeneği yoktur. Yerel önbelleklerini kontrol etmezlerse, bu genellikle DNS kaydını kullanan programların değiştirilmesi gerekliliğini ortadan kaldırdığı için etkilenen sistemlerin ana bilgisayar tablosuna girişler ekleyerek gerçekleştirilir. Bu sadece gelir kaybı verileri tüketen birkaç şirkete bağlıysa geçerlidir. Diğer tüm durumlarda ilk üç seçeneğe takılı kalırsınız.

3
Seçenek 2'ye örnek olarak, Google Herkese Açık DNS, bu sayfayı önbelleğini temizlemek için bu sayfaya sahiptir .
Bardi Harborow

16

Her şeyden önce, Bind yapılandırma kılavuzuna bakıyorum, TTL'nin saniye cinsinden ifade edilmiş, teorik bir maksimum 2 ^ 31 veren işaretli bir 32 bit tam sayı olduğunu belirtiyor. Diyor ki

Geçerli TTL'ler 0-2147483647 saniye aralığındadır.

Ya da yaklaşık 68 yıl. Yani muhtemelen 100 yıla ayarlayamazsınız.

Diyelim ki 68 yıla ayarladınız. Ne olacağı oldukça açık. DNS kayıtlarınızdaki son derece uzun TTL'ye saygı duyan DNS çözümleyicileri, bunları olabildiğince uzun süre önbelleğe alır. Bazı DNS çözümleyicileri TTL'lere hiç saygı duymaz ve istedikleri zaman yalnızca kendi önbellekleme politikalarını uygular.

Maksimumlara tek bir sabit sayı koyamamamızın nedeni, birçok farklı satıcı tarafından oluşturulan birçok farklı DNS uygulaması olması ve hepsinin biraz farklı değişkenler kullanmasıdır. Örneğin, Juniper JunOS üzerinde çalışan bir DNS sunucusu TTL'de yalnızca 604800 saniyeye veya 7 güne kadar gidecektir.


Yani bu aslında birisi X şirketinin DNS kontrolünü hacklediğinde 68 yıl koyar ve IP'yi pornhub'a iletir, aslında 'sonsuza dek' alan adını imha etti ?? : X
Dirk Boer

11
Sorunu düzelttiğinizi varsayarsak, alt DNS sunucularının önbellekleri temizlenmeden 68 yıl geçmesi olası değildir, örneğin yeniden önyükleme yaparak. Ayrıca, aşağı yönlü DNS çözümleyicilerinin, 68 yıl yerine 3 gün gibi alınan TTL'lere daha makul bir sınır koyan kendi "MAXTTL" fikrini uygulaması muhtemeldir. Bahsettiğim şeyin bir örneği olarak RFC 2308'i okuyun.
Ryan Ries

4
Özellikle BIND ile ilgili olarak 7 günlük bir varsayılan limite sahiptir. max-cache-ttl: "Sunucunun normal (pozitif) yanıtları önbelleğe alacağı maksimum süreyi ayarlar. Varsayılan, bir haftadır (7 gün)."
Håkan Lindqvist
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.