Copying sources and texts (also in parts) for publishing without our permission is NOT ALLOWED. We are fed up with finding our work on other sites (like stackoverflow).
Das Kopieren von Quellcode und Texten (auch in Auszügen) ist nicht erlaubt. Wir haben es gründlich satt, unsere Arbeit auf anderen Webseiten zu finden.

Copying for non-public usage is allowed.           Das private Kopieren und Benutzen ist natürlich erlaubt und erwünscht.
03. Sep
Teaser

Sicherheit: Linux Firewall per iptables (WebServer Beispiel)

Sollten Sie die Befehle auch für eine IPv6 Firewall umsetzen wollen, dann ersetzen Sie bitte im folgenden stets “iptables” durch “ip6tables”.

SSH Zugriff erlauben

iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -i lo -j ACCEPT

Jetzt die beiden wichtigsten Standardports für WebServer freigeben: 80 für normale HTTP und 443 für verschlüsselte HTTPS (SSL) Seiten:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

Sollten Sie einen (zu SSH zusätzlichen) Service zur Verwaltung Ihres Servers benutzen, wie z.Bsp. VirtualMin (Unser Beitrag zur Installation), dann sollten diese Ports jetzt ebenfalls freigegeben werden:

iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
iptables -A INPUT -p tcp --dport 20000 -j ACCEPT

Jetzt können wir den Server abdichten, denn unser SSH Zugang ist bereits erlaubt. Diesen brauchen wir zwingend, denn ansonsten stehen wir gleich von außen vor der abgeschlossenen Tür.

iptables -P INPUT DROP

Für Programme wie “apt-get” sollten nun ein paar Ausnahmen hinzugefügt werden. Diese erlauben “etablierten Verbindungen” eine Verbindung und Rückmeldung von/nach außen durch die Firewall:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Um die erstellten Regeln auch nach einem Serverneustart zu behalten, speichern Sie diese bitte ab:

iptables-save > /etc/iptables/rules.v4

bzw. für IPv6 mit folgendem Befehl:

ip6tables-save > /etc/iptables/rules.v6

Weitere Ausnahmen und Regeln können jederzeit hinzugefügt werden:

Beispiel IMAP / SMTP MailServer:

iptables -A INPUT -p tcp --dport 143 -j ACCEPT
iptables -A INPUT -p tcp --dport 993 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 465 -j ACCEPT
iptables -A INPUT -p tcp --dport 587 -j ACCEPT

Beispiel: FTP Server (unsichere Standard-Ports 20 & 21)

Bei FTP sind ebenfalls die passiven Ports freizugeben, welches Sie in Ihrer FTP-Server-Konfiguration festlegen können. Haben Sie die passiven Ports nicht freigegeben, bleibt entweder nur aktives FTP oder es kommt zu Verbindungsproblemen.

iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT

Beispiel Netdata WebGUI freigeben. Diese läuft im Standard auf Port 19999:

iptables -A INPUT -p tcp --dport 19999 -j ACCEPT

Ein Hinweis, wenn Sie mit VirtualMin arbeiten:
Die per Shell (Kommandozeile) gesetzten Regeln werden nicht automatisch in die Firewall-Konfiguration von VirtualMin (oder WebMin) übernommen. Bitte speichern Sie daher die Regeln am Ende in der VirtalMin-Firewall-Konfiguration:

iptables-save > /etc/iptables.up.rules

Einen Überblick über die eingestellten Regeln erhalten Sie durch folgenden Befehl:

iptables -L -n

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

siebzehn − 14 =