PDA

Bekijk Volledige Versie : IPv6 en CSF



Nielsvk
18/07/11, 21:35
Hi,

Ik ben bekend met het feit dat CSF niet onder elke kernel even goed werkt met IPv6. Mijn udp6/tcp6 out staan ook op "0:65535". Echter krijg ik steeds een timeout, wil ik een wget uitvoeren over IPv6. Deze krijg ik niet meer als iptables6 uitgeschakeld staat.

Heb ik ergens overheen gekeken?

Niels.

visser
18/07/11, 21:48
Hi,

Ik ben bekend met het feit dat CSF niet onder elke kernel even goed werkt met IPv6. Mijn udp6/tcp6 out staan ook op "0:65535". Echter krijg ik steeds een timeout, wil ik een wget uitvoeren over IPv6. Deze krijg ik niet meer als iptables6 uitgeschakeld staat.

Heb ik ergens overheen gekeken?

Niels.

Het posten van je iptables rules en kernel versie ?
Wilde gok : stateful ip6tables was kapot in kernels gebruik tot en met CentOS 5.x . (kernels < 2.6.20).

Nielsvk
18/07/11, 22:19
Hi,

Ja daar had ik ook iets over gelezen. Het gaat om kernel versie "2.6.18-238.12.1.el5". Word dus een kernel update?

Niels.

visser
18/07/11, 23:26
Hi,

Ja daar had ik ook iets over gelezen. Het gaat om kernel versie "2.6.18-238.12.1.el5". Word dus een kernel update?

Niels.

Als je iptables rulebase probeert stateful te zijn wel.
Stateless kun je ook met 2.6.18 werken.

Kijk dus in de rulebase.

Nielsvk
19/07/11, 00:56
Ik gebruik de standaard rules van CSF, dan zou ik dit binnen de configuratie van CSF moeten aanpassen. Zal me eens gaan verdiepen in dit pakketje.

visser
19/07/11, 01:28
Ik gebruik de standaard rules van CSF, dan zou ik dit binnen de configuratie van CSF moeten aanpassen. Zal me eens gaan verdiepen in dit pakketje.

Kijk gewoon direct naar je ip6tables.
commandline:
ip6tables -nvL

Zie je daar iets met "state" en NEW , RELATED of ESTABLISHED (of een combinatie) erachter dan gebruik je stateful iptables.

In de config van ip6tables (ik ken CSF niet) wordt dan een commando -m state gebruikt.

Nielsvk
19/07/11, 10:52
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
3571 432K LOCALINPUT all !lo * ::/0 ::/0
0 0 ACCEPT all lo * ::/0 ::/0
0 0 ACCEPT tcp !lo * ::/0 ::/0 tcp dpt:25
0 0 ACCEPT tcp !lo * ::/0 ::/0 tcp dpt:53
40 5101 ACCEPT tcp !lo * ::/0 ::/0 tcp dpt:80
0 0 ACCEPT tcp !lo * ::/0 ::/0 tcp dpt:110
0 0 ACCEPT tcp !lo * ::/0 ::/0 tcp dpt:143
0 0 ACCEPT tcp !lo * ::/0 ::/0 tcp dpt:443
0 0 ACCEPT tcp !lo * ::/0 ::/0 tcp dpt:465
0 0 ACCEPT tcp !lo * ::/0 ::/0 tcp dpt:587
0 0 ACCEPT tcp !lo * ::/0 ::/0 tcp dpt:993
0 0 ACCEPT tcp !lo * ::/0 ::/0 tcp dpt:995
0 0 ACCEPT udp !lo * ::/0 ::/0 udp dpt:20
0 0 ACCEPT udp !lo * ::/0 ::/0 udp dpt:21
2 185 ACCEPT udp !lo * ::/0 ::/0 udp dpt:53
374 30456 ACCEPT icmpv6 !lo * ::/0 ::/0
3148 396K LOGDROPIN all !lo * ::/0 ::/0

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

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
817 85029 LOCALOUTPUT all * !lo ::/0 ::/0
0 0 ACCEPT all * lo ::/0 ::/0
0 0 ACCEPT tcp * !lo ::/0 ::/0 tcp dpt:53
275 25521 ACCEPT udp * !lo ::/0 ::/0 udp dpt:53
0 0 ACCEPT tcp * !lo ::/0 ::/0 tcp spt:53
2 299 ACCEPT udp * !lo ::/0 ::/0 udp spt:53
171 34281 ACCEPT tcp * !lo ::/0 ::/0 tcp
0 0 ACCEPT udp * !lo ::/0 ::/0 udp
369 24928 ACCEPT icmpv6 * !lo ::/0 ::/0
0 0 LOGDROPOUT all * !lo ::/0 ::/0

