Sonntag, 12. Februar 2012

News

präsentiert von: entwickler.com
Donnerstag, 3. November 2005

About Security #30: Die Firewall — Paketfilter

Die Filterung der Daten durch den in About Security #29 vorgestellten Paketfilter erfolgt auf der Netzzugangs-, Netzwerk- und Transportschicht des TCP/IP-Schichtenmodells. Wie die Daten geprüft werden, erfahren Sie in dieser Folge.

Filterung auf der Netzzugangsschicht

Ethernet-Paket (Version 2, für weitere Informationen siehe zum Beispiel hier):

N E U ! Security aktuell
Täglich aktuelle Security-Infos!

Präambel (7 Byte)
dient der Synchronisation
Paketbegrenzer (1 Byte)
markiert den Anfang des Pakets
Zieladresse (6 Byte)
Hardwareadresse des Ziels
Quelladresse (6 Byte)
Hardwareadresse der Quelle
Type (2 Byte)
Definition des nächsthöheren Protokolls
Daten
variabel, min. 46, max. 1.500 Bytes
bei weniger als 46 Bytes wird aufgefüllt
Prüfsumme (4 Byte)

Bei einer Filterung auf Basis von Ziel- und Quelladresse kann festgelegt werden, welche Geräte über den Paketfilter miteinander kommunizieren dürfen. Der Typ kann verwendet werden, um unerwünschte Protokolle auszufiltern.

Filterung auf der Netzwerkschicht

IP-Paket (RFC 791):

Version
(4 Bit)
Header-Länge (4 Bit) Servicetype
(8 Bit)
Gesamtlänge in Bytes
(16 Bit)
Identifikation
(16 Bit)
Flags
(3 Bit)
Fragment-Offset
(13 Bit)
Time to Live (8 Bit) Protokoll (8 Bit) Header-Prüfsumme (16 Bit)
Quell-IP-Adresse (32 Bit)
Ziel-IP-Adresse (32 Bit)
IP-Optionen und Füllzeichen (insgesamt 32 Bit)
Daten
About Security: Die komplette Serie

Gefiltert werden kann wieder auf Basis von Ziel- und Quelladresse, wobei nun IP-Adressen betrachtet werden. Aus dem Protokollfeld kann das verwendete Protokoll auf der Transportschicht zur Filterung verwendet werden. Das Flags-Feld enthält z.B. Informationen darüber, ob eine Fragmentierung der IP-Pakete durchgeführt wurde. Das IP-Optionen-Feld enthält gegebenenfalls Informationen über das Routing, die ebenfalls zur Filterung herangezogen werden können.

ICMP-Paket (RFC 792):

Type
(8 Bit)
Code
(8 Bit)
Prüfsumme
(16 Bit)
Verschiedenes (32 Bit)
IP-Header und weitere 64 Bits oder Testdaten

Bei der Filterung von ICMP-Paketen wird das Type-Feld ausgewertet. Dies enthält die Nachrichtentypen, z.B. Destination Unreachable (Ziel nicht erreichbar), Redirect, Echo Reply, Echo Request oder Time Exceeded (Zeit verstrichen).

Filterung auf der Transportschicht

TCP-Paket (RFC 793):

Quell-Port
(16 Bit)
Ziel-Port
(16 Bit)
Sequenznummer
(32 Bit)
Quittungsnummer
(32 Bit)
Header-Länge
(4 Bit)
Reserviert
(6 Bit)
Flags
(6 Bit)
Fenstergröße
(16 Bit)
Prüfsumme (16 Bit) Urgent Pointer (16 Bit)
Optionen und Füllzeichen (insgesamt 32 Bit)
Daten

