Frage:
Müssen wir mit IPv6 NAT nicht mehr verwenden?
キツネ
2013-10-18 22:40:39 UTC
view on stackexchange narkive permalink

Ich frage mich, wie NAT mit IPv6 verwendet werden soll. Scheint, dass Sie es nicht einmal mehr brauchen. Was genau ist das Konzept hinter Firewall-Konfigurationen in IPv6-Umgebungen?

Siehe auch [Zu IPv6 wechseln und NAT loswerden? Machst du Witze?] (Http://serverfault.com/q/184524/126632) und [RFC 4864] (http://tools.ietf.org/html/rfc4864).
Sieben antworten:
Tom Leek
2013-10-18 23:56:08 UTC
view on stackexchange narkive permalink

Es gibt einige weit verbreitete Verwirrung über NAT.

NAT war nie als Sicherheitsfunktion gedacht. Es kommt jedoch vor, dass in den meisten Fällen (nicht allen), wenn ein Computer nur über NAT auf das Internet zugreifen kann, der Computer irgendwie "geschützt" ist. Es ist, als wäre das NAT-System von Natur aus auch eine Firewall.

Mal sehen, wie es funktioniert:

  • Ein IP-Paket hat eine Quell- und eine Zieladresse. Jeder Router entscheidet, nachdem er die Zieladresse gesehen hat, an welchen nachfolgenden Router das Paket gesendet werden soll.
  • Wenn ein Router NAT implementiert, leitet er ausgehende Pakete unter einem Deckmantel weiter. Die Pakete tragen nämlich die externe IP des Routers als Quelladresse, nicht die eigentliche Quelle. Bei eingehenden Paketen führt der Router den umgekehrten Vorgang aus. Die TCP / UDP -Portnummern werden verwendet, um zu wissen, auf welchen internen Host sich die Pakete beziehen.
  • Aus Sicht des Routers haben die internen Hosts jedoch (privat) IP-Adressen, die direkt erreichbar sind. NAT dient zur Kommunikation zwischen den internen Hosts und Computern jenseits des Routers.

Nehmen wir ein Beispiel:

  Inner <- --> HomeRouter < --- > ISPRouter < --- > Das Internet  

"Inner" ist Ihr PC. "HomeRouter" ist der Router, der das NAT ausführt. "ISPRouter" ist der Router bei Ihrem ISP.

Der "Firewall-Effekt" ist folgender: normalerweise , auch wenn "Inner" geöffnet ist Port (es wird ein remote erreichbarer Dienst ausgeführt, z. B. ein lokaler Webserver auf Port 80), Personen aus dem "Internet" können keine Verbindung herstellen. Der Grund ist folgender: Es gibt zwei Möglichkeiten, wie ein IP-Paket von HomeRouter an Inner übertragen werden kann:

  • Ein eingehendes Paket enthält möglicherweise die Adresse von HomeRouter als Ziel und zielt auf einen Port ab, von dem HomeRouter weiß, dass er mit einer ausgehenden Verbindung von Inner zu einem beliebigen Ort im Internet verbunden ist. Dies funktioniert nur für eine Verbindung, die von Inner initiiert wurde. Dies bedeutet, dass der Port nicht mit dem des Servers übereinstimmt, der auf Inner ausgeführt wird.

  • Ein IP-Paket enthält Inner's private IP-Adresse als Ziel und wird HomeRouter irgendwie zur Kenntnis gebracht. ISPRouter kennt jedoch die private IP von Inner nicht und würde ein für diese Adresse bestimmtes IP-Paket nicht an HomeRouter weiterleiten. Quellrouting kann verwendet werden, um ein Paket mit der privaten IP-Adresse von Inner als Ziel und der öffentlichen IP-Adresse von HomeRouter als Zwischenhost zu kennzeichnen. Wenn ISPRouter das Quellrouting unterstützt, erreicht ein solches Paket unabhängig von NAT Inner. Es kommt also vor, dass fast kein ISP tatsächlich das Quellrouting unterstützt.

Daher beruht der "Firewall-Effekt" von NAT auf zwei Eigenschaften:

  • Angreifer sind weit : Angreifer injizieren keine Pakete direkt auf die Verbindung zwischen dem Heimrouter und dem ISP. Alle ihre Versuche müssen über die ISP-Router erfolgen.
  • ISP erlaubt kein Quell-Routing . Dies ist der (sehr) häufige Fall.

In der Praxis gibt es also viele Maschinen in Privathaushalten und kleinen Unternehmen, in die gehackt werden könnte eine Frage von Sekunden, außer dass sie vom "Firewall-Effekt" von NAT profitieren.


Was ist also mit IPv6? NAT wurde entwickelt und bereitgestellt ( weit verbreitet bereitgestellt), um mit der Knappheit an freien IPv4-Adressen fertig zu werden. Ohne NAT hätte die IP-Kalypse bereits die Zivilisation zerstört (oder möglicherweise die tatsächliche Nutzung von IPv6 ausgelöst). IPv6 verwendet 128-Bit-Adressen anstelle der mageren 32-Bit-IPv4-Adressen, damit keine groben Problemumgehungen wie NAT verwendet werden müssen.

Sie können NAT mit IPv6 verwenden, aber es macht wenig Sinn - wenn Sie mit NAT leben können, warum sollten Sie überhaupt zu IPv6 wechseln?

Ohne NAT gibt es jedoch keinen "Firewall-Effekt" , fadenscheinig wie es sein könnte. Die meisten Betriebssysteme sind jetzt IPv6-fähig und verwenden es automatisch, wenn die Möglichkeit dazu besteht. Wenn ein ISP beschließt, IPv6 einfach so einzuschalten, sind viele Computer, die bisher hinter einem NAT "versteckt" waren, von außen erreichbar. Dies könnte zu einer weltweiten Hacking-Orgie werden. Es ist kein Wunder, dass ISPs etwas ... zurückhaltend sind.

Um zu IPv6 gut zu wechseln, müssen Sie die Aktivierung mit einigen soliden, gut durchdachten Firewall-Regeln koppeln, die verhindert eingehende Verbindungen, die in einer NAT-Welt nicht möglich waren (mit den oben erläuterten Einschränkungen), aber jetzt dank der Magie von IPv6 möglich sind. Das operative Wort hier ist "denken": Dies wird einige Zeit von einigen Leuten erfordern, und das ist nicht kostenlos.

Es kann also vorausgesagt werden, dass IPv4 verwendet und gewartet wird, solange es toleriert werden kann. und dank NAT und transparenten Proxys wird dies eine lange Zeit sein (insbesondere wenn es uns gelingt, die menschliche Bevölkerung unter 10 Milliarden zu halten).

Es gibt immer noch sehr wenig IPv6-Unterstützung in Heimroutern. Die wenigen, die ich gesehen habe und die dies unterstützen, haben auch eine eingehende Firewall, die standardmäßig verweigert wird.
Ich lehne ab "Sie können NAT mit IPv6 verwenden, aber es macht wenig Sinn". Wenn Sie BCP38 möchten, müssen Sie SNAT ausführen, um ICMP in zulässigen Bereichen zu halten. Andernfalls würden Sie es für Urheber ausländischer AS löschen, die in Ihrem Netzwerk leben, da diese möglicherweise legal ":: 0/0" übertragen, wodurch BCP38 ungültig wird. Nun, ich bin immer noch nicht überzeugt, IPv6-IPv6 NAT funktioniert hier überhaupt, aber wir werden sehen.
Das Schwierige sind nicht die tatsächlichen Firewall-Regeln.Die Regeln für den weitergeleiteten Datenverkehr können in drei ip6tables-Befehlen zusammengefasst werden (Standardverweigerung, von lokal zulassen, hergestellt / verwandt zulassen).Wenn Sie auch den lokalen Verkehr zum / vom filtern möchten, wird dies aufgrund von ICMPv6 etwas komplizierter, aber es ist immer noch nicht schrecklich.Das größere Problem ist, was passiert, wenn Ihr Firewall-Skript überhaupt nicht ausgeführt werden kann.Bei NAT stellen Sie fest, dass Ihre Internetverbindung unterbrochen ist. Bei einer nicht natürlichen Firewall werden Sie wahrscheinlich weit offen gelassen.
Dies kann gemindert werden, indem die IP-Weiterleitung erst aktiviert wird, wenn das Firewall-Skript erfolgreich ausgeführt wurde. Dies ist jedoch leicht zu übersehen.
Carl
2016-07-18 00:49:57 UTC
view on stackexchange narkive permalink

Das größte Problem beim Entfernen von NAT ist für mich die Einschränkung der Privatsphäre. Mit IPv6 stelle ich fest, dass alle meine LAN-Geräte eine eindeutige öffentliche IPv6-Adresse haben, mit der jedes Gerät in einem LAN eindeutig identifiziert werden kann. Dies ermöglicht dann eine einfachere Identifizierung einzelner Geräte und Benutzer.

Auswirkungen auf den Datenschutz wie die Möglichkeit, Ihre Aktivitäten domänenübergreifend zu verfolgen. Anzeigenanbieter führen diese Art der Nachverfolgung offensichtlich bereits mit Cookies durch, aber das Entfernen von NAT erleichtert die Nachverfolgung eines einzelnen Geräts.

Haben Sie die IPv6-Datenschutzerweiterungen auf Ihren Geräten nicht aktiviert?
IPv6-Datenschutzerweiterungen bieten standardmäßig eine neue IP-Adresse pro Tag.Dies ist keine Privatsphäre, dies ist ein schlecht ausgeführter nachträglicher Gedanke der Privatsphäre.
Dann konfigurieren Sie es wie Sie möchten, jede Minute neue IP?
@WilliamEntriken Sie geben dem Tool die Schuld, weil Sie es nicht richtig verwenden?
Das Tool lautet "Leute in meinem Haus öffnen ihre Geräte und nutzen das Internet".So benutzen Menschen ihre Werkzeuge.Es ist für mich nicht vernünftig zu erwarten, dass jede Person in meinem Haus / Geschäft ihre IP-Erneuerungseinstellungen neu konfiguriert, um zu umgehen, wie schlecht IPv6 entwickelt wurde.
Peter Green
2018-03-25 08:11:44 UTC
view on stackexchange narkive permalink

Hinweis: Bei den Details dieser Antwort wird davon ausgegangen, dass Sie eine Linux-Box als Firewall verwenden. Wenn Sie eine andere Plattform verwenden, können die Details variieren, aber die meisten Prinzipien sollten weiterhin gelten.

Ich frage mich, wie NAT mit IPv6 verwendet werden soll.

Nat für ipv6 wird von der IETF dringend abgeraten. Trotzdem gibt es Implementierungen, wenn Sie es wirklich wollen. Zum Beispiel hat Linux es in Version 3.7 hinzugefügt.

Die Linux-Implementierung funktioniert im Wesentlichen genauso wie die Linux-NAT-Implementierung für IPv4. Ich kann nicht mit anderen Implementierungen sprechen.

Scheint, dass Sie es nicht einmal mehr brauchen.

Benutzer verwenden NAT aus verschiedenen Gründen.

  1. Adressverfügbarkeit, sie möchten mehr Adressen für interne Hosts als öffentliche Adressen.
  2. Adressunabhängigkeit: Sie möchten ihre internen Adressen unabhängig von Änderungen an ihrer Konnektivität beibehalten.
  3. Datenschutz, sie möchten die Details ihres internen Netzwerks verbergen und von welchem ​​internen Host die Anfrage von der Außenwelt gestellt wird.
  4. Sicherheit, ein NAT agiert letztendlich als Rohöl Stateful Firewall (obwohl es möglicherweise keine sehr gute ist). Darüber hinaus ist es wahrscheinlich, dass das Schließen fehlschlägt. Wenn die NAT-Regeln nicht geladen werden können, ist das wahrscheinliche Ergebnis das Fehlen einer Konnektivität anstelle einer weit geöffneten Konnektivität.
  5. ol>

    Ebenso hat NAT eine Reihe von Nachteilen ( und zumindest einige dieser Nachteile haben Auswirkungen auf die Sicherheit.

    1. Einige Protokolle werden möglicherweise vom NAT unterbrochen (dies gilt jedoch möglicherweise auch für Stateful Firewalls).
    2. Jede Verbindung muss nachverfolgt werden und es gibt nur eine begrenzte Anzahl von Ports. Dies kann zu Denial-of-Service-Schwachstellen führen.
    3. Wenn Missbrauch erkannt wird, kann NAT die Quelle des Missbrauchs verbergen.
    4. Behandlung von eingehenden Diensten kann problematisch sein. Der Zugriff lokaler Clients auf externe IP-Adressen kann ein besonderer Komplexitätspunkt sein.
    5. ol>

      Ipv6 behebt den Adressengpass. Es löst das Problem der ISP-Unabhängigkeit, indem Sie öffentliche und private Adressen parallel ausführen können (dies führt jedoch zu eigenen Problemen). Datenschutzerweiterungen verbergen, auf welchem ​​Computer in einem Subnetz eine Anfrage gestellt wird, verbergen jedoch nicht, in welchem ​​Subnetz sie sich befinden.

      Was genau ist das Konzept hinter Firewall-Konfigurationen in IPv6-Umgebungen?

      Sie können Stateful Packet Filtering ohne NAT durchführen, z. B. eine grundlegende Konfiguration, um dies zu ermöglichen Alle ausgehenden Verbindungen, während eingehende Verbindungen verboten sind, sehen möglicherweise ungefähr so ​​aus.

        ip6tables -P FORWARD DROPip6tables -A FORWARD -i ethinternal -j ACCEPTip6tables -A FORWARD -m conntrack –ctstate ESTABLISHED, RELATED -j ACCEPT  

      Die Firewall verfolgt Verbindungen immer noch auf die gleiche Weise wie ein Nat, verwendet diese Informationen jedoch nur zum Filtern von Paketen und nicht zum Durchführen von Übersetzungen.

      Eine Sache Sie müssen darauf achten, dass Ihre Firewall nicht geschlossen wird. Ich würde vorschlagen, dass Sie die Weiterleitung NICHT in sysctl.conf aktivieren, sondern am Ende Ihres Firewall-Skripts aktivieren und "set -e" in Ihrem Firewall-Skript verwenden. Auf diese Weise wird die Weiterleitung nur aktiviert, wenn das Firewall-Skript erfolgreich ausgeführt wird.

      Wenn Sie auch den Datenverkehr zur / von der Firewall selbst filtern möchten, müssen Sie über ICMP nachdenken. Einige Arten von ICMP müssen von der lokalen Verbindung zugelassen werden, sonst bricht das Netzwerk stark zusammen.

      Abgesehen davon unterscheidet es sich nicht wesentlich von ipv4. Entscheiden Sie, was Sie zulassen möchten, und lassen Sie es zu.

mricon
2013-10-18 22:48:57 UTC
view on stackexchange narkive permalink

NATs sind nicht wirklich magisch sicherer als öffentliche Adressen (und haben aufgrund der Art der Adressübersetzung viele eigene böse Warzen). Um zu Ihrer privaten IPv4-Adresse weiterzuleiten, muss ein Angreifer lediglich auf Ihren Router zeigen, und dann liegt es ganz bei der Firewall, diesen Datenverkehr herauszufiltern.

Der Wechsel zu IPv6 ändert daran nichts Beachten Sie, dass Ihr gefiltertes Subnetz nicht nur von Angreifern, sondern von der Welt geleitet werden kann. Alles andere bleibt gleich - wenn Sie ein IPv6-Subnetz einschränken müssen, unterklassifizieren Sie Ihr / 64 und wenden Firewall-Regeln an, um herauszufiltern, welcher Datenverkehr darauf zugreifen darf.

Lodewijk
2013-10-20 00:13:46 UTC
view on stackexchange narkive permalink

NAT ist eine Technik, mit der ein Router den über ihn verbundenen Hosts die Freigabe einer einzelnen IP-Adresse ermöglichen kann.

Der Router verfolgt, welche Hosts Verbindungen haben, und Hosts können verlangen, dass bestimmte Daten an sie weitergeleitet werden. Bei Spielen wird beispielsweise normalerweise die Umleitung des UDP-Datenverkehrs an einem bestimmten Port angefordert.

Umgekehrt wird jedes Paket verworfen, das anscheinend nicht für jemanden bestimmt ist, den der Router kennt (wie ein Brief ohne lesbare Adresse). Dadurch funktioniert es wie eine Firewall.

IPv6 hat praktisch unbegrenzte Adressen, und Haushalte / Router werden wahrscheinlich viel zu verteilen haben. NAT wird nicht mehr benötigt.

Dadurch wird der Firewall-Effekt entfernt. Es wird wahrscheinlich durch geeignete Firewalls ersetzt, die ebenso restriktiv wie ärgerlich sind, um dummen Endbenutzern eine ähnliche Sicherheit zu bieten. Richtige Firewalls zu haben, ist ein großer Schritt voraus, und ich hoffe, dass dies eher früher als später geschieht.

Terry Horridge
2019-08-14 03:32:51 UTC
view on stackexchange narkive permalink

IPv6 macht Ziel-NAT für eingehende Verbindungen überflüssig und liefert sie stattdessen an Hosts auf der lokalen Verbindung mit intakter (öffentlicher) Zieladresse. Nach außen gerichtete Router geben allen internen Hosts extern verfügbare Präfixe bekannt, und dann können Hosts Adressen mit diesen Präfixen zu ihren Schnittstellen auf der lokalen Verbindung hinzufügen, um die eingehenden Verbindungen zu empfangen.

Ich bin nicht davon überzeugt, dass wir haben die Notwendigkeit von Quell-NAT für ausgehende Pakete beseitigt. Die Standardeinstellung scheint zu erfordern, dass der Client sich auf die gleiche Weise eine öffentliche Adresse zuweist und diese der Außenwelt unter Verwendung derselben Host-ID wie die lokalen Linkadressen zur Verfügung stellt.

Nun, das tut mir leid gibt private Informationen an das öffentliche (nicht vertrauenswürdige) Internet weiter, was in meinem Buch einen Verstoß gegen die Vertraulichkeit darstellt - eine der drei Säulen der Sicherheit, wie wir sie heute verstehen.

Ich glaube, NAT sollte daran gewöhnt sein Übersetzen Sie den privaten Teil der Quelladresse (Routing-Präfix, Host-ID und Port) in einen zufälligen Wert auf einer beliebigen Firewall, die die Grenze zwischen dem öffentlichen Internet und einem privaten Netzwerk schützt.

Ich strecke hier meinen Hals raus, aber die IPV6-Architekten tun sich keinen Gefallen, indem sie versuchen, NAT rauszuwerfen.Der Rat in Blogs wie diesem: internetsociety.org/blog/2015/01/… zeigt der Community an, dass die IETF die Sicherheit nicht versteht.Das ist die allgemeine Meinung unter Sicherheitsexperten - IPv6 ist in seiner jetzigen Form ein schwarzes Sicherheitsloch.
https://www.internetsociety.org/blog/2015/01/ipv6-security-myth-3-no-ipv6-nat-means-less-security/ Ist der abgeschnittene Link im obigen Kommentar
Beim zweiten Gedanken denke ich, dass es auf allen Perimeter-Firewalls sein sollte.Das Senden des Verbindungsstatus zwischen Firewalls ist eine triviale Ergänzung zu den Daten, die Sie in jedem Fall über den gesamten Umfang hinweg teilen müssen.
Bearbeitet, um den Umfang in größeren Netzwerken zu verdeutlichen
Terry Horridge
2019-08-15 17:23:19 UTC
view on stackexchange narkive permalink

Das grundlegende Problem, das die Internetarchitekten mit NAT unwohl macht, ist, dass es im Widerspruch zum End-to-End-Prinzip zu stehen scheint. Dies bedeutet im Grunde, dass Router der Zwischenschicht 3 den Verbindungsstatus der Schicht 4 ignorieren sollten, damit Pakete effizient über alternative Routen weitergeleitet werden können. NAT ist jedoch im Kontext einer Stateful Firewall einfach zu implementieren, und so sollte es betrachtet werden.

Der Bedarf an Firewalls wurde deutlich, als sich das Internet Ende der 80er Jahre seinem 20. Geburtstag näherte. Heutzutage müssen alle Daten, die in ein privates Netzwerk ein- und ausgehen, eine Firewall passieren, die den Verbindungsstatus verfolgen muss, um Pakete effektiv filtern zu können.

Obwohl dies überhaupt nicht klar war Wenn Sie 1994 die Anforderung zur Wiederverwendung von Adressen aufheben, ist NAT eine Firewall-Funktion, deren Hauptzweck darin besteht, zu verhindern, dass private Daten das private Netzwerk verlassen.

Insbesondere wenn ein Client eine Verbindung zu einem externen Server herstellt, Der private Teil der Quelladresse (Routing-Präfix, Host-ID und Port), der im privaten Netzwerk verwendet wird, darf niemals in ein externes Netzwerk gelangen.

Das Linux Ip6tables NAT ist seit der Kernel-Version verfügbar 3 und macht einen durch und durch professionellen Job, z durch die Erstellung eindeutiger zufälliger Hostadressen, die nur für eine einzelne Sitzung gültig sind.

Leider wurde diese Funktion nicht vollständig dokumentiert, da niemand einen Anwendungsfall gefunden hat! Nun, hier ist es. Und wenn Sie schon dabei sind, können Sie auch sicherstellen, dass Portnummern enthalten sind.

Auf diese Weise muss die Firewall den Status halten, und NAT wird von der Firewall ausgeführt. Es gab also noch nie einen NAT-Router. Das End-to-End-Prinzip gilt nicht.

Ich denke, die Lehre ist, dass Internetarchitekten beim Entwerfen von Internetprotokollen bleiben und das Firewall-Design Sicherheitsarchitekten überlassen sollten.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...