Açık bir DNS çözümleyici nedir ve sunucumu bilgisayar korsanları tarafından kötüye kullanılmaya karşı nasıl koruyabilirim?


15

Bilgisayar güvenliğinde en güçlü arka plana sahip değilim, ancak dün şirket sunucularımdan biri ev sahibimiz tarafından kapatıldı.

Web siteleri ve API'lar da dahil olmak üzere çeşitli web hizmeti uygulamalarını barındırdığım bir genel IP atanmış bir sunucudur. Sunucumun "hizmet reddi saldırısını harici bir varlığa aktarmak için kullanılan bir açık dns çözümleyici çalıştırdığı" söylendi.

Ne anlama geliyor? Bu saldırı nasıl çalışır? Sistemimi bu şekilde istismardan nasıl koruyabilirim?

Benim özel durumumda, söz konusu sunucu Windows Server 2012 üzerindedir ve bir Active Directory etki alanı için DNS sunmaktadır.


Hangi DNS sunucusunu kullandığınızı bize bildirirseniz, biri muhtemelen hangi yapılandırmayı ve hangi şekilde ayarlamanız gerektiğini tam olarak söyleyebilir. Bu bilgi olmadan, BIND ve tüm özel IP adres alanlarını tahmin ettim, çünkü BIND en yaygın DNS sunucusudur ve özel adres alanları güvenlidir. Muhtemelen, harici adres bloklarınızdan da yinelenen isteklere izin vermek istersiniz.
HopelessN00b

@ HopelessN00b Teşekkür ederim, cevabınız oldukça faydalı oldu. BIND kullanmıyorum (sunucum da olduğumu varsaydı ve çalıştırmam için bazı komutlar sağladı); IIS'de rol olarak ayarlanmış bir DNS sunucum var. İlginçtir, bir DNS sunucusunu manuel olarak yapılandırmadım ve neden buna ihtiyacım olduğunu anladığımdan emin değilim. Devre dışı bırakılırsa ne kırılır?
JSideris

Uh, Windows ortamında DNS'yi devre dışı bırakmayın. Muhtemelen Active Directory'yi kıracaksınız. Bana Windows Server'ın hangi sürümünü bildirin ve bazı ekran görüntülerinde (muhtemelen) Windows DNS kutusunu nasıl güvenceye alacağınızı göstermek için düzenleyebilirim.
HopelessN00b

Peki. Aslında bu haftasonu aktif dizin ayarladım. Windows Server 2012 standardıdır.
JSideris

Yanıtlar:


28

"Açık DNS çözümleyici", İnternet'teki herkes için özyinelemeli DNS aramalarını çözmek isteyen bir DNS sunucusudur. Basit bir SMTP geçişine çok benzer, çünkü basit kimlik doğrulama eksikliği kötü niyetli 3. tarafların güvenli olmayan ekipmanınızı kullanarak yüklerini çoğaltmasına izin verir. Açık SMTP geçişlerinde sorun spam iletmeleri. Açık DNS çözümleyicilerinde sorun, DNS Yükseltme Saldırısı olarak bilinen bir hizmet reddi saldırısına izin vermesidir.

Bu saldırının çalışma şekli oldukça basittir - sunucunuz özyinelemeli DNS sorgularını herkesten çözeceğinden, bir saldırgan sunucunuza çok daha büyük miktarda veri döndürecek özyinelemeli bir DNS sorgusu göndererek DDoS'a katılmasına neden olabilir. orijinal DNS istek paketi. IP adreslerini taklit ederek (taklit ederek), bu ekstra trafiği kendi yerine kurbanlarının bilgisayarlarına yönlendirecekler ve elbette, sunucunuza ve diğer tüm açık DNS'lere mümkün olduğunca hızlı istekte bulunacaklar. çözücüler bulabilirler. Bu şekilde, nispeten küçük bir borusu olan biri, kurbanlarına çok daha fazla trafik yönlendirmek için borularındaki tüm bant genişliğini kullanarak bir hizmet reddi saldırısını "yükseltebilir".

