iptables problema?

Fórumok

Hello!

Az volna a problemam, hogy adva van egy Debian 6, ami openvpn szerver es nagios is egyben, de ez talan lenyegtelen a problemat illetoen.

A tegnapi napon a kovetkezo modszerrel az eddig boot alatt az rc.local-bol lefuto iptables scriptet igy oldottam meg:

http://wiki.debian.org/iptables

Azota van 1 db IP amit hol tudok pingelni, hol nem a szerverrol...emiatt a nagios hol down hol up riasztasokat kuld, holott masik geprol az IP folyamatosan pingelheto.

iptables -L kimenet: (mivel csak belso IP cimek vannak a konfigban, igy ugygondolom felesleges volna kiszedni oket)

A nem folyamatosan pingelheto IP a ...206.254

Mi lehet a gond?

Talan lenyeges lehet, hogy az ezaltal a szerver altal szolgaltatott vpn-bol is folyamatosan pingelheto a kerdeses IP.

Koszi,
FBK

Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
bad_packets all -- anywhere anywhere
DROP all -- anywhere all-systems.mcast.net
ACCEPT all -- 192.168.206.0/24 anywhere
ACCEPT all -- anywhere 192.168.206.255
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
tcp_inbound tcp -- anywhere anywhere
udp_inbound udp -- anywhere anywhere
icmp_packets icmp -- anywhere anywhere
DROP all -- anywhere anywhere PKTTYPE = broadcast
LOG all -- anywhere anywhere limit: avg 3/min burst 3 LOG level warning prefix `INPUT packet died: '
ACCEPT udp -- anywhere anywhere udp dpt:openvpn state NEW
DROP tcp -- anywhere anywhere tcp dpt:ssh flags:FIN,SYN,RST,ACK/SYN recent: UPDATE seconds: 120 hit_count: 3 name: DEFAULT side: source
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh flags:FIN,SYN,RST,ACK/SYN recent: SET name: DEFAULT side: source

Chain FORWARD (policy DROP)
target prot opt source destination
bad_packets all -- anywhere anywhere
tcp_outbound tcp -- anywhere anywhere
udp_outbound udp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
LOG all -- anywhere anywhere limit: avg 3/min burst 3 LOG level warning prefix `FORWARD packet died: '

Chain OUTPUT (policy DROP)
target prot opt source destination
DROP icmp -- anywhere anywhere state INVALID
ACCEPT all -- localhost anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- 192.168.206.0 anywhere
ACCEPT all -- 9.0.0.0 anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
LOG all -- anywhere anywhere limit: avg 3/min burst 3 LOG level warning prefix `OUTPUT packet died: '

Chain bad_packets (2 references)
target prot opt source destination
LOG all -- 192.168.206.0/24 anywhere LOG level warning prefix `Illegal source: '
DROP all -- 192.168.206.0/24 anywhere
LOG all -- anywhere anywhere state INVALID LOG level warning prefix `Invalid packet: '
DROP all -- anywhere anywhere state INVALID
bad_tcp_packets tcp -- anywhere anywhere
RETURN all -- anywhere anywhere

Chain bad_tcp_packets (1 references)
target prot opt source destination
RETURN tcp -- anywhere anywhere
LOG tcp -- anywhere anywhere tcp flags:!FIN,SYN,RST,ACK/SYN state NEW LOG level warning prefix `New not syn: '
DROP tcp -- anywhere anywhere tcp flags:!FIN,SYN,RST,ACK/SYN state NEW
LOG tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,PSH,ACK,URG/NONE LOG level warning prefix `Stealth scan: '
DROP tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,PSH,ACK,URG/NONE
LOG tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,PSH,ACK,URG/FIN,SYN,RST,PSH,ACK,URG LOG level warning prefix `Stealth scan: '
DROP tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,PSH,ACK,URG/FIN,SYN,RST,PSH,ACK,URG
LOG tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,PSH,ACK,URG/FIN,PSH,URG LOG level warning prefix `Stealth scan: '
DROP tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,PSH,ACK,URG/FIN,PSH,URG
LOG tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,PSH,ACK,URG/FIN,SYN,RST,ACK,URG LOG level warning prefix `Stealth scan: '
DROP tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,PSH,ACK,URG/FIN,SYN,RST,ACK,URG
LOG tcp -- anywhere anywhere tcp flags:SYN,RST/SYN,RST LOG level warning prefix `Stealth scan: '
DROP tcp -- anywhere anywhere tcp flags:SYN,RST/SYN,RST
LOG tcp -- anywhere anywhere tcp flags:FIN,SYN/FIN,SYN LOG level warning prefix `Stealth scan: '
DROP tcp -- anywhere anywhere tcp flags:FIN,SYN/FIN,SYN
RETURN tcp -- anywhere anywhere

