iptables, Standardrichtlinie gegen Regeln

12

Gibt es einen Unterschied zwischen dem Verwerfen nicht übereinstimmender Pakete mit der Standardrichtlinie und -j DROPdem Ende?

Mögen:

iptables -P INPUT DROP
iptables -A INPUT --dport 80 -j ACCEPT

vs.

iptables -A INPUT --dport 80 -j ACCEPT
iptables -A INPUT -j DROP

Der Grund, warum es mich interessiert, ist, dass ich keine Kette mit Protokoll erstellen und als Standardrichtlinie festlegen kann, sodass ich das zweite Beispiel verwenden müsste.

jemand
quelle
Was versuchst du zu protokollieren?
tftd
Im Allgemeinen alles. Wenn ich iptables debugge, ist es Verstecken, wenn ich nicht weiß, wo oder warum es gelöscht wurde.
Jemand

Antworten:

5

Aus technischer Sicht Nein. Das Paket wird in beide Richtungen verworfen.

Aber Sirex ist insofern richtig, als es etwas schmerzhaft sein kann, wenn Sie etwas Wichtiges vergessen, wenn Sie die Standardregeln für Tabellen wechseln.

Nachdem Sie einige Zeit mit IPTables verbracht haben, werden Sie wahrscheinlich eine Präferenz finden und Ihre Systeme in Ihrer Umgebung darauf aufbauen.

Magellan
quelle
5

Ja. Wenn Sie eine DROP-Richtlinie verwenden und dann eine Verbindung über SSH herstellen und die Tabelle ( iptables -F) leeren, sperren Sie sich selbst, da die Standardrichtlinie nicht geleert wird.

Ich habe dies auf einem Remote-System getan. Es tat weh.

(Andere Lektion gelernt, wenn Sie die Firewall für eine Weile loswerden möchten, verwenden Sie service iptables stopnicht iptables-F + service iptables reload)

Eine Standardrichtlinie ist jedoch wahrscheinlich sicherer, da sie einfacher zu verwalten ist. Sie können nicht vergessen, es am Ende hinzuzufügen.

Sirex
quelle
3

Vielleicht eine andere Sache zu diesem Thema für diejenigen, die diese Informationen genau wie ich vor ein paar Stunden benötigen.

Letzterer Weg:

iptables -A INPUT --dport 80 -j ACCEPT
iptables -A INPUT -j DROP

Sie können eine Regel später nicht anhängen (da die angehängte Regel nach der universellen Drop-Regel angezeigt wird und daher keine Auswirkung hat), müssen Sie die Regel mit einer expliziten Angabe der gewünschten Position einfügen:

iptables -I INPUT 1 --dport 8080 -j ACCEPT

Anstatt von

iptables -A INPUT --dport 80 -j ACCEPT

Abhängig von Ihren Anforderungen kann dies der Sicherheit ein wenig helfen, indem Sie oder was auch immer später die Regel hinzufügt, um die vorhandenen Regeln wirklich durchzugehen und sie nicht nur wie gewohnt anzuhängen.

Dieses Wissen habe ich mir gestern verdient, als ich 20 Minuten lang überprüft habe, warum mein neu installierter Dienst nicht reagiert, obwohl alles läuft.

Pavel
quelle
1

Standardrichtlinien sind recht begrenzt, machen jedoch einen guten Rückstopp, um sicherzustellen, dass nicht behandelte Pakete ordnungsgemäß behandelt werden.

Wenn Sie diese Pakete protokollieren müssen (möchten), benötigen Sie eine endgültige Regel. Dies kann eine Kette sein, die die Richtlinie protokolliert und anwendet. Sie können sich auch einfach anmelden und die Richtlinie damit umgehen lassen.

Berücksichtigen Sie diese politischen Ansätze und die endgültige Richtlinienregel.

  • Verwenden und akzeptieren Sie Richtlinien und überschreiben Sie sie mit der gewünschten Richtlinie als letzte Regel. Dies kann Sie schützen, wenn Sie einen Host an einem Remotestandort verwalten. Wenn Sie Ihre Regeln fallen lassen, bleibt Ihnen nur Ihre sekundäre Verteidigungslinie wie hosts.allow. Wenn Sie Ihre endgültige Regel fallen lassen, erhalten Sie eine meist offene oder vollständig offene Konfiguration.
  • Legen Sie die gewünschte Richtlinie fest und stoppen Sie sie mit einer endgültigen Richtlinienregel. Dies kann sicherer sein, wenn Sie physischen oder Konsolenzugriff auf einen Host haben. Wenn Sie Ihre Regeln löschen, verlieren Sie den Zugriff auf alle Dienste, es sei denn, die Richtlinie lautet AKZEPTIEREN. Wenn Sie Ihre endgültige Regel fallen lassen, sind Sie weiterhin geschützt.
BillThor
quelle