DNSSEC'yi sağlamada ne tür güvenlik açıkları var?


28

DNS bölgemi DNSSEC ile imzalamayı düşünüyordum. Bölgem, kayıt memuru ve DNS sunucum (BIND9) tümü DNSSEC'yi destekliyor. DNSSEC'yi desteklemeyen tek ikincil isim sunucusu sağlayıcım (yani buddyns.com ).

Web sitelerinde , DNSSEC ile ilgili olarak şunu söylüyorlar:

BuddyNS, DNSSEC'yi desteklememektedir, çünkü yüksek hacimli bir DNS hizmetine uygun olmayan bazı güvenlik açıklarına maruz kalmaktadır.

DNSSEC kullanımının şu anda bir şekilde sorgulanabileceğini düşündüm, çünkü çoğu çözümleyici kayıtların doğru imzalanıp imzalanmadığını kontrol etmiyor. Bilmiyordum ki - ifadelerine göre - bir çeşit güvenlik açığına maruz kalmasını sağlamak gibi görünüyor.

Bu "güvenlik açıkları" nedir?


8
daha ipucu dolu bir DNS sağlayıcı bulun - mazeretleri sahte.
Alnitak

Yanıtlar:


103

DNSSEC'nin bazı riskleri vardır, ancak bunlar doğrudan yansıtma veya amplifikasyonla ilişkili değildir. EDNS0 mesaj büyüklüğü genişlemesi bu durumda kırmızı bir ringa balığıdır. Açıklamama izin ver.

Önceden kimlik belgesine dayanmayan herhangi bir paket alışverişi, kimliği doğrulanmamış bir paket alışverişini reflektör olarak ve belki de bir amplifikatör olarak kullanabilen DDoS saldırganları tarafından kötüye kullanıma maruz kalır. Örneğin, ICMP ("ping" in arkasındaki protokol) bu şekilde kötüye kullanılabilir. Aynı şekilde, SYN'nin bu SYN-ACK paketlerini istemeyen bir kurbandan gelmesi durumunda bile, 40'a kadar SYN-ACK paketi talep eden TCP SYN paketi. Ve elbette, NTP, SSDP, uPNP de dahil olmak üzere tüm UDP hizmetleri bu saldırıya karşı savunmasızdır ve burada DNS de dahil olmak üzere diğer yanıtlarda da belirtildiği gibi.

İzinsiz giriş tespiti, izinsiz giriş önleme ve yük dengeleyici araçlarının çoğu, "hat hızı" trafiğine ayak uyduramayan darboğazlardır. Ayrıca birçok yönlendirici hat hızında çalışamaz ve bazı anahtarlar. Bu darboğazlar, "yoldaki" en küçük olan ve bağlantıların kendisinden küçük olan tıkanıklık tabanlı DDoS saldırılarının asıl hedefidir. Birinin güvenlik duvarını saldırı trafiğiyle meşgul tutabilirseniz, bağlantılar dolmasa bile iyi trafikten geçemezsiniz. Güvenlik duvarını yavaşlatan şey, saniye başına toplam bit sayısı değil (daha büyük iletiler kullanılarak artırılabilir ve EDNS0 ve DNSSEC de olacaktır), ancak saniye başına düşen toplam paket sayısıdır.

DNSSEC'nin DNSSEC'nin daha büyük mesaj boyutundan dolayı DDoS'u nasıl daha kötü hale getirdiği konusunda bir sürü şehir efsanesi var ve bu sezgisel bir anlam ifade ediyor ve "kulağa hoş geliyor" olsa da, sadece yanlış. Fakat eğer bu efsaneye göre bir doğruluk parçası olsaydı, gerçek cevap yine de başka yerlerde olurdu - [çünkü DNSSEC her zaman EDNS0 kullanır, ancak EDNS0 DNSSEC olmadan kullanılabilir] ve birçok DNSSEC dışı cevap, bir DNSSEC kadar büyüktür. cevap olurdu. SPF politikalarını veya DKIM anahtarlarını temsil etmek için kullanılan TXT kayıtlarını göz önünde bulundurun. Veya yalnızca herhangi bir büyük adres veya MX kaydı kümesi. Kısacası, hiçbir saldırı DNSSEC gerektirmez ve bu nedenle bir DDoS riski olarak DNSSEC'ye odaklanma eksik enerjidir.