Chain icmp_packets (1 references)
target prot opt source destination
LOG icmp -f anywhere anywhere LOG level warning prefix `ICMP Fragment: '
DROP icmp -f anywhere anywhere
DROP icmp -- anywhere anywhere icmp echo-request
ACCEPT icmp -- anywhere anywhere icmp time-exceeded
RETURN icmp -- anywhere anywhere

Chain tcp_inbound (1 references)
target prot opt source destination
RETURN tcp -- anywhere anywhere

Chain tcp_outbound (1 references)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere

Chain udp_inbound (1 references)
target prot opt source destination
DROP udp -- anywhere anywhere udp dpt:netbios-ns
DROP udp -- anywhere anywhere udp dpt:netbios-dgm
RETURN udp -- anywhere anywhere

Chain udp_outbound (1 references)
target prot opt source destination
ACCEPT udp -- anywhere anywhere

Hozzászólások

Dmesg, syslog, messages, daemon.log nem mond semmit?
--
TH

próbáld arping -elni
ez tipikusan úgy néz ki mintha két gépen is fenn lenne az ip.
Az arping a mac address -t is megmutatja

----
올드보이
http://molnaristvan.eu/

az otlet jo volna, de kozben eszrevettem hogy tobb iranyba is problemak vannak, neha eltunik a szerver lan-rol majd visszajon, neha ezt az IP-t nem latja, neha azt...furcsa...

egy pelda a nagios logjabol:
[1325748787] SERVICE ALERT: valami.valami.hu;HTTPS;CRITICAL;SOFT;1;CRITICAL - Socket timeout after 10 seconds

majd ez visszajon es eltunik valami mas...

--
FBK

Totál OFF leszek.
Én sosem használtam a "restore"-"save" megoldást, illetve a -L kimenete is teljesen értelmezhetetlen számomra :)
Hogy lehet az, hogy egy szabályrendszer azzal kezdődik, hogy "accept all any any" ???
Utána mi történik a csomaggal? :)

Hogy egy iptables-t megértsek, mindig a "nyers" scriptet nézem, szerkesztem, lehet azért, mert ez
áll sokkal közelebb az IOS-es ACL-ekhez, azokkal sokkal többet molyolok, mint linux-al.
Egész biztos RTFM, de akkor is kapja be, aki ezt azt outputot így álmodta meg.
/OFF

Hozzászólni érdemben meg nem tudok, mert nem értem az outputot (és nem is akarom)...
Tényleg elnézést a kirohanásért.

Az a probléma, hogy az iptables -L parancs kimenetéből valahogy lemaradnak dolgok, amelyek egy iptables-save esetén működnek.
Hogy érthető legyen a dolog, mondok egy példát: a lo interface jellegéből adódóan megbízhatónak szokás minősíteni, így első szabály sok esetben az, hogy engedjük a forgalmat. Ez iptables szinten így nézne ki, mondjuk az INPUT láncra:
iptables -I INPUT -i lo -j ACCEPT
Ebben a szabályban ugye van egy szűkítés az interface-ra. Az iptables-save megfelelő sora ezt mutatja is:
-A INPUT -i lo -j ACCEPT
Az iptables -L viszont mindenképp kiír forrást is, célt is - ami ebben az esetben any any -, még ir célportot is - ami ugye itt all -, de semmi mást! Tehát a leglényegesebb tétel, hogy ez a szabály csak a lo interface-ra vonatkozik, nem jelenik meg a kimenetben:
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
Ez így tényleg rosszul néz ki és az info rejtés miatt igazából nem használható.

A scriptekkel meg az a baj, hogy igen sok nyelven meg lehet írni azokat - és akkor még a " ... -I FORWARD 12 ..." jellegű perverziókról nem is beszéltem. Egy iptables-save kimenete viszont egységes, scripttől független és ilyen bukfencek sincsenek benne, hogy 12. szabálynak szúrok be valamit. Szóval iptables gond esetén szerintem egy iptables-save az, aminek a kimenete egyértelmű.

Megpróbáltam megérteni ezt a kimenetet. Ha a logokban nincs semmi, akkor bizonyos szabályok kapásból kiesnek(LOG+DROP együtt). Meglátásom szerint a "DROP icmp -- anywhere anywhere icmp echo-request" szabályt töröld ki vagy tegyél mellé egy LOG szabályt és úgy nézd meg az eredményt.

Próbáld részekre bontani és kihagyni egyes darabjait. Legalább le tudod szűkíteni, hogy melyik szekció okozza a gondot.
--
TH

Szia!

Dobd el pm-ben az alábbi parancsok kimeneteit, és kivesézem mindet:

iptables -vnL -t raw
iptables -vnL -t mangle
iptables -vnL -t nat
iptables -vnL -t filter

ifconfig [belső interfész]

cat /proc/sys/net/ipv6/conf/all/disable_ipv6

Köszi!

--
Debian Linux rulez... :D