Strona 1 z 1

iptables bład

: 19 stycznia 2008, 14:48
autor: tunfish
mam problem z plikiem /etc/init.d/firewall

Kod: Zaznacz cały

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

#iptables -A INPUT -i lo -j ACCEPT
#iptables -A FORWARD -o lo -j ACCEPT
iptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -o eth1 -p icmp --icmp-type echo-request -j ACCEPT
iptables -A FORWARD -o eth1 -p icmp --icmp-type echo-request -j ACCEPT

iptables -A INPUT -s 0/0 -d 83.3.226.2 -p tcp --dport 20 -j ACCEPT
iptables -A OUTPUT -s 0/0 -d 83.3.226.2 -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -s 0/0 -d 83.3.226.2 -p udp --dport 20 -j ACCEPT
iptables -A OUTPUT -s 0/0 -d 83.3.226.2 -p udp --dport 20 -j ACCEPT

iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED


iptables -A INPUT -s 0/0 -d 83.3.226.2 -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -s 0/0 -d 83.3.226.2 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 0/0 -d 83.3.226.2 -p udp --dport 22 -j ACCEPT
iptables -A OUTPUT -s 0/0 -d 83.3.226.2 -p udp --dport 22 -j ACCEPT
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED


iptables -A INPUT -s 0/0 -d 83.3.226.2 -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -s 0/0 -d 83.3.226.2 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -s 0/0 -d 83.3.226.2 -p udp --dport 80 -j ACCEPT
iptables -A OUTPUT -s 0/0 -d 83.3.226.2 -p udp --dport 80 -j ACCEPT

iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED

# KOMP1 - 
iptables -t nat -A POSTROUTING -s 192.168.0.13 -j MASQUERADE 
iptables -A FORWARD -m mac --mac-source 00:30:4f:15:c5:bc -j ACCEPT 

# KOMP2 - 
iptables -t nat -A POSTROUTING -s 192.168.0.14 -j MASQUERADE 
iptables -A FORWARD -m mac --mac-source 00:0b:6a:31:e5:cc -j ACCEPT 



iptables -D FORWARD -m mac --mac-source 00:12:22:a0:dc:34 -j ACCEPT
iptables -A FORWARD -m mac --mac-source 00:12:22:a0:dc:34 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -m mac --mac-source 00:12:22:a0:dc:34 -p tcp --dport 333 -s 192.168.0.200 -d 192.168.0.1 -j ACCEPT
iptables -A PREROUTING -t nat -s 192.168.0.200 -p tcp --dport 1:52 -j DNAT --to 192.168.0.1:333
iptables -A PREROUTING -t nat -s 192.168.0.200 -p tcp --dport 54:65535 -j DNAT --to 192.168.0.1:333
internet jest udostępniany na komputery, niestety nie mam dostępu zdalnego do serwera poprzez putty lub Midnight Commender(windows) oraz nie działa wyświetlanie przygotowanej strony www na porcie 333

w czasie uruchamiania pliku /firewall
serwer wyswietla:
iptables: bad rule (does a matching rule exist in that chain?)

: 19 stycznia 2008, 15:51
autor: ShinnRa
tunfish pisze:iptables -D FORWARD -m mac --mac-source 00:12:22:a0:dc:34 -j ACCEPT
chyba miało być: iptables -A FORWARD
tunfish pisze:iptables: bad rule (does a matching rule exist in that chain?)
odnośnie poprzedniego: bo próbujesz usunąć coś co nieistnieje

Re: iptables bład

: 19 stycznia 2008, 18:06
autor: kefear
tunfish pisze: internet jest udostępniany na komputery, niestety nie mam dostępu zdalnego do serwera poprzez putty lub Midnight Commender(windows) oraz nie działa wyświetlanie przygotowanej strony www na porcie 333
A serwer ssh dziala i czy apache(lub cus innego) nasluchuje na porcie 333 ? :)

: 19 stycznia 2008, 22:19
autor: tunfish
ShinnRa pisze:
tunfish pisze:iptables -D FORWARD -m mac --mac-source 00:12:22:a0:dc:34 -j ACCEPT
chyba miało być: iptables -A FORWARD
tunfish pisze:iptables: bad rule (does a matching rule exist in that chain?)
odnośnie poprzedniego: bo próbujesz usunąć coś co nieistnieje
jesteś pewny że ma być -A , bo ja ten kod sprawdzałem w kilku źródłach i wszedzie było -D.?
kefear pisze: A serwer ssh dziala i czy apache(lub cus innego) nasluchuje na porcie 333 ? :)
serwer ssh nie działa, apache'a nie sprawdzałem.

: 19 stycznia 2008, 22:39
autor: ShinnRa
tunfish pisze:jesteś pewny że ma być -A , bo ja ten kod sprawdzałem w kilku źródłach i wszedzie było -D.?
man pisze: -D, --delete chain rule-specification
-D, --delete chain rulenum
Delete one or more rules from the selected chain. There are two versions of this command: the rule can be specified as a number in the
chain (starting at 1 for the first rule) or a rule to match.
-D słuzy do usuwania regułki a tam takiej nie ma. Analogicznie -A (od add lub append) służy do dodawania regułek. Poczytaj mana to sie dowiesz.
tunfish pisze:serwer ssh nie działa, apache'a nie sprawdzałem.
Skoro serwer ssh nie działa to sie nie dziw, że nie możesz się połączyć po ssh ^_^