DNSSEC'in riskleri var! Kullanımı zor ve doğru kullanımı zor. Genellikle, bölge veri değişiklikleri, kayıt yönetimi, yeni sunucu örneklerinin yüklenmesi için yeni bir iş akışı gerektirir. Bunların hepsi test edilmeli ve belgelenmelidir ve DNS ile ilgili bir şey kırıldığında, DNSSEC teknolojisinin olası bir neden olarak araştırılması gerekir. Sonuçta her şeyi doğru yaparsanız, bölge belirleyicisi olarak, kendi çevrimiçi içeriğiniz ve sistemleriniz müşterileriniz için daha kırılgan olacaktır. Uzak uçlu bir sunucu operatörü olarak, sonuç, herkesin içeriğinin ve sistemlerinin sizin için daha kırılgan olacağı şeklinde olacaktır. Bu risklerin genellikle faydalardan daha ağır olduğu görülür, çünkü tek yararı, DNS verilerini uçuş sırasında yapılan değişikliklerden veya yer değiştirmelerden korumaktır. Bu saldırı tüm bu çabaya değmeyecek kadar nadirdir. DNSSEC'nin bir gün her yerde hazır olacağını ümit ediyoruz, yeni uygulamalar nedeniyle. Ancak gerçek şu ki, bugün DNSSEC tüm maliyet, fayda ve yüksek risklidir.

Bu yüzden, DNSSEC kullanmak istemiyorsanız, bu sizin ayrıcalığınızdır, ancak DNSSEC'in probleminin bir DDoS amplifikatörü olarak oynadığı rolün kimsenin kafasını karıştırmasına izin vermeyin. DNSSEC'in bir DDoS amplifikatörü olarak gerekli bir rolü yoktur; DNS'yi DDoS amplifikatörü olarak kullanmanın daha ucuz başka yolları da var. DNSSEC kullanmak istemiyorsanız, Kool Yardımcısını henüz içmediniz ve bir ilk taşıyıcı (şimdi) değil, son taşıyıcı (daha sonra) olmak istediğiniz için olsun.

Bazen "yetki sunucuları" olarak adlandırılan DNS içerik sunucularının DNS'yi yansıtan amplifikatörler olarak kötüye kullanılması engellenmelidir, çünkü DNS UDP kullanır ve UDP sahte kaynak paketleri tarafından kötüye kullanılabilir. DNS içerik sunucunuzu bu tür suiistimallere karşı korumanın yolu UDP'yi engellemek, TCP'yi zorlamak (TC = 1 hilesini kullanmakla) veya HİÇBİR sorguyu engellememek veya DNSSEC'den çıkmamaktır. Bunların hiçbiri sana yardım etmeyecek. DNS Yanıtlama Oranı Sınırlamasına ihtiyacınız var(DNS RRL), şu anda BIND, Knot ve NSD gibi birçok açık kaynaklı isim sunucusunda mevcut olan tamamen ücretsiz bir teknolojidir. DNS yansıması sorununu güvenlik duvarınızla çözemezsiniz, çünkü yalnızca DNS sunucusunun kendisi (RRL eklenmiş) gibi içeriğe duyarlı bir orta kutu, neyin saldırı olduğunu ve neyin doğru olmadığını tahmin edebilmek için yeterince bilgi ister. Tekrar vurgulamak istiyorum: DNS RRL ücretsizdir ve her yetkili sunucu bunu çalıştırmalıdır.

Kapanırken, önyargılarımı açığa vurmak istiyorum. BIND8'in çoğunu yazdım, EDNS0'ı icat ettim ve DNS RRL'yi birlikte icat ettim. 1988’den beri DNS’de 20’lik bir şey olarak çalışıyorum ve şu anda 50’den fazla huysuzum, sorunların yanlış anlaşılması için yarı pişmiş çözümler konusunda daha az sabırla. Lütfen bu mesaj çok "Kulağa selamlar, bahçemden defol!"


7
Bunun Gerçek Paul ™ olduğunu onaylayarak.
Andrew B

1
@AndrewB gerçek Paul ™ olamaz, yazısında büyük harfler var! ;-)
Alnitak

6
@ kasperd, şu anda IETF'de ilerleyen "draft-ietf-dnsop-cookies" konusuna bakın.
Alnitak

4
kasperd: [Hızı sınırlayan bir DNS sunucusu DDoS saldırıları için daha kolay bir hedef haline gelecektir.] Ben bir aptal olduğumu biliyorum, ama o kadar aptal değilim. dns rrl, hiçbir şekilde hiçbir şekilde daha az güvende olmanızı sağlar. bilinen tüm saldırılara karşı bir savunma değildir, ancak yeni bir saldırı oluşturmayan bir yaratıcıdır.
Paul Vixie

2
@ kasperd kurulu taban her zaman bir sorundur - uyumlu olmayan sistemler dışında bile uyumlu kurulum tabanlarında bile çalışacak bir çözüm yoktur. İyi haber şu ki, EDNS çerez desteği zaten BIND 9.11 kod tabanında bulunuyor ve (AIUI) varsayılan olarak açık olacak.
Alnitak

7

İki özel güvenlik açığı biliyorum. Håkan'ın bahsettiği yansıma / büyütme var. Ve bölge numaralandırma olasılığı var.

Yansıma / büyütme