Zur Filterung können Quell- und Ziel-Port sowie die Flags verwendet werden. Über die Ports kann das verwendete Protokoll ermittelt und mit den zulässigen Diensten verglichen werden. Das SYN-Flag wird beim Verbindungsaufbau in den ersten beiden Paketen gesetzt. Das ACK-Flag ist im jeweils ersten Paket jeder Verbindung nicht gesetzt, alle weiteren Pakete der aufgebauten Verbindung enthalten ein gesetztes ACK-Flag. Dies kann vom Paketfilter genutzt werden, um eine bestehende Verbindung zu erkennen. Das PSH-Flag kann zum Erkennen von HTTP-Response-Splitting- und HTTP-Request-Smuggling-Angriffen verwendet werden (siehe About Security #20).

UDP-Paket (RFC 768):

Quell-Port
(16 Bit)
Ziel-Port
(16 Bit)
Länge
(16 Bit)
Prüfsumme
(16 Bit)
Daten

Wie bei TCP können Quell- und Ziel-Port zur Filterung verwendet werden.

Kapselung der Daten

Die Daten der verschiedenen Pakete werden folgendermaßen ineinander gekapselt:

Daten Anwendungsschicht

TCP-Header Daten Transportschicht (TCP)
= TCP-Daten

IP-Header TCP-Header Daten Netzwerkschicht (IP)
= IP-Daten

Ethernet-Header IP-Header TCP-Header Daten Netzzugangsschicht (Ethernet)
= Ethernet-Daten
Zurück zum Beispiel aus About Security #29:
Nr. Senderadresse Port Zieladresse Port Protokoll Flags Aktion

1. 0.0.0.0 >= 1024 80.237.217.196 80 TCP permit
2. 80.237.217.196 80 0.0.0.0 >= 1024 TCP ACK permit
3. 0.0.0.0 any 80.237.217.196 any any any reject

Woher kommen welche Daten?
Die Sender- und Zieladresse werden dem IP-Header entnommen, ebenso das verwendete Protokoll. Der jeweilige Port ist im TCP-Header gespeichert, ebenso die Flags.

Weitere Regeln: HTTPS wird erlaubt
Jetzt sollen Regeln hinzugefügt werden, die den Zugriff auf den Webserver über HTTPS erlauben. Als Faustregel für einen Paketfilter kann man sich "WWW" merken:

  • Woher kommt das Paket,
  • wo will es hin, und
  • was will es dort?

(oder kurz: "Wer darf was wo?"). In diesem Fall lauten die Antworten:

  • Pakete von beliebigen Rechnern von einem Port ab 1024,
  • die als Ziel den Webserver (80.237.217.196) haben,
  • um über TCP-Port 443 (HTTPS) zu kommunizieren,

sollen durchgelassen werden, ebenso die Antworten darauf. Die bisherige Regel 3 wandert an das Ende der Regelkette, und zwei neue Regeln übernehmen die Durchleitung der HTTPS-Kommunikation:

Nr. Senderadresse Port Zieladresse Port Protokoll Flags Aktion

3. 0.0.0.0 >= 1024 80.237.217.196 443 TCP permit
4. 80.237.217.196 443 0.0.0.0 >= 1024 TCP ACK permit
5. 0.0.0.0 any 80.237.217.196 any any any reject

Die obigen Beispiele sind relativ einfach. Schwieriger ist die Konfiguration des Paketfilters für die Filterung von FTP-Verbindungen. Wieso das so ist und wie Sie FTP-Verbindungen zulassen bzw. verhindern können, erfahren Sie in der nächsten Folge, in der außerdem zustandsorientierte Paketfilter (Stateful Inspection) vorgestellt werden.

Wenn Sie Fragen oder Themenvorschläge haben, können Sie diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum einbringen!

Carsten Eilers

About Security – Übersicht zum aktuellen Thema "Firewall"

Kommentare

Konferenzen

BASTA! 2012

BASTA! 2012

27.- 2. März 2012
Maritim Hotel Darmstadt

MobileTech Conference

MobileTech Conference

26.-28. März 2012
München

JAX 2012

JAX 2012

16.-20. April 2012
Rheingoldhalle, Mainz

BigData Con 2012

BigData Con 2012

16.-18. April 2012
Rheingoldhalle, Mainz

Business Technology Days

Business Technology Days

17.-19. April 2012
Rheingoldhalle, Mainz

International PHP Conference

International PHP Conference

3.- 6. Juni 2012
Maritim proArte, Berlin

webinale 2012

webinale 2012

4.- 6. Juni 2012
Maritim proArte Berlin

RailswayCon

RailswayCon

4.- 6. Juni 2012
Maritim proArte, Berlin

Werbung
Top-Jobs

Fraunhofer-Institut für Windenergie und Energiesystemtechnik IWES

Informatikerin / Informatiker

Magazine

Entwickler Magazin - Enterprise Technologies & Business Solutions

Entwickler Magazin

Enterprise Technologies & Business Solutions

dot.net magazin - die unabhängige Quelle für .NET-Technologien

dot.net magazin

Die Quelle für .NET-Technologien

Eclipse Magazin

Eclipse Magazin

Weltweit erstes Magazin für Eclipse-Entwickler

Java Magazin - Internet & Enterprise Technology

Java Magazin

Internet & Enterprise Technology

Sharepoint

Sharepoint Magazin

Sharepoint

CREATE OR DIE - Ein Leben für die Kreativität

CREATE OR DIE

Ein Leben für die Kreativität

Business Technology - Management Magazin

Business Technology

Management Magazin

PHP Magazin - Professional PHP Development

PHP Magazin

Professional PHP Development

PHP User - Praktische Referenz für Internetenthusiasten

PHP User

Praktische Referenz für Internetenthusiasten

Bücher




Webhosting mit Host Europe