it-swarm-tr.com

Genel DNS'de özel IP adresi

Güvenlik duvarının arkasında genel bir posta kaydına sahip olacak yalnızca SMTP posta sunucumuz var .. Bu posta sunucusuna erişmenin tek yolu aynı güvenlik duvarının arkasındaki başka bir sunucudan. Kendi özel DNS sunucumuzu çalıştırmıyoruz.

Özel IP adresini genel bir DNS sunucusunda A kaydı olarak kullanmak iyi bir fikir mi yoksa bu sunucu kayıtlarını her sunucu yerel ana bilgisayar dosyasında tutmak en iyisi mi?

62
Geoff Dalgas

Bazı insanlar, hiçbir kamu DNS kaydının özel IP adreslerini ifşa etmemesi gerektiğini söyleyecektir .... potansiyel saldırganlara özel sistemlerden yararlanmak için gerekli olabilecek bazı bilgiler konusunda bir adım attığınızı düşünerek.

Şahsen, özellikle IP adreslerinden bahsederken gizlemenin zayıf bir güvenlik biçimi olduğunu düşünüyorum, çünkü genel olarak zaten tahmin etmek kolaydır, bu yüzden bunu gerçekçi bir güvenlik ödünü olarak görmüyorum.

Buradaki en büyük husus, genel kullanıcılarınızın, barındırılan uygulamanızın normal genel hizmetlerinin bir parçası olarak bu DNS kaydını almamasını sağlamaktır. ie: Harici DNS aramaları, bir şekilde ulaşamadıkları bir adrese çözümlemeye başlar.

Bunun yanı sıra, özel adres A kayıtlarını kamusal alana koymanın neden bir temel neden olduğunu görmüyorum .... özellikle bunları barındırmak için alternatif DNS sunucunuz yoksa.

Bu kaydı herkese açık DNS alanına koymaya karar verirseniz, tüm "özel" kayıtları tutmak için aynı sunucuda ayrı bir bölge oluşturmayı düşünebilirsiniz. Bu, özel olmaları gerektiğini açıkça ortaya koyacaktır .... Ancak sadece bir A kaydı için, muhtemelen rahatsız olmaz.

63
Tall Jeff

Bir süre önce NANOG listesinde bu konu hakkında uzunca bir tartışma yaptım. Her zaman bunun kötü bir fikir olduğunu düşünmüş olmama rağmen, pratikte bu kadar kötü bir fikir olmadığı ortaya çıkıyor. Zorluklar çoğunlukla rDNS aramalarından kaynaklanır (bu, dış dünyadaki Just Ad Work özel adresleri için) ve bir VPN veya benzeri bir adres üzerinden adreslere erişim sağlarken, VPN istemcilerinin doğru şekilde korunmasını sağlamak önemlidir. VPN kapalıyken trafiği "sızdırıyor".

Bunun için git diyorum. Bir saldırgan, adların dahili adreslere çözümlenmesinden anlamlı bir şey alabilirse, daha büyük güvenlik sorunlarınız vardır.

36
womble

Genel olarak, RFC1918 adreslerini genel DNS'ye dahil etmek, gerçek bir sorun olmasa da, gelecekte bir noktada karışıklığa neden olur. Güvenlik duvarınızın arkasındaki RFC1918 adreslerini kullanmak için IP'leri, Ana bilgisayar kayıtlarını veya özel DNS görünümünü kullanın, ancak bunları genel görünüme dahil etmeyin.

Gönderilen diğer yanıta dayalı olarak yanıtımı netleştirmek için, RFC1918 adreslerini genel DNS'ye eklemenin bir güvenlik sorunu değil, sahte bir pas olduğunu düşünüyorum. Birisi beni bir sorunla başa çıkmak için çağırırsa ve DNS'lerindeki RFC1918 adreslerine rastlarsam, gerçekten yavaş konuşmaya ve son zamanlarda yeniden başlatılıp başlatılmadıklarını sormaya başlarım. Belki bu benim açımdan züppe, bilmiyorum. Ama dediğim gibi, yapılması gereken bir şey değil ve muhtemelen bir noktada karışıklığa ve iletişimsizliğe (insan değil, bilgisayar) neden olacak. Neden riske atasınız?

8
jj33