Yansıma, sahte bir kaynak IP'si olan isteklerin bir DNS sunucusuna gönderildiği saldırılar anlamına gelir. Sahte olan ev sahibi saldırının birincil kurbanıdır. DNS sunucusu, cevabı bilmeden, asla istemeyen bir ana bilgisayara gönderir.

Amplifikasyon, yansıtılan yanıtın orijinal istekten daha fazla bayt veya daha fazla paket içerdiği herhangi bir yansıma saldırısını ifade eder. DNSSEC + EDNS0 öncesinde bu şekilde amplifikasyon yalnızca 512 bayta gönderime izin verirdi. DNSSEC + EDNS0 ile genellikle 3-4 paket kapsayan 4096 bayt gönderilebilir.

Bu saldırılar için olası azaltmalar var, ancak bunları gerçekleştiren herhangi bir DNS sunucusunu bilmiyorum.

İstemci IP'si onaylanmadığında, DNS sunucusu istemciyi TCP'ye geçmesi için kesilmiş bir yanıt gönderebilir. Kesik yanıt, istek kadar kısa olabilir (ya da müşteri EDNS0 kullanıyorsa ve yanıt almazsa kısadır), bu da amplifikasyonu ortadan kaldırır.

Bir TCP anlaşmasını tamamlayan ve bağlantıda bir DNS isteği gönderen herhangi bir istemci IP geçici olarak beyaz listeye alınabilir. Bir kez IP, UDP sorguları göndermek ve 512 bayta (EDNS0 kullanıyorsanız 4096 bayt) kadar UDP yanıtlarını almak için beyaz listeye alındığında. Bir UDP yanıtı bir ICMP hata mesajını tetiklerse, IP beyaz listeden tekrar kaldırılır.

Bu yöntem aynı zamanda bir kara liste kullanılarak da tersine çevrilebilir; bu, yalnızca istemci IP'lerinin varsayılan olarak UDP üzerinden sorgulamaya izin verdiği, ancak herhangi bir ICMP hata iletisinin, IP'nin kara listeden çıkmasını gerektiren bir TCP sorgusuna ihtiyaç duyan kara listeye alınmasına neden olduğu anlamına gelir.

İlgili tüm IPv4 adreslerini kapsayan bir bitmap, 444 MB bellekte saklanabilir. IPv6 adreslerinin başka bir şekilde depolanması gerekir.

Bölge numaralandırma

Bölge numaralandırmanın her şeyden önce bir güvenlik açığı olup olmadığı tartışma konusudur. Ancak, bölgenizdeki tüm adların genel bilgi olmasını istemiyorsanız, bunun bir güvenlik açığı olduğunu düşünebilirsiniz. Bölge numaralandırma, NSEC3 kayıtlarının kullanımıyla çoğunlukla azaltılabilir.

NSEC3'ü kullanırken bile hala devam eden sorun, bir saldırganın rastgele isimleri sorgulayarak her etiketin karmasını bulabilmesidir. Saldırganın bütün karıĢmaları gerçekleştiğinde, bu karĢılara çevrimdışı bir kaba kuvvet saldırısı yapılabilir.

Bölge numaralandırmasına karşı uygun bir savunma, bir saldırganın her tahmin için yetkili sunucuya bir sorgu gerçekleştirmesini gerektirir. Ancak DNSSEC'de böyle bir savunma yoktur.


2
Bölge numaralandırma, servis sağlayıcı için bir endişe gibi görünmüyor? (Oldukça "sahip" bölgesi için görüş ve tercihlerine bağlı olarak olası bir endişe.)
Håkan Lindqvist

@ HåkanLindqvist Bu doğru. Belki de sorum, istediğimden daha belirgindi. Bu bilgiyi çok ilginç buldum.
Johann Bauer

TCP deneyen bir müşteriyi beyaz listeye alma fikri düşünülmüş, ancak görünüşe göre patentlidir.
Alnitak

4

Akla gelen şey aslında DNSSEC'e özgü değil, DNSSEC'nin dayandığı EDNS0 uzantısı ile ilgilidir.

EDNS0, daha büyük UDP yüklerine ve daha büyük UDP yüklerine, daha kötü trafik yansıması / büyütme saldırılarına izin verebilir.


Doğrulama çözücülerinin yüzde oranının ne olduğunu bilmiyorum, ancak popüler ad sunucusu yazılımı varsayılan olarak onaylanmış olarak gönderiliyor gibi görünüyor ve bunlardan biri Comcast ve Google genel çözümleyicileri gibi onaylama konusunda açık olan bazı önemli servis sağlayıcıları kolayca bulacak.

Buna dayanarak, doğrulayıcı çözücüler yüzdesinin, imzalanan bölgelerin yüzdesinden muhtemelen daha iyi bir şekilde olduğunu düşünüyorum.


Evet, bifteğin de EDNS ile olabileceğini düşünüyordum. Ama bunun yerine DNSSEC ile kemiği toplamak çok garip.
Andrew B,
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.