Fórum Root.cz
Hlavní témata => Sítě => Téma založeno: Pavel M 08. 04. 2012, 19:08:24
-
Ahoj,
chtel bych se zeptat jak to funguje u IPtables a nedefaultnimi chainy. Konkretne me zajima, jak poznam ktery paket do prislusneho nedefaulniho chainu zapadne. Mam server s naledujici konfiguraci, generovanou webovym klikatkem. Podle ceho poznam, ze paket spadne treba do chainu PUB_IN?
Chain INPUT (policy DROP)
target prot opt source destination
DROP tcp -- 0.0.0.0/0 127.0.0.0/8
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
DROP all -- 224.0.0.0/4 0.0.0.0/0
PUB_IN all -- 0.0.0.0/0 0.0.0.0/0
PUB_IN all -- 0.0.0.0/0 0.0.0.0/0
PUB_IN all -- 0.0.0.0/0 0.0.0.0/0
PUB_IN all -- 0.0.0.0/0 0.0.0.0/0
DROP all -- 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy DROP)
target prot opt source destination
DROP all -- 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
PUB_OUT all -- 0.0.0.0/0 0.0.0.0/0
PUB_OUT all -- 0.0.0.0/0 0.0.0.0/0
PUB_OUT all -- 0.0.0.0/0 0.0.0.0/0
PUB_OUT all -- 0.0.0.0/0 0.0.0.0/0
Chain INT_IN (0 references)
target prot opt source destination
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
DROP all -- 0.0.0.0/0 0.0.0.0/0
Chain INT_OUT (0 references)
target prot opt source destination
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
Chain PAROLE (15 references)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
Chain PUB_IN (4 references)
target prot opt source destination
Chain PAROLE (15 references)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
Chain PUB_IN (4 references)
target prot opt source destination
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 3
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 0
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 11
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 8
PAROLE tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:20
PAROLE tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
PAROLE tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
PAROLE tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
PAROLE tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
PAROLE tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
PAROLE tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:110
PAROLE tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:143
PAROLE tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
PAROLE tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:993
PAROLE tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:995
PAROLE tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
PAROLE tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
PAROLE tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8081
PAROLE tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:10000
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:3306
DROP icmp -- 0.0.0.0/0 0.0.0.0/0
DROP all -- 0.0.0.0/0 0.0.0.0/0
Chain PUB_OUT (4 references)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
Chain fail2ban-ssh (0 references)
target prot opt source destination
RETURN all -- 0.0.0.0/0 0.0.0.0/0
-
Jeste dodam, ze to v cem vidim problem vlastnich chainu je zarazeni do nasledujiciho schematu.
http://www.abclinuxu.cz/images/screenshots/5/2/144625-zakladni-konfigurace-linux-firewallu-pomoci-iptables-53057.png
-
V kazdem chainu (nejen defaultnim) plati, ze pokud vyhovi pravidlu, je predan do toho, co je uvedeno jako cil (DROP, ACCEPT, REJECT, uzivatelsky chain). A pokud je to uzivatelsky chain a nevyhovi zadnemu pravidlu nebo nenarazi na "slepy" cil (DROP, ACCEP, REJECT), vraci se tam, odkud prisel. Z defaultnich chainu (PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING) se nema kam vracet, proto existuje vychozi politika (default policy).
Takze to zarazeni do toho schematu by se dalo zobrazit napr takto:
|
+-----+-----+
| +------+
| | |
| | +---+----+
| INPUT | | PUB_IN |
| | +---+----+
| | |
| +------+
+-----+-----+
|
Ale nemusi to byt pravda, protoze jeden uziv chain muze klidne obsluhovat vice jinych chainu (napr. logovani muze byt v samostatnem chainu a pres tenhle logovaci chain pujdou (urcite) pakety ze vsech ostatnich chainu (defaultnich i uzivatelskych). Cil LOG (snad jsem ho neprekrtil :-) ) neni "slepy", takze se pakety budou vracet zpet do sveho puvodniho chainu.