Chain LOCALINPUT (1 references)
pkts bytes target prot opt in out source destination

Chain LOCALOUTPUT (1 references)
pkts bytes target prot opt in out source destination

Chain LOGDROPIN (1 references)
pkts bytes target prot opt in out source destination
0 0 DROP tcp * * ::/0 ::/0 tcp dpt:67
0 0 DROP udp * * ::/0 ::/0 udp dpt:67
0 0 DROP tcp * * ::/0 ::/0 tcp dpt:68
0 0 DROP udp * * ::/0 ::/0 udp dpt:68
0 0 DROP tcp * * ::/0 ::/0 tcp dpt:111
0 0 DROP udp * * ::/0 ::/0 udp dpt:111
0 0 DROP tcp * * ::/0 ::/0 tcp dpt:113
0 0 DROP udp * * ::/0 ::/0 udp dpt:113
0 0 DROP tcp * * ::/0 ::/0 tcp dpts:135:139
0 0 DROP udp * * ::/0 ::/0 udp dpts:135:139
0 0 DROP tcp * * ::/0 ::/0 tcp dpt:445
0 0 DROP udp * * ::/0 ::/0 udp dpt:445
0 0 DROP tcp * * ::/0 ::/0 tcp dpt:500
0 0 DROP udp * * ::/0 ::/0 udp dpt:500
0 0 DROP tcp * * ::/0 ::/0 tcp dpt:513
0 0 DROP udp * * ::/0 ::/0 udp dpt:513
0 0 DROP tcp * * ::/0 ::/0 tcp dpt:520
0 0 DROP udp * * ::/0 ::/0 udp dpt:520
152 11160 LOG tcp * * ::/0 ::/0 limit: avg 30/min burst 5 LOG flags 0 level 4 prefix `Firewall: *TCP6IN Blocked* '
2378 288K LOG udp * * ::/0 ::/0 limit: avg 30/min burst 5 LOG flags 0 level 4 prefix `Firewall: *UDP6IN Blocked* '
0 0 LOG icmpv6 * * ::/0 ::/0 limit: avg 30/min burst 5 LOG flags 0 level 4 prefix `Firewall: *ICMP6IN Blocked* '
3148 396K DROP all * * ::/0 ::/0

Chain LOGDROPOUT (1 references)
pkts bytes target prot opt in out source destination
0 0 LOG tcp * * ::/0 ::/0 limit: avg 30/min burst 5 LOG flags 0 level 4 prefix `Firewall: *TCP6OUT Blocked* '
0 0 LOG udp * * ::/0 ::/0 limit: avg 30/min burst 5 LOG flags 0 level 4 prefix `Firewall: *UDP6OUT Blocked* '
0 0 LOG icmpv6 * * ::/0 ::/0 limit: avg 30/min burst 5 LOG flags 0 level 4 prefix `Firewall: *ICMP6OUT Blocked* '
0 0 DROP all * * ::/0 ::/0

Zover als ik zie, maak CSF gebruik (in dit geval) van een stateless firewall. Toch vreemd dat ik problemen heb met de firewall...

