Auf meinem Desktop möchte ich iptables ziemlich streng konfigurieren. Ich sehe keinen Grund, warum ich irgendetwas anderes zulassen sollte als den von mir initiierten Internetverkehr. Und vielleicht könnte sogar dieser auf nur wenige Ports beschränkt werden. Was sind die Grundregeln, mit denen ich meinen Desktop abschotten kann? Ich brauche nur:
- Um im Internet zu surfen
- E-Mail herunterladen
Gibt es einen empfohlenen Regelsatz?
Antwort1
Die folgenden Regeln erlauben alle ausgehenden Verbindungen, blockieren jedoch alle eingehenden Verbindungen. Die INPUT- und FORWARD-Ketten sind so eingestellt, dass sie Pakete standardmäßig ablehnen, die OUTPUT-Kette ist so eingestellt, dass sie Pakete standardmäßig akzeptiert, und die letzte Regel erlaubt eingehende Pakete, die Teil bestehender Verbindungen sind (in diesem Fall können das nur ausgehende Verbindungen sein).
iptables --policy INPUT DROP
iptables --policy FORWARD DROP
iptables --policy OUTPUT ACCEPT
iptables --append INPUT --match state --state ESTABLISHED,RELATED --jump ACCEPT
iptables --append INPUT --jump REJECT
iptables --append FORWARD --jump REJECT
Wenn Sie ausgehenden Datenverkehr einschränken möchten, müssen Sie die OUTPUT-Richtlinie auf „Ablehnen“ ändern und Regeln zum Akzeptieren von Datenverkehr auf bestimmten Ports hinzufügen. Beispiel:
iptables --policy OUTPUT DROP
iptables --append OUTPUT --protocol udp --match multiport --dports domain,bootps --jump ACCEPT
iptables --append OUTPUT --protocol tcp --match multiport --dports domain,http,https,ssh,pop3s,imaps,submission --jump ACCEPT
iptables --append OUTPUT --jump REJECT
Antwort2
Das folgende iptables-restore
Skript sollte für Ihre Anforderungen ausreichen:
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -m state ! --state NEW -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
COMMIT
Das Skript kann noch kürzer gemacht werden, indem die Regel gelöscht wird, die ICMP-Pings zulässt. Das würde ich jedoch nicht empfehlen. Meiner Meinung nach schadet das Antworten auf Pings der Sicherheit kaum (wenn überhaupt) und kann bei der Fehlerbehebung im Netzwerk hilfreich sein.
Wenn Sie eingehende Verbindungen über einen bestimmten TCP-Port zulassen möchten (z. B. um Verbindungen zuzulassen ), können Sie Ihrem Skript direkt über der Anweisung ssh
Regeln hinzufügen, beispielsweise die folgenden :COMMIT
-A INPUT -p tcp -m tcp --dport 22 --syn -j ACCEPT