ArsTechnica, DNShaus'a yönelik son DNS Yükseltmesi DDoS saldırısı hakkında iyi bir makale yaptı ve temelleri (ve yükseltmenin iyi bir görselliğini) almak için hızlı bir okumaya değer.

Sisteminizi bu şekilde kötüye kullanılmaya karşı korumanın en basit yolu, sunucunuzun yerel alt ağlarınız için özyinelemeli aramalar gerçekleştireceği adresleri sınırlamaktır. (Özellikleri elbette hangi DNS sunucusunu kullandığınıza bağlıdır).


Örneğin, BIND 9 kullanıyordum ve dış adreslerden DNS özyinelemesini önlemek istiyorsanız, yapılandırmamda aşağıdaki kodu kullanırdım:

options {
    directory "/var/named/master";
    allow-recursion { 127.0.0.1; 10.0.0.0/8; 192.168.0.0/16; 172.16.0.0/12; };

Bu kod satırı, BIND sunucum için yalnızca yerel geri döngü adresi için özyinelemeli DNS isteklerini işlemesini söyler (sanırım yerel geri döngü bloğuna, bütün / 8'e ayarlayabileceğim / yapmalıyım) ve 3 Özel IPv4 adres alanı.


Kullandığınızı söylediğiniz Windows Server 2012 için aşağıdaki seçeneklere sahipsiniz.

1. DNS sunucunuzu IIS sunucunuzdan ayırın.

  • En azından mükemmel bir dünyada, IIS ile aynı kutuda DNS çalıştırmanız için bir neden yoktur.
    • DNS'yi NAT olmayan bir iç kutuya yerleştirin, böylece dış dünya buna erişemez ve IIS'nin dünyanın geri kalanının alabileceği dışa bakan kutuda kalmasına izin verin. IIS sunucunuzdan DNS sunucunuza seçime izin vermek için çift hedef arama veya güvenlik duvarı kurallarını kullanabilirsiniz.

2. Dahili DNS güvenlik duvarı gibi bir güvenlik duvarıyla harici DNS isteklerini engelleyin.

  • Şaşırtıcı bir şekilde, Windows DNS, özyinelemeli DNS isteklerinin onurlandırıldığı adresleri kısıtlamanıza izin vermez, bu nedenle bu aslında Microsoft tarafından önerilen yöntemdir.
  • resim açıklamasını buraya girin
    • DNS kurallarını (TCP ve UDP) seçin, Remote IP addressbölüme gidin ve LAN'ınızda kullanılan alt ağların yanı sıra Active Directory'ye erişmesi gereken sunucuların halka açık IP adreslerini ekleyin. BIND örneğinde olduğu gibi, IPv4 özel adres alanları 127.0.0.0/8 10.0.0.0/8 192.168.0.0/16ve şeklindedir 172.16.0.0/12.

3. Özyinelemeyi devre dışı bırakın .

  • Dürüst olmak gerekirse, ortamınız üzerinde ne gibi bir etki yaratacağından emin değilim, çünkü DNS ve AD'nin ortamınızda nasıl yapılandırıldığını gerçekten belirtmediniz ve buna göre son seçenek.
  • resim açıklamasını buraya girin
    1. DNS Manager'ı açın.
    2. Konsol ağacında, uygulanabilir DNS sunucusunu sağ tıklatın, ardından Özellikler'i tıklatın.
    3. Nerede?
    4. DNS / ilgili DNS sunucusu
    5. Gelişmiş sekmesini tıklayın.
    6. Sunucu seçeneklerinde, Özyinelemeyi devre dışı bırak onay kutusunu seçin ve Tamam'ı tıklatın.
      • Çok ormanlı bir çevreye sahip olduğumuz ve bunun çalışması için koşullu ileticiler kullandığımız için, bu kutuyu işaretlemeyeceğim. Sizin de dikkate almanız gereken bir şey olabilir.

Mükemmel cevap!
Fred Wonder Magic Dog

Mükemmel, iyi belgelenmiş bir çözüm :).
JSideris

2
Peki 8.8.8.8 veya 1.1.1.1, kendilerinin açık çözümleyici olmasını nasıl önler?
LinuxBabe
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.