Hayır, özel IP adreslerinizi genel DNS'ye koymayın.

İlk olarak, bilgi sızdırıyor, ancak bu nispeten küçük bir sorun.

MX kayıtlarınız söz konusu Ana Bilgisayar girişini gösteriyorsa en kötü sorun, posta göndermeye çalışan herkesin en iyi posta teslim zaman aşımına uğrayacağıdır.

Gönderenin posta yazılımına bağlı olarak geri dönebilirler.

Daha da kötüsü, RFC1918 adres alanını kullanıyorsanız (ağınızın içinde yapmalısınız) ve gönderen de varsa, postaları kendi ağlarına teslim etme şansları vardır.

Örneğin:

  • ağın dahili posta sunucusu var, ancak bölünmüş DNS yok
  • bu nedenle admin, hem genel hem de dahili IP adreslerini DNS'ye yerleştirir
  • ve MX kayıtları her ikisine de işaret eder:

 $Origin example.com
 @        IN   MX    mail.example.com
 mail     IN   A     192.168.1.2
          IN   A     some_public_IP

  • bunu gören biri olabilir 192.168.1.2'ye bağlanmaya çalışın
  • en iyi durum, sekiyor, çünkü rotaları yok
  • ancak 192.168.1.2 kullanan bir sunucuları varsa, posta yanlış yere gider

Evet, bu bozuk bir yapılandırma, ama bunun (ve daha kötüsünün) gerçekleştiğini gördüm.

Hayır, DNS'in hatası değil, sadece söylenenleri yapıyor.

5
Alnitak

Olasılık uzak olmasına rağmen, bazı MITM saldırılarına hazırlanıyor olabilirsiniz.

Endişem bu olurdu. Diyelim ki bir posta istemcisine sahip bir kullanıcı, o posta sunucusuna işaret edecek şekilde yapılandırılmış ve dizüstü bilgisayarlarını başka bir ağa götürüyor. Diğer ağda da aynı RFC1918 kullanımdaysa ne olur? Bu dizüstü bilgisayar smtp sunucusunda oturum açmaya ve kullanıcının kimlik bilgilerini olmaması gereken bir sunucuya sunmaya çalışabilir. Bu özellikle SMTP dediğiniz ve SSL gerektiğinde sizden bahsetmediğiniz için geçerli olacaktır.

3
Zoredache

İki seçeneğiniz/etc/hosts'dir ve genel bölgenize özel bir IP adresi koymaktır. İlkini tavsiye ederim. Bu çok sayıda ana bilgisayarı temsil ediyorsa, kendi çözümleyicinizi dahili olarak çalıştırmayı düşünmelisiniz, o kadar zor değil.

3
Dave Cheney

Bununla ilgili ince sorunlar olabilir. Bunlardan biri, DNS Rebind saldırılarına yönelik ortak çözümlerin, genel DNS sunucularından çözülen yerel DNS girişlerini filtrelemesidir. Böylece kendinizi saldırıları yeniden hatırlatmak için açarsınız ya da yerel adresler çalışmaz ya da daha karmaşık bir yapılandırmaya ihtiyaç duyarsınız (yazılımınız/yönlendiriciniz izin veriyorsa).

2
Nikola Toshev

Özel olarak 10.0.0.0/8, 192.168.0.0/16 veya 172.16.0.0/12 anlamına geliyorsa, anlamına gelmez. Çoğu internet yönlendiricisi bunun ne olduğunun farkındadır - asla halka açık internete doğrudan bir şekilde yönlendirilmelidir , popülerliğine yardımcı olan şey NAT. Genel DNS sunucunuzla iletişim kurmaya çalışan herkes özel IP adresini DNS'den alır, yalnızca hiçbir yere ... bir paket göndermek için. Bağlantıları interneti özel adresinize geçirmeye çalıştıkça, yol boyunca bazı (güvenli bir şekilde yapılandırılmış) yönlendirici paketi canlı olarak yiyecektir.

"İçeriden" gelmesi için "dışarıdan" e-posta almak istiyorsanız, paketin bir noktada güvenlik duvarınızı geçmesi gerekir. Bunu ele almak için bir DMZ adres kurmanızı öneririm - yürüdüğünüz herhangi bir yönlendirici/güvenlik duvarı tarafından sıkı bir şekilde kontrol edilen tek bir genel IP adresi. söyledi.

