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?)
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 ?
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 ^_^
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:
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.
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.