Einige Leute werden sagen, dass keine öffentlichen DNS-Einträge jemals private IP-Adressen preisgeben sollten ... mit der Annahme, dass Sie potenziellen Angreifern einen Überblick über einige Informationen verschaffen, die erforderlich sein könnten, um private Systeme auszunutzen.
Persönlich denke ich, dass Verschleierung eine schlechte Form der Sicherheit ist, insbesondere wenn es sich um IP-Adressen handelt, da sie im Allgemeinen ohnehin leicht zu erraten sind, sodass ich dies nicht als realistischen Sicherheitskompromiss betrachte.
Die wichtigere Überlegung hierbei ist, sicherzustellen, dass Ihre öffentlichen Benutzer diesen DNS-Eintrag nicht als Teil der normalen öffentlichen Dienste Ihrer gehosteten Anwendung abrufen. Dh: Externe DNS-Lookups lösen sich irgendwie in eine Adresse auf, zu der sie nicht gelangen können.
Abgesehen davon sehe ich keinen fundamentalen Grund, warum es ein Problem ist, Datensätze mit der privaten Adresse A in den öffentlichen Raum zu stellen.
Wenn Sie diesen Eintrag in den öffentlichen DNS-Bereich verschieben möchten, können Sie eine separate Zone auf demselben Server erstellen, in der alle "privaten" Einträge gespeichert werden. Dies wird klarer machen, dass sie privat sein sollen .... aber für nur eine A-Platte würde ich mich wahrscheinlich nicht darum kümmern.
Ich hatte vor einiger Zeit eine lange Diskussion zu diesem Thema auf der NANOG-Liste. Obwohl ich es immer für eine schlechte Idee gehalten hatte, stellte sich heraus, dass es in der Praxis keine so schlechte Idee ist. Die Schwierigkeiten treten meistens bei rDNS-Suchvorgängen auf (die für private Adressen in der Außenwelt einfach nicht funktionieren). Wenn Sie über ein VPN oder Ähnliches auf die Adressen zugreifen, müssen Sie sicherstellen, dass die VPN-Clients ordnungsgemäß geschützt sind Datenverkehr "leckt", wenn das VPN inaktiv ist.
Ich sage, mach schon. Wenn ein Angreifer in der Lage ist, Namen in interne Adressen aufzulösen, treten größere Sicherheitsprobleme auf.
quelle
Im Allgemeinen wird die Einführung von RFC1918-Adressen in das öffentliche DNS zu einem späteren Zeitpunkt Verwirrung stiften, wenn nicht sogar ein echtes Problem. Verwenden Sie IPs, Hosteinträge oder eine private DNS-Ansicht Ihrer Zone, um die RFC1918-Adressen hinter Ihrer Firewall zu verwenden, ohne sie in die öffentliche Ansicht aufzunehmen.
Um meine Antwort auf der Grundlage der anderen übermittelten Antwort zu verdeutlichen, ist die Einführung von RFC1918-Adressen in öffentliches DNS meines Erachtens ein Fauxpas, kein Sicherheitsproblem. Wenn mich jemand anruft, um ein Problem zu beheben, und ich auf RFC1918-Adressen in seinem DNS stoße, spreche ich sehr langsam und frage ihn, ob er kürzlich neu gestartet wurde. Vielleicht ist das meinerseits Snobismus, ich weiß es nicht. Aber wie ich schon sagte, es ist nicht notwendig und es kann irgendwann zu Verwirrung und Missverständnissen (Mensch, nicht Computer) kommen. Warum das Risiko eingehen?
quelle
Nein, stellen Sie Ihre privaten IP-Adressen nicht in den öffentlichen DNS.
Erstens verliert es Informationen, obwohl dies ein relativ kleines Problem ist.
Das schlimmste Problem, wenn Ihre MX-Einträge auf diesen bestimmten Hosteintrag verweisen, ist, dass jeder, der versucht, E-Mails an ihn zu senden, bestenfalls eine Zeitüberschreitung für die E-Mail-Zustellung erhält.
Abhängig von der E-Mail-Software des Absenders kann es zu Bounces kommen.
Schlimmer noch, wenn Sie den RFC1918-Adressraum (den Sie in Ihrem Netzwerk verwenden sollten) verwenden und der Absender auch, besteht die Möglichkeit, dass er versucht, die E-Mails an sein eigenes Netzwerk zuzustellen.
Zum Beispiel:
Ja, es ist eine kaputte Konfiguration, aber ich habe gesehen, dass dies (und noch schlimmeres) passiert.
Nein, es ist nicht die Schuld von DNS, es tut nur das, was es verlangt.
quelle
Obwohl die Möglichkeit gering ist, denke ich, dass Sie sich auf einige MITM-Angriffe einstellen werden.
Mein Anliegen wäre dies. Nehmen wir an, einer Ihrer Benutzer mit einem Mail-Client, der so konfiguriert ist, dass er auf diesen Mail-Server verweist, bringt seinen Laptop in ein anderes Netzwerk. Was passiert, wenn in diesem anderen Netzwerk derselbe RFC1918 verwendet wird? Dieser Laptop versucht möglicherweise, sich beim SMTP-Server anzumelden, und bietet die Anmeldeinformationen des Benutzers einem Server an, der sie nicht haben sollte. Dies gilt insbesondere, da Sie SMTP angegeben haben und nicht erwähnt haben, dass Sie SSL benötigen.
quelle
Ihre beiden Optionen sind / etc / hosts und das Einfügen einer privaten IP-Adresse in Ihre öffentliche Zone. Ich würde das erstere empfehlen. Wenn dies eine große Anzahl von Hosts darstellt, sollten Sie erwägen, Ihren eigenen Resolver intern auszuführen, da dies nicht so schwierig ist.
quelle
Es kann subtile Probleme damit geben. Zum einen filtern gängige Lösungen für DNS-Rebind-Angriffe lokale DNS-Einträge, die von öffentlichen DNS-Servern aufgelöst wurden. Sie öffnen sich also entweder selbst, um Angriffe erneut zu binden, oder lokale Adressen funktionieren nicht oder erfordern eine komplexere Konfiguration (sofern Ihre Software / Ihr Router dies überhaupt zulässt).
quelle
Es ist am besten, es in der hosts-Datei zu behalten. Wenn nur ein Computer jemals eine Verbindung herstellen soll, was bringt es Ihnen, wenn Sie ihn in das öffentliche DNS stellen?
quelle
/etc/hosts
Datei zu verwenden, da dann alle 2.000 Computer diese IP / Name-Paare verwalten müssen ...Wenn Sie mit privat einen 10.0.0.0/8, einen 192.168.0.0/16 oder einen 172.16.0.0/12 meinen, dann tun Sie das nicht . Die meisten Internet-Router erkennen es als das, was es ist - eine private Adresse, die niemals direkt an das öffentliche Internet weitergeleitet werden darf , was zur Popularität von NAT beigetragen hat. Jeder, der versucht, sich mit Ihrem öffentlichen DNS-Server in Verbindung zu setzen, ruft die private IP-Adresse von DNS ab, um dann ein Paket an .... nirgendwo zu senden. Während die Verbindung versucht, das Internet zu Ihrer privaten Adresse zu leiten, frisst ein (ordnungsgemäß konfigurierter) Router das Paket einfach lebend.
Wenn Sie möchten, dass E-Mails von "außen" nach "innen" gesendet werden, muss das Paket irgendwann Ihre Firewall passieren. Ich würde vorschlagen, eine DMZ-Adresse einzurichten, um dies zu handhaben - eine einzelne öffentliche IP-Adresse, die von jedem Router / Firewall, den Sie eingerichtet haben, streng kontrolliert wird. Das vorhandene Setup, das Sie beschreiben, scheint genau das zu tun.
EDIT: Klarstellung der Absicht ... (siehe Kommentare unten). Wenn dies keinen Sinn ergibt, werde ich dafür stimmen, meinen eigenen Beitrag zu entfernen.
quelle
Ich kam hier an, als ich nach ähnlichen Informationen suchte und war überrascht, dass viele sagen, es sei in Ordnung, Ihre privaten IP-Adressen zu verlieren. Ich denke, in Bezug auf das Hacken macht es keinen großen Unterschied, ob Sie sich in einem sicheren Netzwerk befinden. DigitalOcean hat jedoch den gesamten lokalen Netzwerkverkehr auf genau den gleichen Kabeln gehabt, wobei jeder wirklich Zugriff auf den Datenverkehr aller anderen hatte (wahrscheinlich mit einem Man-in-the-Middle-Angriff machbar) Informationen geben Ihnen sicherlich einen Schritt näher, um meinen Datenverkehr zu hacken. (Jetzt hat jeder Client sein eigenes reserviertes privates Netzwerk wie bei anderen Cloud-Diensten wie AWS.)
Mit Ihrem eigenen BIND9-Dienst können Sie jedoch problemlos Ihre öffentlichen und privaten IP-Adressen definieren. Dies geschieht mit der
view
Funktion, die eine Bedingung enthält. Auf diese Weise können Sie nur dann einen DNS abfragen und eine Antwort zu internen IP-Adressen erhalten, wenn Sie eine Frage zu Ihrer eigenen internen IP-Adresse stellen.Das Setup erfordert zwei Zonen. Die Auswahl verwendet die
match-clients
. Hier ist ein Beispiel für die Einrichtung eines Two-in-One-DNS-Servers mit BIND9 :Hier ist die externe Zone und wir können sehen, dass IPs nicht privat sind
In Bezug auf die interne Zone wird zunächst die externe Zone einbezogen, wie dies funktioniert. Wenn Sie also ein interner Computer sind, greifen Sie nur auf die interne Zone zu, sodass Sie weiterhin die Definitionen der externen Zone benötigen, daher der
$include
Befehl:Schließlich müssen Sie sicherstellen, dass jetzt alle Computer diesen DNS und seine Slaves verwenden. Unter der Annahme eines statischen Netzwerks würde dies bedeuten, dass Sie Ihre
/etc/network/interfaces
Datei bearbeiten und Ihre DNS-IPs in dernameserver
Option verwenden. Etwas wie das:Jetzt solltest du fertig sein.
quelle