Was bedeutet eine leere Iptables?

17

Ich verwende CentOS und wenn Sie den folgenden iptablesBefehl eingeben:

iptables -L -v

Die Ausgabe ist wie folgt:

Chain INPUT (policy ACCEPT 19614 packets, 2312K bytes)  pkts bytes target     prot opt in     out     source               destination   

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)  pkts bytes target    prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 13881 packets, 32M bytes)  pkts bytes target     prot opt in     out     source               destination

Was bedeutet das? Ich kann über SSH eine Verbindung herstellen. Wo kann ich diese Regel sehen?

Memochipan
quelle

Antworten:

20

Leere iptablesRegeln bedeuten einfach, dass Sie keine Regeln haben. Keine Regeln zu haben bedeutet, dass die Tabelle "Richtlinie" steuert, was mit jedem Paket passiert, das diese Tabelle durchläuft. Das policy ACCEPTon each table bedeutet, dass alle Pakete durch jede Tabelle erlaubt sind. Somit ist keine Firewall aktiv.

Fran
quelle
Sie möchten nicht einfach nur Fragen und Antworten beantworten, können aber nicht policy ACCEPTals eine Regel an sich betrachtet werden? Ja, es blockiert zu 100% nichts und filtert keinen Datenverkehr, ist jedoch im Kontext des iptablesBetriebsverhaltens eine Regel .
JakeGould
1
@JakeGould Sicher, das macht Sinn. Sill iptablesverwendet zwei unterschiedliche Begriffe: Regel und Richtlinie , und ich habe versucht, mich an die Terminologie des Tools zu halten.
Fran
4

Sie haben keine Regeln festgelegt. Sehen Sie sich das folgende iptablesTutorial an, wie Sie Ihre Regeln hinzufügen .

Sie können Ihre SSH-Regel wie folgt hinzufügen, wodurch alle SSHs über Port 22 zugelassen werden:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT     
Paul
quelle
Danke, vielleicht war mir nicht klar. Ich bin überrascht, dass ich über SSH eine Verbindung herstellen kann, wenn ich noch keine Regel habe. Was bedeutet leerer Tisch? Alle Verbindungen zulassen oder was?
Memochipan
@Memochipan Beachten Sie, wie die Auflistung die Richtlinie enthält: "policy ACCEPT" -> Dies ist die Standardregel, die in diesem Fall den gesamten Datenverkehr akzeptiert. Ihre iptables ist effektiv als Firewall deaktiviert, ohne dass Regeln zum Blockieren des Datenverkehrs gelten.
Darth Android
2
@Memochipan Ja, das ist ein alter Thread, aber die einfache Analogie ist, dass Sie eine Tür mit einem Schloss haben, aber niemand die Tür abschließt. Wenn iptablesalso installiert ist, haben Sie die Möglichkeit , Regeln einzurichten. Aber wenn es keine Regeln gibt, gibt es kein Nichts, die Tür ist nicht verschlossen und jeder kann durch sie hindurchgehen.
JakeGould
0

Ich fand diese Frage, als ich mich fragte, warum iptables-save leer war. Also, obwohl es keine Antwort für das OP ist, dachte ich, ich lasse das hier :)

Es stellt sich heraus, dass iptables-save die Module iptable_filter (und / oder iptable_nat) benötigt.

root@mgmt:~# iptables-save 
root@mgmt:~# modprobe iptable_filter
root@mgmt:~# iptables-save 
# Generated by iptables-save v1.6.0 on Fri Aug  4 09:21:14 2017
*filter
:INPUT ACCEPT [7:488]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [4:424]
COMMIT
# Completed on Fri Aug  4 09:21:14 2017

Dies ist wichtig, wenn Sie versuchen, einige neue Regeln 'sicher' zu testen:

iptables-save > /tmp/ipt.good; (sleep 60; iptables-restore < /tmp/ipt.good) & iptables-restore < iptables.rules.test
lbt
quelle