visser
19/07/11, 11:17
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
3571 432K LOCALINPUT all !lo * ::/0 ::/0
0 0 ACCEPT all lo * ::/0 ::/0
0 0 ACCEPT tcp !lo * ::/0 ::/0 tcp dpt:25
0 0 ACCEPT tcp !lo * ::/0 ::/0 tcp dpt:53
40 5101 ACCEPT tcp !lo * ::/0 ::/0 tcp dpt:80
0 0 ACCEPT tcp !lo * ::/0 ::/0 tcp dpt:110
0 0 ACCEPT tcp !lo * ::/0 ::/0 tcp dpt:143
0 0 ACCEPT tcp !lo * ::/0 ::/0 tcp dpt:443
0 0 ACCEPT tcp !lo * ::/0 ::/0 tcp dpt:465
0 0 ACCEPT tcp !lo * ::/0 ::/0 tcp dpt:587
0 0 ACCEPT tcp !lo * ::/0 ::/0 tcp dpt:993
0 0 ACCEPT tcp !lo * ::/0 ::/0 tcp dpt:995
0 0 ACCEPT udp !lo * ::/0 ::/0 udp dpt:20
0 0 ACCEPT udp !lo * ::/0 ::/0 udp dpt:21
2 185 ACCEPT udp !lo * ::/0 ::/0 udp dpt:53
374 30456 ACCEPT icmpv6 !lo * ::/0 ::/0
3148 396K LOGDROPIN all !lo * ::/0 ::/0

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

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
817 85029 LOCALOUTPUT all * !lo ::/0 ::/0
0 0 ACCEPT all * lo ::/0 ::/0
0 0 ACCEPT tcp * !lo ::/0 ::/0 tcp dpt:53
275 25521 ACCEPT udp * !lo ::/0 ::/0 udp dpt:53
0 0 ACCEPT tcp * !lo ::/0 ::/0 tcp spt:53
2 299 ACCEPT udp * !lo ::/0 ::/0 udp spt:53
171 34281 ACCEPT tcp * !lo ::/0 ::/0 tcp
0 0 ACCEPT udp * !lo ::/0 ::/0 udp
369 24928 ACCEPT icmpv6 * !lo ::/0 ::/0
0 0 LOGDROPOUT all * !lo ::/0 ::/0

Chain LOCALINPUT (1 references)
pkts bytes target prot opt in out source destination

Chain LOCALOUTPUT (1 references)
pkts bytes target prot opt in out source destination

Chain LOGDROPIN (1 references)
pkts bytes target prot opt in out source destination
0 0 DROP tcp * * ::/0 ::/0 tcp dpt:67
0 0 DROP udp * * ::/0 ::/0 udp dpt:67
0 0 DROP tcp * * ::/0 ::/0 tcp dpt:68
0 0 DROP udp * * ::/0 ::/0 udp dpt:68
0 0 DROP tcp * * ::/0 ::/0 tcp dpt:111
0 0 DROP udp * * ::/0 ::/0 udp dpt:111
0 0 DROP tcp * * ::/0 ::/0 tcp dpt:113
0 0 DROP udp * * ::/0 ::/0 udp dpt:113
0 0 DROP tcp * * ::/0 ::/0 tcp dpts:135:139
0 0 DROP udp * * ::/0 ::/0 udp dpts:135:139
0 0 DROP tcp * * ::/0 ::/0 tcp dpt:445
0 0 DROP udp * * ::/0 ::/0 udp dpt:445
0 0 DROP tcp * * ::/0 ::/0 tcp dpt:500
0 0 DROP udp * * ::/0 ::/0 udp dpt:500
0 0 DROP tcp * * ::/0 ::/0 tcp dpt:513
0 0 DROP udp * * ::/0 ::/0 udp dpt:513
0 0 DROP tcp * * ::/0 ::/0 tcp dpt:520
0 0 DROP udp * * ::/0 ::/0 udp dpt:520
152 11160 LOG tcp * * ::/0 ::/0 limit: avg 30/min burst 5 LOG flags 0 level 4 prefix `Firewall: *TCP6IN Blocked* '
2378 288K LOG udp * * ::/0 ::/0 limit: avg 30/min burst 5 LOG flags 0 level 4 prefix `Firewall: *UDP6IN Blocked* '
0 0 LOG icmpv6 * * ::/0 ::/0 limit: avg 30/min burst 5 LOG flags 0 level 4 prefix `Firewall: *ICMP6IN Blocked* '
3148 396K DROP all * * ::/0 ::/0

Chain LOGDROPOUT (1 references)
pkts bytes target prot opt in out source destination
0 0 LOG tcp * * ::/0 ::/0 limit: avg 30/min burst 5 LOG flags 0 level 4 prefix `Firewall: *TCP6OUT Blocked* '
0 0 LOG udp * * ::/0 ::/0 limit: avg 30/min burst 5 LOG flags 0 level 4 prefix `Firewall: *UDP6OUT Blocked* '
0 0 LOG icmpv6 * * ::/0 ::/0 limit: avg 30/min burst 5 LOG flags 0 level 4 prefix `Firewall: *ICMP6OUT Blocked* '
0 0 DROP all * * ::/0 ::/0

