Linux-Firewalls Teil 8 – Network-Address Translation

in #steemstem7 years ago

(html comment removed: [if gte mso 9]> Normal 0 21 false false false DE X-NONE X-NONE MicrosoftInternetExplorer4 <![endif])(html comment removed: [if gte mso 9]> <![endif])(html comment removed: [if gte mso 10]> <![endif])(html comment removed: [if gte mso 9]> <![endif])(html comment removed: [if gte mso 9]> <![endif])

Nachdem die Geschichte der Firewalls, Paketfilter und Proxys beleuchtet wurden, wird in diesem Beitrag die Network-Address Translation(NAT) als Element zum Schutz eines Systems behandelt. In diesem Artikel wird der eigentliche Hintergrund und Funktionsweise einer NAT behandelt, anschließend wird näher auf den Source-NAT und Destination-NAT eingegangen und ein kurzer Ausblick auf den nächsten großen Themenblock geworfen.

Was ist der Sinn hinter dem Network-Address Translation?

Ursprünglich wurde die NAT als Antwort auf die beschränkte Anzahl an Adressen im Internet entwickelt. Bei einer NAT wird vielen Rechnern die Möglichkeit gegeben über eine einzelne Adresse zu kommunizieren.

Wie funktioniert ein NAT?

Eine vereinfachte Darstellung eines Routers mit NAT-Tabelle.

Hierfür wird eine NAT auf einem Router oder einer Firewall installiert, wodurch es den dahinter liegenden Rechnern ermöglicht wird nach außen über dieses System zu kommunizieren. Hierzu wird ein eindeutiger ungenutzter lokaler Port genutzt, über welchen die Kommunikation des Rechners in das Internet abgewickelt wird. Um die Kommunikation zu verwalten werden Informationen über die verwendeten Ports, IP-Adressen und die Verbindungen in einer Tabelle gespeichert. Erreicht ein Antwortpaket die Firewall oder den Router liest die NAT das echte Ziel aus der Tabelle aus und leitet es an den entsprechenden Rechner weiter.

Der Source-NAT


Verhalten eines Source-NAT nach beenden der Verbindung.

Da nur eine beschränkte Anzahl von lokalen Ports vorhanden ist, wird ein Source-NAT durchgeführt. Dieser findet entweder nach Beendigung der Verbindung oder nach dem Ablauf einer vorgegeben Zeit statt. Bei einem Source-NAT wird die Quelladresse(Rechner hinter dem Router) ausgetauscht und die Informationen aus der Tabelle entfernt. Man nennt diesen Vorgang auch das natten einer Verbindungsquelle.

Der Source-NAT als Sicherheitsfunktion

Die Natur des Source-NAT bietet seine Verwendung als Sicherheitsfunktion an. Sobald die Verbindung genattet wurde ist es nicht mehr möglich von außen auf das System hinter dem Router oder der Firewall zuzugreifen. Grund hierfür ist, dass die IP-Adresse des Rechners nach dem löschen der Verbindungsinformationen nicht mehr zugeordnet werden können und so für einen externen Kommunikationspartner kein Zugriff mehr möglich ist. Einzige Ausnahme von diesem System ist ein sogenannter Destination-NAT.

Der Destination-NAT


Verhalten eines Destination-NAT nach beenden der Verbindung.

Es ist möglich den Source-NAT durch einen Destination-NAT zu verhindern. Bei einem Destination-NAT handelt es sich um einen Eintrag in der NAT-Tabelle, der Pakete an eine bestimmte IP/Port-Kombination weiter in das innere System leitet. Wird die Verbindung beendet, wird die Zieladresse(Kommunikationspartner) ausgetauscht.

Sicherheitsprobleme des Destination-NAT

Grundsätzlich ist ein Destination-NAT aus einem Sicherheitsaspekt kritisch zu sehen. Dieser erlaubt es durch die Firewall auf das interne System zuzugreifen. Um eine Gefährdung des Gesamtsystems zu vermeiden, sollten die betroffenen Systeme zusätzlich isoliert werden. Hierfür werden diese Systeme in einer Demilitarisierten Zone(DMZ) positioniert. Diese wird im nächsten Themenblock behandelt. Verwendet wird der Destination-NAT z.B. für Websites.

Quelle:

- Ralf Spenneberg – Linux-Firewalls, Sicherheit für Linux-Server und –Netzwerke mit IPv4 und IPv6 2 Auflage

- Bild: @satren

Aussicht auf weitere Beiträge

In den nächsten Teilen der Linux-Firewall Reihe wird die Architektur einer Firewall näher beleuchtet, bevor verschiedene Bedrohungen behandelt werden. Im Anschluss werden Iptables als Schwerpunkt einer Linux-Firewall näher behandelt.

Bisherige Beiträge:

Sort:  

NAT wurde ja ursprünglich nur erfunden um die Limitierung der IP-Adressen aufzuheben. Der Sicherheitsaspekt ist mehr eine Nebenerscheinung .-). Ich selbst denke, NAT macht eigentlich nichts anderes ein Masquerading. Einige setzen NAT mit einer Firewall gleich. Das ist natürlich falsch.

NAT ist das gleiche wie Router, sie sind eingentlich nicht als Firewall-Technologie entwickelt worden, bieten sich aber an als solche verwendet zu werden.

Die meisten Systeme werden heutzutage nur durch einen Paketfilter und einen NAT geschützt, weshalb die Gleichsetzung von NAT und Firewall durchaus verständlich ist.

Der Unterschied zwischen einer Firewall und NAT sind schon vom Konzept her gegeben. Heute wird das alles durcheinander gewürfelt. Ein Paketfilter kann nichts anderes, als wie es der Name schon sagt, Pakete filtern (drop, recejct, accept). Eine Firewall (Hardware-Firewall) ist eine eigenständige logische Komponente, installiert auf eigener Hardware, die das komplette Netzwerk schützt, ohne selbst Bestandteil davon zu sein. Hier, dieser Junge hat es auf den Punkt gebracht, warum NAT und Firewall nicht das selbe sind:
https://stutech-help.stanford.edu/hc/en-us/articles/360000455443-Difference-between-NAT-vs-Firewall

Bei der Hardware-Firewall gebe ich dir recht, wobei ich eine Firewall eher als ein Konzept sehe. Bestehend aus der Firewall-Architektur(Hardware-Wallet) und der darauf installierten Software(Paketfilter, Proxies und NAT).

Ein NAT bietet sich als Teil des Firewall-Konzeptes an, da er im Normalfall auf dem Router installiert ist, welcher für 90% aller Netzteilnehmer die Wahl der Hardware-Firewall ist.



This post has been voted on by the SteemSTEM curation team and voting trail. It is elligible for support from @curie.

If you appreciate the work we are doing, then consider supporting our witness stem.witness. Additional witness support to the curie witness would be appreciated as well.

For additional information please join us on the SteemSTEM discord and to get to know the rest of the community!

Please consider setting @steemstem as a beneficiary to your post to get a stronger support.

Thanks for having used the steemstem.io app. You got a stronger support!

Coin Marketplace

STEEM 0.04
TRX 0.32
JST 0.082
BTC 60666.80
ETH 1563.25
USDT 1.00
SBD 0.47