Die erste Regel in der FORWARD-Kette finde ich interessant. Warum wäre diese Regel notwendig, wenn die Richtlinie DROP vorsieht?
root@tomato:/tmp/home/root# iptables -L --line-numbers
Chain INPUT (policy DROP)
num target prot opt source destination
1 REJECT tcp -- anywhere tomato multiport dports www,https,ssh reject-with tcp-reset
2 REJECT tcp -- anywhere tomato-lan1 multiport dports www,https,ssh reject-with tcp-reset
3 DROP all -- anywhere anywhere state INVALID
4 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
5 shlimit tcp -- anywhere anywhere tcp dpt:ssh state NEW
6 ACCEPT all -- anywhere anywhere
7 ACCEPT all -- anywhere anywhere
8 ACCEPT all -- anywhere anywhere
Chain FORWARD (policy DROP)
num target prot opt source destination
1 REJECT tcp -- anywhere tomato multiport dports www,https,ssh reject-with tcp-reset
2 REJECT tcp -- anywhere tomato-lan1 multiport dports www,https,ssh reject-with tcp-reset
3 ACCEPT all -- anywhere anywhere
4 ACCEPT all -- anywhere anywhere
5 DROP all -- anywhere anywhere state INVALID
6 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
7 DROP all -- anywhere anywhere
8 DROP all -- anywhere anywhere
9 wanin all -- anywhere anywhere
10 wanout all -- anywhere anywhere
11 ACCEPT all -- anywhere anywhere
12 ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Chain shlimit (1 references)
num target prot opt source destination
1 all -- anywhere anywhere recent: SET name: shlimit side: source
2 DROP all -- anywhere anywhere recent: UPDATE seconds: 60 hit_count: 4 name: shlimit side: source
Chain wanin (1 references)
num target prot opt source destination
1 ACCEPT tcp -- anywhere oldtimer tcp dpt:3300
Chain wanout (1 references)
num target prot opt source destination
Antwort1
1) Die Regeln werden automatisch von einem Programm generiert, das eine Beschreibung auf höherer Ebene verwendet. Gehen Sie nicht davon aus, dass eine Regel „notwendig“ ist, nur weil sie dort erscheint.
2) Auch wenn eine Regel nicht unbedingt erforderlich ist, kann es sinnvoll sein, sie aufzunehmen, um ausdrücklich darauf hinzuweisen, dass etwas nicht erlaubt ist.
3) Allerdings kann es tatsächlich notwendig sein, diese Regel einzuschließen, nämlich wenn es andere Regeln gibt, die das Paket akzeptieren würden, bevor das Ende der Tabelle erreicht ist und die Standard-DROP-Richtlinie gilt.
Insbesondere sehen die Regeln 11 und 12 in der FORWARD-Kette identisch aus und scheinen alles zu akzeptieren (sie verfügen also wahrscheinlich über Attribute, die nicht aufgeführt sind; versuchen Sie es -S
mit statt mit -L
). Wenn dies tatsächlich der Fall ist, entspricht dies der Standardrichtlinie ACCEPT. Sie müssten daher alles, was Sie löschen möchten, ausdrücklich löschen.