Firewall/Regelwerk: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Zeile 62: Zeile 62:


= TMP =
= TMP =
== Grundlagen  ==
Die Regeln werden für jedes Paket (bei [http://de.wikipedia.org/wiki/Stateful_Packet_Inspection Stateful Firewalls] für jede neue Verbindung) der Reihe nach geprüft, und die erste zutreffende Regel wird angewendet.
* Die [http://de.wikipedia.org/wiki/Reihenfolge Reihenfolge] der Regeln ist daher relevant.
* Eine Firewall-Regel setzt sich meist aus sechs Komponenten zusammen:# Absender-[http://de.wikipedia.org/wiki/IP-Adresse IP-Adresse] (auch Netzwerk-Adressen wie z. B. 192.168.0.0/24)
# [http://de.wikipedia.org/wiki/Zielmarke Ziel]-IP-Adresse
# [http://de.wikipedia.org/wiki/Netzwerkprotokoll Netzwerkprotokoll] ([http://de.wikipedia.org/wiki/Transmission_Control_Protocol TCP], [http://de.wikipedia.org/wiki/User_Datagram_Protocol UDP], [http://de.wikipedia.org/wiki/Internet_Control_Message_Protocol ICMP], …)
# [http://de.wikipedia.org/wiki/Port_%28Protokoll%29 Port]-Nummer (bei TCP und UDP)
# Aktion (erlauben, verwerfen oder ablehnen)
# [http://de.wikipedia.org/wiki/Logdatei Protokollieren] (engl. "log") ja/nein
Eine weitere mögliche Komponente ist bei TCP die Inspektion der [http://de.wikipedia.org/wiki/Transmission_Control_Protocol#Verbindungsaufbau Control-Flags].
* Durch die Kontrolle des ACK-Flags ist es möglich, einen Verbindungsaufbau nur in eine Richtung zuzulassen, so kann beispielsweise in Kombination mit einer Portregel ein Angreifer [http://de.wikipedia.org/wiki/Secure_Shell SSH] nicht verwenden.
Manche Firewall-Systeme bieten darüber hinaus noch die Möglichkeit, einzelne Regeln zu kommentieren oder zeitabhängig zu aktivieren.
* Eine Möglichkeit des Kommentierens von Regeln, IP-Adressen und [http://de.wikipedia.org/wiki/Dienst Diensten] ist sehr nützlich, um unbenutzte Regeln oder Teile davon identifizieren und löschen zu können.
* Denn das Aufräumen eines unübersichtlich gewordenen Regelwerks nach der Methode [http://de.wikipedia.org/wiki/Versuch_und_Irrtum Versuch und Irrtum] ist auf einer produktiven Firewall praktisch unmöglich.
Die Port-Nummer hat nur beschränkt Einfluss darauf, welcher Dienst tatsächlich über diese Regel laufen darf.
* Es ist beispielsweise technisch möglich, eine SSH-Verbindung so zu konfigurieren, dass sie statt über ihren Standardport TCP 22 über TCP 80 für HTTP läuft.
* Dies kann nur eine [http://de.wikipedia.org/wiki/Firewall#Application_Layer_Firewall_.2F_Proxy_Firewall Application Layer Firewall] verhindern.
Bei größeren Regelwerken lässt sich die Übersichtlichkeit mit Systemen steigern, in denen sich Adressen oder Dienste in Gruppen zusammenfassen lassen, z. B.
* könnte eine Gruppe „Maildienste“ die Mitglieder SMTP, POP3 und IMAP haben.
* Eine andere Möglichkeit der Definition von IP-Adressen und Portnummern sind Zahlenbereiche, z. B. 10.0.0.30–10.0.0.40 oder Port 135–139.
* Bei IP-Adressen ist dies in der Verarbeitung allerdings langsamer, als Netzbereiche mit [http://de.wikipedia.org/wiki/Netzmaske Netzmaske] anzugeben.
=== Verwerfen, Ablehnen und Erlauben  ===
Die Regeln einer Firewall legen fest, was mit einem Netzwerkpaket passieren soll, welches in das Muster eines Filters passt.
* Es wird zwischen den folgenden Aktionen unterschieden, die je nach Produkt unterschiedlich betitelt sein können:
==== DENY oder DROP (Verwerfen)  ====
Das Paket wird verworfen, also nicht durchgelassen, ohne weiter darauf zu reagieren.
* Der Absender erhält keine Nachricht darüber, dass sein Verbindungsversuch blockiert wurde.
* Der Nachteil des Verwerfens ist, dass der Sender erst nach einem Timeout von dem missglückten Verbindungsversuch erfährt.
Probleme bereitet dies mit dem [http://de.wikipedia.org/wiki/Ident Ident]-Protokoll, das oft zusammen mit [http://de.wikipedia.org/wiki/Internet_Relay_Chat IRC] und selten noch mit [http://de.wikipedia.org/wiki/Simple_Mail_Access_Protocol SMTP] eingesetzt wird.
* Das Netzwerk wird durch zusätzliche Anfragen belastet, weil die Clients keine explizite Ablehnung erhalten und weiterhin versuchen, die Verbindung aufzubauen.
* Zudem fällt das Debuggen, also die Suche nach Fehlerursachen, in einem Netz schwer, wenn die Systeme auf eine Anfrage nicht reagieren, statt eine Statusmeldung zurückzuschicken.
==== REJECT (Ablehnen)  ====
Das Paket wird verworfen und dem Absender wird mitgeteilt, dass die Verbindung abgelehnt wurde.
* Generell entspricht das eher dem Standard bei der Kommunikation zwischen Netzwerkkomponenten.
* Die Mitteilung erfolgt entweder über [http://de.wikipedia.org/wiki/Internet_Control_Message_Protocol ICMP]-Unreachable oder bei [http://de.wikipedia.org/wiki/Transmission_Control_Protocol TCP] mit einem Reset-Paket.
* Das Ablehnen hat den Vorteil, dass die beschriebenen Nebenwirkungen des einfachen Verwerfens ausbleiben.
Es hat aber auch den Nachteil, dass bei der Verwendung von gefälschten IP-Adressen die Firewall selbst für [http://de.wikipedia.org/wiki/Denial_of_Service Denial-of-Service]-Angriffe missbraucht werden kann, indem sie den vermeintlichen Absender mit Ablehnungspaketen belastet.
* Einige Firewalls besitzen Funktionen wie ICMP-Rate-Limiting, die dieser Problematik entgegenwirken.
==== ALLOW oder PASS (Erlauben)  ====
Die Netzwerkanfrage ist erlaubt und wird durchgelassen.
* Diese Begriffe beziehen sich meist auf den ausgehenden Datenverkehr (also vom internen hin zum externen Netz, bzw.
* bei Personal Firewalls vom eigenen Computersystem ins Netz).
==== FORWARD oder PERMIT (Erlauben)  ====
Die Netzwerkanfrage ist erlaubt und wird weitergeleitet, was die Möglichkeit einer Umleitung auf eine vom Administrator festgelegte Netzwerkadresse einschließt.
* Diese Begriffe beziehen sich vorwiegend auf den eingehenden Datenverkehr (also vom externen hin zum internen Netz, bzw.
* bei Personal Firewalls auf Anfragen aus dem Netz).
=== Sicherheitsgrundsätze  ===
Das ideale Regelwerk einer Firewall ist immer so aufgebaut, dass grundsätzlich jeder Netzwerk-Verkehr verboten ist und die erwünschten Verbindungen erlaubt werden ("Whitelist"-Strategie).
* Die andere Variante, nur unerwünschten Verkehr zu verbieten und alles andere zu erlauben, kann im schnellen Wandel der IT-Welt niemals als sicher betrachtet werden.
* Die Absender- und Ziel-Adressen werden in der Regel immer numerisch und nicht als [http://de.wikipedia.org/wiki/Domain_Name_System DNS]-Name angegeben, um zu verhindern, dass ein Angreifer durch Änderungen im DNS auf das Regelwerk Einfluss nehmen kann.
=== Protokolle ("logging")  ===
Protokolldateien (umgangsspr: [http://de.wikipedia.org/wiki/Logdatei Logdateien]) dienen der Nachvollziehbarkeit des Netzwerkverkehrs und der Fehlersuche.
* Die Protokollierung kann auf der Firewall selbst erfolgen, wenn diese eine eingebaute Festplatte hat, oder auf einem entfernten "Log-Host".
* In diesem Falle kommen teils proprietärere Protokolle oder [http://de.wikipedia.org/wiki/Syslog Syslog] zum Einsatz.
Müssen die Log-Dateien [http://de.wikipedia.org/wiki/Revisionssicherheit revisionssicher] aufbewahrt werden, empfiehlt sich ein System, das einen Log-Host benutzt und für den Fehlerfall lokal protokollieren kann.
* Für die Auswertung von Log-Dateien ist es sehr hilfreich, wenn jeder Regel eine einzigartige Nummer zugewiesen werden kann, damit die Einträge den entsprechenden Regeln zugeordnet werden können.
Manche Firewalls loggen jedes einzelne Netzwerkpaket, andere erstellen einen Log-Eintrag pro Verbindung.
* Grundsätzlich protokolliert eine Firewall alle Verbindungen.
* Ausnahmen werden nur gemacht, wenn einzelne Regeln so viele Logeinträge produzieren, dass es zu technischen Problemen oder Geschwindigkeitseinbußen kommt.
* Dies kann z. B.
* bei [http://de.wikipedia.org/wiki/Denial_of_Service Denial of Service]-Angriffen passieren oder wenn [http://de.wikipedia.org/wiki/Computerwurm Würmer] im Netzwerk aktiv sind.
* Eine Möglichkeit, dies zu vermeiden, ist eine eigene Regel für diese Wurmangriffe, welche nicht protokolliert werden.
=== Stealth-Regel  ===
Eine "Stealth"-Regel (deutsch etwa: „heimliche Regel“ oder „listige Regel“) dient dem Eigenschutz der Firewall und verbietet alle Verbindungen zu ihr selbst.
* Da die Reihenfolge der Regeln relevant ist, müssen davor noch die [http://de.wikipedia.org/wiki/Administrator_%28Rolle%29 Administrations]-Dienste für die Firewall erlaubt werden, damit diese Pakete nicht auch verworfen werden.
* Warum eine Stealth-Regel notwendig ist, wird aus folgendem Beispiel ersichtlich:* Die Firewall hat auf einem Interface die IP-Adresse 10.0.0.1
* Es gibt eine Regel, die allen Firmen-PCs [http://de.wikipedia.org/wiki/Secure_Shell SSH]-Verbindungen zu den Servern im Netz 10.0.0.0/24 erlaubt.
Da 10.0.0.1 auch ein Teil des Netzes 10.0.0.0/24 ist, dürften alle PCs in diesem Netz auf den SSH-Port der Firewall zugreifen, was die Firewall für Innentäter angreifbarer machen würde.
=== ICMP-Regeln  ===
[http://de.wikipedia.org/wiki/Internet_Control_Message_Protocol ICMP] dient im Netzwerk zum Austausch von Fehler- und Informationsmeldungen, kann aber auch für Angriffe im Netzwerk missbraucht werden.
* Da die rigorose Methode, ICMP entweder ganz zu blockieren oder stets zu erlauben, zuviele Probleme verursachen würde, empfehlen Fachleute, die folgenden Typen freizuschalten:* ICMP Unreachable
* ICMP Unreachable, Fragmentation Needed (wird verwendet von [http://de.wikipedia.org/wiki/Path_MTU_Discovery Path MTU Discovery])
* ICMP Time Exceeded in Transit (TTL expired in transit bei [http://de.wikipedia.org/wiki/Traceroute traceroute] unter UNIX und [http://de.wikipedia.org/wiki/Tracert tracert] unter Windows)
* ICMP Echo Request (ausgehend, wird benutzt von [http://de.wikipedia.org/wiki/Ping_%28Datenübertragung%29 Ping])
Alle anderen ICMP-Typen werden nur nach Bedarf freigeschaltet, bei einer Firewall ins Internet restriktiver als bei einer zwischen zwei internen Netzen.
* Wegen des Missbrauchpotenzials ist der Typ ICMP-Redirect in der Regel gesperrt.
* Die Nachricht "ICMP Echo Request" eingehend zu erlauben erleichtert Außenstehenden zwar die Fehlersuche, ermöglicht [http://de.wikipedia.org/wiki/Cracker_%28Computer%29 Crackern] aber auch das Auskundschaften des Netzes.
* Außerdem gibt es auch in "ICMP Echo" immer wieder [http://de.wikipedia.org/wiki/Sicherheitslücke_%28Software%29 Sicherheitslücken] wie z.B. [http://de.wikipedia.org/wiki/Ping_of_Death Ping of Death] und andere.
Werden ICMP-Unreachable-Fragmentation-Needed-Pakete an einem Punkt der Route gefiltert, zum Beispiel durch ein einfaches „ICMP deny“, kann es zu Übertragungsproblemen kommen, wie im Artikel [http://de.wikipedia.org/wiki/Maximum_Transmission_Unit Maximum Transmission Unit] beschrieben.
=== Ausgehender Datenverkehr  ===
Häufig wird die Kontrolle des ausgehenden Verkehrs vernachlässigt.
* So lassen viele Firewalls grundsätzlich ausgehenden Verkehr für alle Ports offen.
* Damit stehen Schadprogrammen auf simple Weise Kommunikationswege offen, die vom Betreiber der Maschine gar nicht erkannt werden - Spamversand ist ein typischer Fall.
Auf einer gut konfigurierten Firewall sind solche Wege gesperrt.
* Beispielsweise sollte ausgehende Mail nur über den Mailserver möglich sein; alle anderen Wege sind gesperrt (Unter Linux/Netfilter kann man ausgehende Verbindungen an eine Benutzer- oder Gruppen-ID binden).
* Dann können Schadprogramme zwar immer noch senden, fallen aber in der Log-Datei schnell auf.
[[Kategorie:Firewall]]
= TMP =
= TMP =
== Sicherheitsgrundsätze ==
== Sicherheitsgrundsätze ==

Version vom 11. Dezember 2022, 16:22 Uhr

In einem Firewall-Regelwerk wird definiert, welcher Verkehr durch eine Firewall erlaubt und welcher verboten ist.

  • Die Methode basiert auf Mandatory Access Control: Je nach Absender, Zustelladresse, Protokoll und Sendevorgang erlaubte Datenpakete dürfen passieren (engl.
  • pass), verbotene werden abgelehnt (deny, reject) oder verworfen (drop).
  • Dieser Schutzmechanismus ist selbst Ziel etlicher spezifischer Angriffsmöglichkeiten.

Ein Firewall-Regelwerk legt fest, welcher Verkehr durch eine Firewall möglich ist.

Beschreibung

Installation

Anwendungen

Fehlerbehebung

Syntax

Optionen

Parameter

Umgebungsvariablen

Exit-Status

Konfiguration

Dateien

Sicherheit

Dokumentation

RFC

Man-Pages

Info-Pages

Siehe auch

  1. Firewall
  2. Firewalld
  3. ufw
  4. OPNsense

Links

Projekt-Homepage

Weblinks

  1. https://de.wikipedia.org/wiki/Firewall-Regelwerk

Einzelnachweise

Testfragen

Testfrage 1

Antwort1

Testfrage 2

Antwort2

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5

TMP

TMP

Sicherheitsgrundsätze

"Blacklist"-Strategie

Es ist alles erlaubt, was nicht explizit verboten ist.

  • Ansatz versucht, alle nicht erwünschten Kommunikationsverbindungen zu definieren und somit auszuschließen - alles andere bleibt erlaubt
  • benutzerfreundlich, da neue Dienste automatisch erlaubt sind - dadurch jedoch ebenso gefährlich

"Whitelist"-Strategie

Es ist alles verboten, was nicht explizit erlaubt ist.

  • sperrt zunächst sämtliche Kommunikation
  • Kommunikationsverbindungen müssen explizit freigeschaltet werden
  • Dienste, die neu hinzukommen, sind somit zunächst gesperrt

Verwerfen, Ablehnen und Erlauben

Ein Paketfilter arbeit auf den OSI-Schichten 3 & 4. Daher kann ankommender bzw. ausgehender Datenverkehr auf Eigenschaften geprüft werden, die dem jeweiligen Protokoll-Header entnommen werden:

  • IP-Adresssen: Quelladresse und Zieladresse
  • Protokoll: TCP, UDP & ICMP
  • Flags: bei TCP - für den korrekten Verbindungsaufbau, die Datenübertragung und den Verbindungsabbau
  • Ports: Quell-Port & Ziel-Port (z.Bsp. für HTTP, SSH, SMTP)
  • ICMP-Code: bei ICMP
  • Auf der Grundlage von Regeln, die vom Administrator festgelegt werden, entscheidet die Firewall, wie mit einem Datenpaket umzugehen ist:
  1. DENY oder DROP (Verwerfen) : Das Paket wird verworfen. Der Absender erhält keinerlei Rückmeldung.
  2. REJECT (Ablehnen): Das Paket wird verworfen. Der Absender wird darüber in Kenntnis gesetzt (ICMP Unreachable oder TCP-Reset)
  3. ALLOW oder PASS (Erlauben): Die Netzwerkanfrage ist erlaubt und wird durchgelassen.
  4. FORWARD oder PERMIT (Erlauben): Die Netzwerkanfrage ist erlaubt und wird weitergeleitet.

Die Reihenfolge entscheidet:

  • Regelwerk wird von oben nach unten abgearbeitet - sobald eine passende Regel gefunden wird, wird diese angewandt & die jeweils definierte Aktion ausgeführt
  • sämtliche nachfolgenden Regeln werden nicht ausgewertet


Protokolle ("logging")

  • Grundsätzlich protokolliert eine Firewall alle Verbindungen
  • Nachvollziehbarkeit des Netzwerkverkehrs und der Fehlersuche

Stealth-Regel

Eine "Stealth"-Regel (deutsch etwa: „heimliche Regel“ oder „listige Regel“) dient dem Eigenschutz der Firewall und verbietet alle Verbindungen zu ihr selbst.

ICMP-Regeln

  • ICMP (Internet Control Message Protocol) dient im Netzwerk zum Austausch von Fehler- und Informationsmeldungen - bietet aber auch Angriffsmöglichkeiten.

Ein vollständiges Blockieren von ICMP ist jedoch nicht sinnvoll. Empfohlen wird, die folgenden empfohlen Typen freizuschalten:

  1. ICMP Unreachable
  2. ICMP Unreachable, Fragmentation Needed (wird verwendet von Path MTU Discovery)
  3. ICMP Time Exceeded in Transit (TTL expired in transit bei traceroute unter UNIX und tracert unter Windows)
  4. ICMP Echo Request (ausgehend, wird benutzt von Ping)

Ausgehender Datenverkehr

  • Gute Firewalls können auch ausgehenden Netzwerkverkehr filtern
  • Zum Beispiel, weil ausgehende Mail nur über den internen Mailserver möglich sein sollen

Links

Interne Links

  1. Firewall
  2. Firewall:Firewalld
  3. Firewall:Uncomplicated_Firewall_(ufw)
  4. OPNsense

Externe Links

  1. https://de.wikipedia.org/wiki/Firewall-Regelwerk




Ein Firewall-Regelwerk legt fest, welcher Verkehr durch eine Firewall möglich ist.

Sicherheitsgrundsätze

  • jeder Netzwerk-Verkehr ist verboten
  • die erwünschten Verbindungen erlaubt ("Whitelist"-Strategie)

oder

  • jeder Netzwerk-Verkehr ist erlaubt
  • die nicht erwünschten Verbindung sind verboten ("Blacklist"-Strategie)

Verwerfen, Ablehnen und Erlauben

  • Die Regeln einer Firewall legen fest, was mit einem Netzwerkpaket passieren soll,
  1. DENY oder DROP (Verwerfen) : Das Paket wird verworfen, also nicht durchgelassen.Ohne Rückmeldung.
  2. REJECT (Ablehnen): Das Paket wird verworfen und dem Absender wird mitgeteilt.
  3. ALLOW oder PASS (Erlauben): Die Netzwerkanfrage ist erlaubt und wird durchgelassen.
  4. FORWARD oder PERMIT (Erlauben): Die Netzwerkanfrage ist erlaubt und wird weitergeleitet(Administrator)

Die relevante Reihenfolge

erlaubt und welcher verboten ist basiert auf Mandatory Access Control - (die erste zutreffende Regel wird angewendet):

  1. Absender-IP-Adresse(auch Netzwerk-Adressen wie z. B. 192.168.0.0/24)
  2. Zielmarke|Ziel-IP-Adresse
  3. Netzwerkprotokoll (Transmission Control Protocol|TCP, User Datagram Protocol|UDP, Internet Control Message Protocol|ICMP, …)
  4. Port (Protokoll)|Port-Nummer (bei TCP und UDP)
  5. Aktion (erlauben, verwerfen oder ablehnen)
  6. Logdatei|Protokollieren (engl. "log") ja/nein

Protokolle ("logging")

  • Grundsätzlich protokolliert eine Firewall alle Verbindungen
  • Nachvollziehbarkeit des Netzwerkverkehrs und der Fehlersuche

Stealth-Regel

Eine "Stealth"-Regel (deutsch etwa: „heimliche Regel“ oder „listige Regel“) dient dem Eigenschutz der Firewall und verbietet alle Verbindungen zu ihr selbst.

ICMP-Regeln

  • ICMP (Internet Control Message Protocol)dient im Netzwerk zum Austausch von Fehler- und Informationsmeldungen.
  • entweder ganz zu blockieren oder stets zu erlauben
  • die folgenden empfohlen Typen freizuschalten:
  1. ICMP Unreachable
  2. ICMP Unreachable, Fragmentation Needed (wird verwendet von Path MTU Discovery)
  3. ICMP Time Exceeded in Transit (TTL expired in transit bei traceroute unter UNIX und tracert unter Windows)
  4. ICMP Echo Request (ausgehend, wird benutzt von Ping)

Ausgehender Datenverkehr

  • Gute Firewalls können auch ausgehenden Netzwerkverkehr filtern
  • Zum Beispiel, weil ausgehende Mail nur über den internen Mailserver möglich sein sollen