![Funktioniert STUN auf den meisten NATs?](https://rvso.com/image/668765/Funktioniert%20STUN%20auf%20den%20meisten%20NATs%3F.png)
Ich habe das STUN-Protokoll eine Zeit lang weitgehend ignoriert, weil es störend war, aber ich stoße immer wieder hier und da darauf und frage mich, wie nützlich es im Allgemeinen ist.
Wenn ich es richtig verstehe, ist STUN nur dann nützlich, wenn das äußerste NAT andere von addr:port
einem Paar gesendete Pakete zulässt als das, was die Quelle beim Erstellen der Zuordnung verwendet hat.
Ich hatte offensichtlich die irrtümliche Annahme, dass ein vernünftiges NAT nur Pakete desselben Paars zurücklässt, addr:port
zu dem eine Verbindung hergestellt wurde (Endpoint-Dependent Filtering). Dies nicht durchzusetzen, scheint an und für sich ein ernstes Sicherheitsproblem zu sein. Darauf ganze Protokolle und RFCs aufzubauen, erscheint verrückt.
Fragen:
- Gibt es wirklich viele NATs, die nur Endpunkt-unabhängiges Filtern durchführen?
- Gibt es einen guten Grund für die Verwendung einer endpunktunabhängigen Filterung auf einem NAT, abgesehen davon, dass es faul ist, die dahinter liegenden Systeme gefährdet und zusätzliche Kosten für eine „P2P-freundliche“ Funktion verursacht?
Antwort1
NAT ist nicht als Sicherheitsfunktion gedacht - es ist ein Hack, um zu verhindern, dass die IPv4-Adressen ausgehen, als Überbrückung, bis IPv6 vollständig implementiert ist. Daher ist es sinnvoll, es auf eine Weise zu implementieren, die den Nutzen und nicht die Sicherheit maximiert.
Daher ist die Prämisse Ihrer Frage Nr. 2 falsch, da NAT nicht als Sicherheitsvorrichtung gedacht ist. Wenn die Erzwingung, dass der Remote-Endpunkt immer derselbe ist, auch nur eine Anwendung unterbricht, halte ich es angesichts der Ziele der Technologie für vernünftiger, nicht denselben Remote-Endpunkt zu erzwingen.
Peer-to-Peer-IP-Telefonie (wie etwa Skype) wäre ein bemerkenswertes Beispiel für eine legitime Anwendung, die ohne die Möglichkeit, Löcher in NATs zu schlagen, nicht gut funktionieren würde, sei es durch STUN oder ähnliche Technologien, die das Verhalten von NATs ausnutzen, oder durch Technologien wie UPnP.