: 19 stycznia 2008, 23:12
autor: tunfish
ShinnRa pisze:
tunfish pisze:jesteś pewny że ma być -A , bo ja ten kod sprawdzałem w kilku źródłach i wszedzie było -D.?
man pisze: -D, --delete chain rule-specification
-D, --delete chain rulenum
Delete one or more rules from the selected chain. There are two versions of this command: the rule can be specified as a number in the
chain (starting at 1 for the first rule) or a rule to match.
-D słuzy do usuwania regułki a tam takiej nie ma. Analogicznie -A (od add lub append) służy do dodawania regułek. Poczytaj mana to sie dowiesz.
tunfish pisze:serwer ssh nie działa, apache'a nie sprawdzałem.
Skoro serwer ssh nie działa to sie nie dziw, że nie możesz się połączyć po ssh ^_^
znalazłem już błąd..
-D jest dobrze, bo to jest linijka kasująca dostęp wybranej osobie.
komunikatu mi już nie wywala ale ssh nadal nie dziala.
gdy jest wpisane tak:

Kod: Zaznacz cały

ptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT      
nie działa

gdy dam Input na accept dziala

Kod: Zaznacz cały

ptables -P INPUT ACCEPT
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT 
jak zrobic zeby dzialalo ssh przy pierwszym sposobie ?

: 19 stycznia 2008, 23:42
autor: kefear
Nie wiem po co tyle razy powtarzasz regulki z ESTABLISHED i RELATED.
Moze cos pokaszaniles z adresami.
Sprobuj wywalic z regulki z SSH adresy IP.
Dodatkowo wyrzuc reguly z OUTPUT bo domyslnie sa akceptowane.

Kilka uwag na temat konfigu.

: 20 stycznia 2008, 01:52
autor: Jacekalex
iptables -A OUTPUT -s 0/0 -d 83.3.226.2 -p tcp --dport 20 -j ACCEPT

Po co określać port docelowy (--dport 20) w łańcuchu OUTPUT?
Port 20 zazwyczaj oznacza ftp - jednak czasami serwer ftp może nasłuchiwać (gdieś na świecie) na porcie np.77 - i co wtedy?
Ponadto łańcuch OUTPUT - argument -s 0/0 (-s ozn. source - żródło) - moim zdaniem jest bezsensowne - takie argumenty pasują tylko do łańcuchów INPUT i FORWARD


iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED

Iptables nie jest głuchy - nie trzeba mu 2 razy powtarzać.

iptables -D FORWARD -m mac --mac-source 00:12:22:a0:dc:34 -j ACCEPT
Pzrełącznik -D jest poleceniem DELETE rule.
Stosuje się go usuwania i zmiany reguł w czasie pracy firewalla - nie stosuje się go w skrypcie starowym.
Z opcji -D korzystają m.in. programy SnortSam i Guardian (do Snorta) oraz Portsentry.
Powodej jej stosowania jest czasowa blokada dostępu do serwera
w przypadku wykrycia podejrzanych pakietół z źrtódłowego IP.
Wtedy program najpierw dodaje regułę typu:
iptables -I INPUT -s {numer IP} -j DROP
a po określonym czasie (np. 15 min.) usuwają tą regułę poleceniem:
iptables -D INPUT -s {numer IP} -j DROP

Dodatkowo:
iptables -A INPUT -s 0/0 -d 83.3.226.2 -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -s 0/0 -d 83.3.226.2 -p tcp --dport 80 -j ACCEPT

Jeśli łańcuch INPUT oznacza dostęp do hosta 83.3.226.2
to co ma znaczyć dostęp DO HOSTA 83.3.226.2 w łańcuchu OUTPUT?
Moim zdaniem powinno być ( tak mi się zdaje):
iptables -A OUTPUT -s 83.3.226.2 -d 0/0 -p tcp --sport 80 -j ACCEPT
Radziłbym każdą regułę z osobna (chodzi mi o rodzaj) wrzucić do googli i zobaczyć - jak podobna reguła wygląda na stronach - które wyrzuci goolge.

Radzę uważać na jedno - używanie w łańcuchu INPUT i OUTPUT numeru IP naszego hosta.
błąd polegający na na zbudowaniu reguły INPUT -s {twój nr. IP] - powoduje - że pomimo firewalla do twojego hosta włamie się nawet początkujący haker - po godzinnym studiowaniu nmapa - wystarczy- w wysyłanych przez nmapa pakietach ( i plikach) zaznaczyć jako żródłowy - twój nr. IP - dzięki czemu twój host połknie każdego wirusa i trojana wysłanego tym sposobem - jak pies kiełbasę.

To by było na tyle.

PS
Nie jestem wybitnym specjalistą od firewalli - jak wiele osób na tym forum.
Dlatego radzę poszukać dokumentacji i porad w googlach - jest chyba ze 2000 stron o iptables.

: 20 stycznia 2008, 02:08
autor: Rad
tunfish pisze:-D jest dobrze, bo to jest linijka kasująca dostęp wybranej osobie.
Nie, nie, nie. -D oznacza usunięcie istniejącej *reguły*. Przed praktycznym korzystaniem z firewalla należy zapoznać się z teorią.