Fragen zu NAT & dessen Sicherheit?

Ich habe mich in letzter zeit sehr stark mit der Funktion von Netzen und des Internets beschäftigt, dabei bin ich auf die NAT (ipmasquerading) technik gestoßen.

Wenn ich das richtig verstanden habe:
Wenn in einem Netz ein Prozess auf einem der Clients nach außen will, sendet es die Daten an den Router, welcher wiederrum das Paket an den Server weiterleitet.
Hinzugefügt wird das Antwortport, auf dem die Antwort des Servers zurückkommen muss, anhand dieser Portnummer wird der Client im Netz identifiziert.

Also im Prinzip, Bindung der LanIP an ein Port.

Frage 1: Demnach können ja maximal ca. 65000 Clients in einem Netz sein, ich kann mir aber vorstellen, dass es größere Netz gibt (z.B. Klasse A Netze) - wie wird das dann gelöst? Mehrere Zugangsstellen zum ISP?

Frage 2: (Wie) Ist es möglich in einem Netz 2 nach außen hin verfügbare FTP Server laufen zu lassen, denen man z.b. 2 Domains zuweist.

Wenn ich jetz noch im Router alle Ports außer z.b. 20,21,80,81 blockiere (von außen reinzu) was ja für ein privates Netz nichts ungewöhnliches wäre.
Und in dem Netz weder HTTP noch FTP Server laufen lassen würde.

Frage 3: Wie ist es überhaupt möglich an einem Router und somit NAT vorbei einen bestimmten Client im Netz anzugreifen, geht das überhaupt?
-> NAT Port Nummer ist ja nach außen hin unbekannt und bei jeder Anfrage zufällig, nur der Router weiß welcher PC dahinter steckt

Exploits u.ä. werden dadurch doch komplett entschärft, oder? Da man mit der IP ja nich sehr viel anfangen kann. (wie gesagt - vorrausgesetzt es laufen keine Server)

PS: Sorry, ich hab mich im Forum etwas vertan... wollte zuerst nur nach Frage 3 fragen... mir is dann aber mehr eingefallen ^^ --> event. verschieben
 
RE: Fragen zu NAT?

Original von boehmi

Frage 2: (Wie) Ist es möglich in einem Netz 2 nach außen hin verfügbare FTP Server laufen zu lassen, denen man z.b. 2 Domains zuweist.

Ja, das ist imho möglich, denn beim Aufbau einer FTP-Verbindung wird der Hostname vom Client an den Server übermittelt.
 
die Frage ist eher, wie findet z.B. der DNS server
von ftp1.beispiel.de nach 111.111.111.111 - client 192.168.8.1
und ftp2.beispiel.de nach 111.111.111.111 - client 192.168.9.1
 
also sendet der Client sozusagen an 111.111.111.111:21, "ey hier, pass mal auf ;) ich will ne FTP Verbindung zu ftp1.beispiel.de"

aber woher weiß der Router den DNS name?

und wie wird das gelöst, dass sie sich nich beide an Port 21 binden?
 
zu 1)
In solchen Netzen braucht man kein NAT.
NAT ist u.a. aus der Not des beschraenkten IP Vorrats entstanden. Theoretisch wird mit IPv6 keiner mehr
NAT brauchen weil jeder genug IPs bekommen koennte.
Auch dann wird NAT allerdings nicht "sterben" weil es immer noch Dinge gibt wo es sinn machen wird (Redirecting, load balancing)

2)
Die Antwort ist IP basiertes Portforwarding (Details kannste ueber google rausfinden)
und dafuer musst du noch tiefer in die Materie einsteigen.
Fuer die Praxis kannst du dir IPTables (linux) oder PF (*BSD) anschauen.

3)
Es wird ja die Payload nicht geaendert.
NAT ist kein Packetfiltering.

also sendet der Client sozusagen an 111.111.111.111:21, "ey hier, pass mal auf Augenzwinkern ich will ne FTP Verbindung zu ftp1.beispiel.de"

aber woher weiß der Router den DNS name?

und wie wird das gelöst, dass sie sich nich beide an Port 21 binden?
Solche Router koennen an ihrem Interface zum Internet hin mehrere (virtuelle) IPs verwalten.
Es ist zwar port 21 auf, aber aufgrund der angesprochenen (externen)IP kann der Router entscheiden
an welchen Server im internen Netz weitergeroutet werden soll.
Den "DNS Namen" braucht ein Router nicht zu wissen. Diese Namen haben nur fuer uns Menschen einen Sinn. Die Maschinen im Netz koennen damit nichts anfangen (Details dazu -> DNS).
 
Frage 3: Wie ist es überhaupt möglich an einem Router und somit NAT vorbei einen bestimmten Client im Netz anzugreifen, geht das überhaupt?

wie man mithilfe kaputter protokolle durch so ein nat hindurch verbindungen zu client rechnern aufbauen kann hab ich vor einiger zeit in einem wiki artikel festgehalten. dank des wikimasters NeonZero sieht der artikel auch noch gut aus. :)
http://wiki.hackerboard.de/index.php/PAT-Angriff_auf_Computer_hinter_einer_externen_Firewall
im habowiki gibts einige ausfuehrliche artikel zum thema firewalls.
 
Original von Gulliver
Den "DNS Namen" braucht ein Router nicht zu wissen. Diese Namen haben nur fuer uns Menschen einen Sinn. Die Maschinen im Netz koennen damit nichts anfangen (Details dazu -> DNS).

Ist eigentlich offtopic, aber bei manchen Dingen finden die Host-Names auch noch einen weiteren Sinn, ausser uns Menschen das Einprägen von Adressen zu erleichtern, z.B. enthält seit HTTP 1.1 ein HTTP-Request immer den Hostnamen. So können mehrere Sites mit verschiedenen Domains von einem Server verwaltet werden.

cya xsheep
 
@xsheep

Stimmt natuerlich :)

Ich war mit meinen Gedanken auch eher beim routing ;)
 
Zurück
Oben