DÜZENLEME: niyetin açıklanması ... (aşağıdaki yorumlara bakınız). Bu mantıklı değilse, kendi gönderimi kaldırmak için oy kullanacağım.

1
Avery Payne

Ana bilgisayar dosyasında saklamak en iyisidir. Zaten sadece bir makineye bağlanması gerekiyorsa, genel DNS'ye koyarak ne kazanırsınız?

1
sh-beta

Buraya benzer bilgiler arıyordum ve birçok kişinin özel IP adreslerinizi sızdırmanın iyi olduğunu söylediğine şaşırdım. Saldırıya uğramak açısından, güvenli bir ağdaysanız büyük bir fark yaratmaz. Bununla birlikte, DigitalOcean tüm yerel ağ trafiğini aynı kablolar üzerinde herkesin gerçekten herkesin trafiğine erişebilmesini sağlamıştır (muhtemelen Orta saldırıda bir Adam ile yapılabilir). Aynı veri merkezinde bir bilgisayar alırsanız, bilgi kesinlikle size benim trafik kesmek için bir adım daha yakın verir. (Artık her müşterinin AWS gibi diğer bulut hizmetlerinde olduğu gibi kendi ayrılmış özel ağı var.)

Bununla birlikte, kendi BIND9 hizmetinizle, genel ve özel IP'lerinizi kolayca tanımlayabilirsiniz. Bu, bir koşul içeren view özelliği kullanılarak yapılır. Bu, yalnızca kendi dahili IP adresinizden birini sorarsanız, bir DNS'yi sorgulamanıza ve dahili IP'ler hakkında bir yanıt almanıza olanak tanır.

Kurulum iki bölge gerektirir. Seçim match-clients. BIND9 ile ikisi bir arada DNS sunucus 'dan kurulum örneği:

acl slaves {
    195.234.42.0/24;    // XName
    193.218.105.144/28; // XName
    193.24.212.232/29;  // XName
};

acl internals {
    127.0.0.0/8;
    10.0.0.0/24;
};

view "internal" {
    match-clients { internals; };
    recursion yes;
    zone "example.com" {
        type master;
        file "/etc/bind/internals/db.example.com";
    };
};
view "external" {
    match-clients { any; };
    recursion no;
    zone "example.com" {
        type master;
        file "/etc/bind/externals/db.example.com";
        allow-transfer { slaves; };
    };
};

İşte dış bölge ve IP'lerin özel olmadığını görebiliriz

; example.com
$TTL    604800
@       IN      SOA     ns1.example.com. root.example.com. (
                     2006020201 ; Serial
                         604800 ; Refresh
                          86400 ; Retry
                        2419200 ; Expire
                         604800); Negative Cache TTL
;
@       IN      NS      ns1
        IN      MX      10 mail
        IN      A       192.0.2.1
ns1     IN      A       192.0.2.1
mail    IN      A       192.0.2.128 ; We have our mail server somewhere else.
www     IN      A       192.0.2.1
client1 IN      A       192.0.2.201 ; We connect to client1 very often.

İç bölgeye gelince, önce dış bölgeyi ekliyoruz, bu nasıl çalışıyor. yani dahili bir bilgisayarsanız, yalnızca dahili bölgeye erişirsiniz, böylece harici bölge tanımlarına hala ihtiyacınız olur, dolayısıyla $include komutu:

$include "/etc/bind/external/db.example.com"
@       IN      A       10.0.0.1
boss    IN      A       10.0.0.100
printer IN      A       10.0.0.101
scrtry  IN      A       10.0.0.102
sip01   IN      A       10.0.0.201
lab     IN      A       10.0.0.103

Son olarak, tüm bilgisayarlarınızın artık bu DNS ve onun kölelerini kullandığından emin olmalısınız. Statik bir ağ olduğu varsayılarak, /etc/network/interfaces dosyasını seçin ve nameserver seçeneğinde DNS IP'lerinizi kullanın. Bunun gibi bir şey:

iface eth0 inet static
    ...
    nameserver 10.0.0.1 10.0.0.103 ...

Şimdi hazır olmalısın.

0
Alexis Wilke