Firewall Begriffsdefinitionen

Aus xinux.net
Zur Navigation springen Zur Suche springen

n.


Quality of Service

Jedes IP-Paket enthält ein Feld, daß die Priorität des Pakets angibt, das sogenannte Quality of Service Feld (abgekürzt QoS). Erreichen einen Router mehr Pakete als er gleichzeitig verarbeiten kann, wird die Verarbeitungsreihenfolge durch Hilfe dieses QoS-Feldes festgelegt: Als erstes werden Pakete mit hoher Priorität abgearbeitet, dann folgen die niedrigeren Prioritäten. Das QoS-Feld eines Pakets kann modifiziert werden, so lassen sich z.B. bestimmte Paket bevorzugt behandeln.


Haben die Rechner des eigenen Netzes nicht registrierte IP-Adressen (aus einem der für lokale Netze reservierten Klasse A,B oder C), sind direkte Verbindungen ins Internet nicht möglich, da diese von den Routern nicht weitergeleitet werden.

Diese nur lokal gültigen Adressen müssen also durch offizielle IP-Adressen ersetzt werden. Dieser Vorgang nennt sich Network Adress Translation (NAT) oder Masquerading.

Hier ersetzt der Rechner mit der Verbindung ins Internet alle ankommenden Pakete aus dem LAN mit seiner eigenen, gültigen IP-Adresse. Informationen über die einzelnen maskierten Verbindungen werden in Routingtabellen gespeichert, um anschließend ankommende Pakete, die für das interne Netz bestimmt sind (von aus dem LAN initiierten Verbindungen), wieder zu demaskieren.

Während beim normalen NAT m lokale Adressen auf n offizielle maskiert werden (m:n Zuordnung) ist das Masquerading ein Sonderfall von NAT. Hier werden alle lokalen Adressen auf eine gültige IP-Adresse maskiert (m:1 Zuordnung).

Die Vorteile von NAT:

  • Internetanbindung des gesamten lokalen Netzesüber eine IP-Adresse.
  • Zusätzlicher Schutz, da Rechner im LAN für das Internet nicht sichtbar sind.


Viele Server im Internet bieten gleichzeitig mehrere Netzwerkdienste an. Erreicht ein Datenpaket den Server, muß dieser herausfinden, für welchen Dienst die Daten bestimmt sind. Dies erreicht man durch den Einsatz von Ports. Jedem Netzwerkdienst ist ein spezieller Port zugeordnet.

Hier nun einige wichtige Portnummern:

Portnummer Dienst

20,21 FTP 23 Telnet 25 SMTP 53 DNS 80 HTTP 110 POP3 119 NNTP 143 IMAP 443 HTTPS

Ports mit Nummer unter 1024 werden als privilegierte Ports bezeichnet. Diese Ports werden von den verschiedenen Servern benutzt. Die Server warten hier auf Verbindungen aus dem Netz. Ports zwischen 1024 und 65535 werden als unprivilegierte Ports bezeichnet. Sie werden von Clients für Verbindungen genutzt.

Zusätzlich sind Ports zwischen 1024 und 49151 von der IANA registriert. Sie können entweder als normale unprivilegierte Ports benutzt werden, oder hier läuft ein bestimmter Dienst, wie z.B. das X-Windows System, die grafische Benutzeroberfläche unter Linux. Die ursprüngliche Idee war, auf diesen höheren Ports Dienste laufen zu lassen, die nicht über root-Privilegien verfügen.


Port Mapping oder Port Forwarding

Port Mapping um eigene Netzwerkdienste hinter einer Firewall zur Verfügung zu stellen. Alle auf der Firewall eingehenden Anfragen auf einen bestimmten Port werden an einen bestimmten Rechner im LAN weitergereicht (deswegen auch Port Forwarding). Beispielsweise werden alle auf der Firewall eingehenden Pakete auf dem Port 80 an den Webserver im lokalen Netz weitergeleitet, alle Pakete auf Port 110 gehen auf den POP3 Mailserver, der sich ebenfalls im LAN befindet. Die Server im LAN genießen so einen zusätzlichen Schutz.

Durch Port Mapping lassen sich auch transparente Proxies realisieren.


Protokolle

ICMP Internet Control Message Protocol

ICMP Pakete werden zu Kontrollzwecken und für Statusmeldungen benutzt. Sie werden lediglich zwischen zwei Computern ausgetauscht, nicht zwischen Diensten, die auf dem Computer laufen.

Der Header enthält:

  • Quell- und Zieladresse
  • Art der Kontrollnachricht
  • ICMP Nachrichtentyp (Kommando, Statusinformation, Fehlermeldung)


UDP User Datagramm Protocol

