Was ist eine solide iptables-Konfiguration für meinen Desktop?

Was ist eine solide iptables-Konfiguration für meinen Desktop?

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-restoreSkript 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 sshRegeln hinzufügen, beispielsweise die folgenden :COMMIT

-A INPUT -p tcp -m tcp --dport 22 --syn -j ACCEPT

verwandte Informationen