Firewall für Anfänger: Unterschied zwischen den Versionen
Malte (Diskussion | Beiträge) Tippfehler korrigiert; ein paar Erklärungen hinzugefügt; Interne Links hinzugefügt; Keine Baustelle mehr |
Malte (Diskussion | Beiträge) Beispiel hinzugefügt |
||
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{unvollständig}} | |||
Eine Firewall ist ein Sicherheitskonzept, das es ermöglicht, nur ausgewählte Netzwerkkommunikation zuzulassen; und ist ein wichtiger Teil des Datenschutzes und der Datenintegrität. Häufig wird der Begriff „Firewall“ synonym zu einer einzelnen Schutzanwendung verwendet. | |||
== Personal Firewall == | |||
Die evtl. von Windows bekannten ''Personal Firewalls'' ermöglichen es, entweder nur einzelnen Programmen Zugriff aufs Internet zu gewähren (so genanntes Whitelisting – nur bestimmten Programmen diesen zu verweigern nennt man Blacklisting). Vorteil einer Personal Firewall ist, dass sie oft sehr einfach zu installieren ist, und meist eine grafische Schnittstelle anbietet. | |||
Das größte Problem von Personal Firewalls ist, dass sie in Händen eines unversierten Nutzers oft dazu neigen, mehr Schaden als Nutzen anzurichten. Die ständigen Fragen, wenn ein Systemdienst oder ein Teil eines Programms (Updatefunktionen sind unter Windows oft in einer zweiten Programmdatei), werden lästig, und irgendwann erlaubt der genervte Nutzer jedem Programm Internetzugriff. | |||
== Paketfilter == | |||
Unter Linux hingegen kommt meist eine ''Paketfilterfirewall'' zum Einsatz. Diese analysiert und filtert die Datenpakete der Netzwerkübertragung. Paketfilterfirewalls (üblicher weise wird [[iptables]] verwendet) fragt nicht nach. Sie arbeitet einen vorher definierten Regelsatz ab, und entscheidet so, ob Daten übermittelt werden, oder nicht. | |||
Statt dass dem Browser Zugriff auf das Internet gewährt wird, wird Zugriff auf den hierzu üblicher Weise verwendeten Port 80 zugelassen. Auf normalen Systemen reicht es allerdings, statt auch den ausgehenden Datenverkehr zu filtern, nur den am Rechner ankommenden Datenverkehr zu filtern. | |||
== Beispiel für ein Desktop–System == | |||
Auf einem gewöhnlichen Desktop–System laufen für gewöhnlich keine oder kaum Dienste, die über das Netzwerk erreichbar sein müssen. | |||
Das folgende Beispiel–Skript erlaubt lediglich den Zugriff auf SSH und CUPS (Um über das Netzwerk zu drucken). | |||
# Vorhandene Regeln löschen | |||
for table in filter nat mangle | |||
do | |||
iptables -t $table -F | |||
iptables -t $table -X | |||
iptables -t $table -Z | |||
done | |||
# Standardverhalten: Nur ausgehend erlauben | |||
iptables -P INPUT DROP | |||
iptables -P OUTPUT ACCEPT | |||
iptables -P FORWARD DROP | iptables -P FORWARD DROP | ||
Nun folgen die Regeln für eingehende Pakete. Loopback–Traffic und ICMP–Pakete werden generell durchgelassen. Außerdem müssen eingehende Pakete, | |||
die zu einer bestehenden Verbindung gehören, erlaubt werden: | |||
iptables - | # Loopback-Traffic erlauben | ||
iptables -A INPUT -i lo -j ACCEPT | |||
# ICMP-Pakete durchlassen | |||
iptables - | iptables -A INPUT -p icmp -j ACCEPT | ||
# Eingehende Antworten auf bestehende Verbindungen erlauben | |||
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT | |||
Zuletzt erlauben wir Zugriff auf die TCP–Ports 22 (SSH) und 631 (CUPS/IPP): | |||
# SSH: tcp/22 | |||
iptables -A INPUT -p tcp --dport 22 -j ACCEPT | |||
iptables -A INPUT -p tcp --dport | # CUPS/IPP: tcp/631 | ||
iptables -A INPUT -p tcp --dport 631 -j ACCEPT | |||
Um diese Regeln bei jedem Systemstart automatisch zu aktivieren, müssen die Regeln nach <code>/etc/iptables/iptables.rules</code> exportiert werden und der Dienst <code>iptables.service</code> aktiviert werden: | |||
iptables - | iptables-save > /etc/iptables/iptables.rules | ||
iptables | systemctl enable iptables.service | ||
== | == Siehe auch == | ||
* [[iptables]] zur Konfiguration des Kerneleigenen ''Netfilter''s | |||
== Weblinks == | |||
* [http://ulm.ccc.de/PersonalFirewalls/Angriffe Grundlagen zu Angriffen auf den PC vom Ulmener CCC] {{sprache|de}} | |||
[[Kategorie:Netzwerk]] | |||
[[Kategorie:Grundlagen]] | |||
[[Kategorie:Sicherheit]] | |||
Aktuelle Version vom 16. Juli 2016, 21:16 Uhr
Dieser Artikel oder Artikelabschnitt ist noch nicht vollständig!
Eine Firewall ist ein Sicherheitskonzept, das es ermöglicht, nur ausgewählte Netzwerkkommunikation zuzulassen; und ist ein wichtiger Teil des Datenschutzes und der Datenintegrität. Häufig wird der Begriff „Firewall“ synonym zu einer einzelnen Schutzanwendung verwendet.
Personal Firewall
Die evtl. von Windows bekannten Personal Firewalls ermöglichen es, entweder nur einzelnen Programmen Zugriff aufs Internet zu gewähren (so genanntes Whitelisting – nur bestimmten Programmen diesen zu verweigern nennt man Blacklisting). Vorteil einer Personal Firewall ist, dass sie oft sehr einfach zu installieren ist, und meist eine grafische Schnittstelle anbietet.
Das größte Problem von Personal Firewalls ist, dass sie in Händen eines unversierten Nutzers oft dazu neigen, mehr Schaden als Nutzen anzurichten. Die ständigen Fragen, wenn ein Systemdienst oder ein Teil eines Programms (Updatefunktionen sind unter Windows oft in einer zweiten Programmdatei), werden lästig, und irgendwann erlaubt der genervte Nutzer jedem Programm Internetzugriff.
Paketfilter
Unter Linux hingegen kommt meist eine Paketfilterfirewall zum Einsatz. Diese analysiert und filtert die Datenpakete der Netzwerkübertragung. Paketfilterfirewalls (üblicher weise wird iptables verwendet) fragt nicht nach. Sie arbeitet einen vorher definierten Regelsatz ab, und entscheidet so, ob Daten übermittelt werden, oder nicht.
Statt dass dem Browser Zugriff auf das Internet gewährt wird, wird Zugriff auf den hierzu üblicher Weise verwendeten Port 80 zugelassen. Auf normalen Systemen reicht es allerdings, statt auch den ausgehenden Datenverkehr zu filtern, nur den am Rechner ankommenden Datenverkehr zu filtern.
Beispiel für ein Desktop–System
Auf einem gewöhnlichen Desktop–System laufen für gewöhnlich keine oder kaum Dienste, die über das Netzwerk erreichbar sein müssen. Das folgende Beispiel–Skript erlaubt lediglich den Zugriff auf SSH und CUPS (Um über das Netzwerk zu drucken).
# Vorhandene Regeln löschen for table in filter nat mangle do iptables -t $table -F iptables -t $table -X iptables -t $table -Z done # Standardverhalten: Nur ausgehend erlauben iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP
Nun folgen die Regeln für eingehende Pakete. Loopback–Traffic und ICMP–Pakete werden generell durchgelassen. Außerdem müssen eingehende Pakete, die zu einer bestehenden Verbindung gehören, erlaubt werden:
# Loopback-Traffic erlauben iptables -A INPUT -i lo -j ACCEPT # ICMP-Pakete durchlassen iptables -A INPUT -p icmp -j ACCEPT # Eingehende Antworten auf bestehende Verbindungen erlauben iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
Zuletzt erlauben wir Zugriff auf die TCP–Ports 22 (SSH) und 631 (CUPS/IPP):
# SSH: tcp/22 iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# CUPS/IPP: tcp/631 iptables -A INPUT -p tcp --dport 631 -j ACCEPT
Um diese Regeln bei jedem Systemstart automatisch zu aktivieren, müssen die Regeln nach /etc/iptables/iptables.rules
exportiert werden und der Dienst iptables.service
aktiviert werden:
iptables-save > /etc/iptables/iptables.rules systemctl enable iptables.service
Siehe auch
- iptables zur Konfiguration des Kerneleigenen Netfilters