Zover als ik zie, maak CSF gebruik (in dit geval) van een stateless firewall. Toch vreemd dat ik problemen heb met de firewall...

Ik zie niet helemaal hoe je input policy moet werken, want het lijkt erop dat je alle input verkeer naar LOCALINPUT haalt, en daar staat niks.
Verder zie ik in de input chain geen accept van , feitelijk, retour verkeer van je TCP sessie.
Als jij download via HTTP, is jouw uitgaande verkeer naar tcp destination poort 80, (en vanaf een source port >1024), en retour verkeer vanaf die webserver heeft dus source port 80 en destination port >1024 .
Normaal gesproken match je dat stateful ... (established )

Ik denk dat je dergelijk verkeer in de logs van logdropin ziet.

Nielsvk
19/07/11, 11:42
Jul 19 10:41:38 hq kernel: Firewall: *TCP6IN Blocked* IN=eth0 OUT= MAC=00:50:56:00:05:ab:00:d0:00:fb:90:00:86:dd SRC=2001:1af8:4100:a021:0002:0000:0000:0111 DST=2001:1af8:4300:a005:0007:0000:0000:0001 LEN=80 TC=0 HOPLIMIT=62 FLOWLBL=0 PROTO=TCP SPT=80 DPT=48625 WINDOW=5712 RES=0x00 ACK SYN URGP=0

Word inderdaad geblokt, maar ik snap niet precies wat je bedoelt...

visser
19/07/11, 12:12
Jul 19 10:41:38 hq kernel: Firewall: *TCP6IN Blocked* IN=eth0 OUT= MAC=00:50:56:00:05:ab:00:d0:00:fb:90:00:86:dd SRC=2001:1af8:4100:a021:0002:0000:0000:0111 DST=2001:1af8:4300:a005:0007:0000:0000:0001 LEN=80 TC=0 HOPLIMIT=62 FLOWLBL=0 PROTO=TCP SPT=80 DPT=48625 WINDOW=5712 RES=0x00 ACK SYN URGP=0

Word inderdaad geblokt, maar ik snap niet precies wat je bedoelt...

Wat daar geblocked wordt is het antwoord van de webserver op jouw poging een sessie op te zetten, dus geen wonder dat je wget/curl blijft hangen.

Ik ken CSF dus niet, maar ik denk dat de default toch probeert om een stateful firewall te gebruiken, en de rulebase daarop geschreven is.
Je hebt nu geen werkende state module, maar ook geen werkende stateless configuratie.

Ik denk dat je, als je IPv6 wilt doen, toch in elk geval maar beter naar een kernel >= 2.6.20 moet gaan;
Je zou op zich wel iets kunnen doen aan deze rulebase (permit van source port 80 naar dpt >1024 met !SYN), maar dat is toch een beetje lapwerk.

Post trouwens ook even welke distributie je gebruikt, wellicht dat mensen die bekend zijn met de combinatie <die distributie>+CSF+IPv6 nog gerichte tips hebben.

Nielsvk
19/07/11, 14:03
Het is CentOS icm. met IPv6 en CSF. Misschien als alles goed getest is, upgraden naar CentOS 6.

Bedankt voor je uitleg, hier heb ik zeker wat aan.