Nedefaultní chainy v IPtables

Nedefaultní chainy v IPtables
« kdy: 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?

Kód: [Vybrat]
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
« Poslední změna: 09. 04. 2012, 20:31:56 od Petr Krčmář »


Re:NEDefaulotni chainy ve FW
« Odpověď #1 kdy: 08. 04. 2012, 19:12:32 »
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

David

Re:NEDefaulotni chainy ve FW
« Odpověď #2 kdy: 08. 04. 2012, 22:07:48 »
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:
Kód: [Vybrat]

      |
+-----+-----+
|           +------+
|           |      |
|           |  +---+----+
|   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.