UDP Pakete werden zwischen zwei Netzwerkdiensten ausgetauscht. Bei UDP Paketen gibt es keine Benachrichtigung darüber, ob ein Paket erfolgreich empfangen wurde. UDP ist also ein verbindungsloses Protokoll, und damit ist nicht sichergestellt, daß ein UDP Paket sein Ziel erreicht. Dies läßt sich am Besten mit dem Versand einer Postkarte vergleichen. Auch hier ist nicht sichergestellt, daß diese auch jemals ihr Ziel erreicht. Der daraus entstehende Vorteil ist, daß UDP Pakete um ein vielfaches schneller sind als TCP Pakete.

Der Header enthält:

  • Quell- und Zieladresse
  • Quell- und Zielportnummer
  • UDP Protokolltyp


TCP Transmission ControlProtocol

TCP ist das am meisten genutzte Protokoll für Netzwerkdienste, da bei TCP eine Verbindung zwischen den Computern während der gesamten Dauer des Datenaustausches sichergestellt ist. Für jedes empfangene TCP Paket wird eine Empfangsbestätigung an den Absender geschickt. So werden Übertragungsfehler, verlorene Datenpakete oder Duplikate erfolgreich vermieden.

Der Header enthält

  • Quell- und Zieladresse
  • Quell- und Zielportnummer
  • TCP protocoll message type
  • Sequence acknowledgement number
  • Control flags (SYN, ACK, FIN)

Eine TCP Verbindung läßt sich am Besten mit einem Telefongespräch vergleichen. Eine Verbindung zum Informationsaustausch ist hier sichergestellt. Kommen am anderen Ende der Leitung nicht alle gewünschten Informationen an (z.B. durch Rauschen in der Leitung) wird einfach erneut um diese gebeten.


Der TCP Verbindungsaufbau

Der Verbindungsaufbau bei TCP läuft in folgenden Schritten ab:

1) Ein Webserver läuft auf einem Computer im Internet und wartet auf Verbindungen auf dem TCP-Port 80. Ein Benutzer greift auf den Webserver zu, in dem er eine Webseite dieses Servers abruft. Er gibt dazu die URL in seinen Browser ein. Die URL wird durch einen Nameserver in die IP Adresse des Hosts aufgelöst. Der Browser belegt nun einen unprivilegierten Port, z.B. 24000, und sendet eine Verbindungsanfrage an den Webserver. Dieses TCP Paket hat z.B. folgenden Header:


  • Protokoll: TCP
  • Quelladresse: 114.115.12.11
  • Quellport: 24000
  • Zieladresse: 195.20.202.1
  • Zielport: 80
  • Flags: SYN (connection synchronization request)


Das SYN Flag wird immer bei einem Verbindungsaufbau gesendet. Diesem SYN Flag folgt eine Synchronisations Sequenz Nummer, die vom Client vergeben wird (hier beispielsweise 14000).


2) Der Webserver empfängt das Paket des Clients. Er antwortet auf das SYN Flag mit einer Bestätigung, dem ACK Flag. Der Server teilt dem Client dadurch mit, daß er seine Verbindungsanfrage empfangen hat. Diesem ACK Flag folgt die Synchronisations Sequenz Nummer des Clients, die vom Server um eins erhöht wurde (14001). Außerdem sendet der Server nun ein weiteres SYN Flag, mit dem er ebenfalls einen Verbindungsaufbau bekanntgeben will. Der Server gibt diesem Flag seine eigene Synchronisations Sequenz Nummer (z.B. 34008). Die Verbindung ist nun halb geöffnet.


Dies ist der Header des vom Server zurückgesendeten TCP Pakets:

  • Protokoll: TCP
  • Quelladresse: 195.20.202.1
  • Quellport: 80
  • Zieladresse: 114.115.12.11
  • Zielport: 24000
  • Flags: ACK (acknowledgement), SYN (connection synchronization request)


3.Der Client Rechner empfängt das Paket des Servers und antwortet auf das SYN Flag des Servers mit einem ACK Flag und einer um eins erhöhten Synchtonisations Sequenz Nummer, die dem Flag vom Server zugewiesen wurde (34009). Von nun an werden keine weiteren SYN Flags mehr benötigt, die Server verständigen sich nur noch über ACK Flags.

Der Header des vom Client gesendeten Pakets:

  • Protokoll: TCP
  • Quelladresse: 114.115.12.11
  • Quellport: 24000
  • Zieladresse: 195.20.202.1
  • Zielport: 80
  • Flags: ACK

Die beiden Flags SYN und ACK sind sehr wichtig für das Aufsetzen einer Firewall. Das SYN Flag wird gesetzt, wenn ein Client und ein Server die ersten beiden Pakete beim Verbindungsaufbau austauschen. Alle weiteren Pakete haben nur das ACK Flag gesetzt. Beim Beenden einer Verbindung gibt es noch weitere Flags, die jedoch für eine Paketfilter Firewall nicht zur Auswertung zur Verfügung stehen und deshalb nicht von Interesse sind.