Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
 Użytkownik
 Użytkownik
	Próbuję pisać samemu firewall, na zasadzie - blokuje wszystko, wpuszczam tylko konkretne usługi. Problem jest taki, że przy tej konfiguracji (Domyślna polityka łańcuchów na DROP):
####### NET FORWARD ####### echo "1" > /proc/sys/net/ipv4/ip_forward # KERNEL NET FORWARD ####### SECURITY ####### echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts # ICMP ECHO REQUEST @ BROADCAST ignore echo "1" > /proc/sys/net/ipv4/tcp_syncookies # SYN FLOOD refuse echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route # SOURCE ROUTED PACKETS refuse echo "1" > /proc/sys/net/ipv4/conf/all/secure_redirects echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter # SOURCE VALIDATION by REVERSED PATH ####### RULES CHAINS FLUSHING ####### iptables -F # STANDARD CHAINS iptables -t nat -F iptables -t mangle -F ####### RULES CHAINS GENERATE ####### iptables -P INPUT DROP # STANDARD CHAINS POLICY iptables -P OUTPUT DROP iptables -P FORWARD DROP ######## ESTABLISHED CONNECTIONS KEEP ####### 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 ####### ALLOWING PROTCOLS ####### #---------- WWW ----------# iptables -A INPUT -p tcp --sport 80 -j ACCEPT # HTTP:80 iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -p tcp --sport 80 -j ACCEPT iptables -A INPUT -p tcp --sport 443 -j ACCEPT # HTTPS:443 iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT #---------- SSH ----------# iptables -A INPUT -p tcp -i eth0 --dport 22 -j DROP # WAN SSH iptables -A INPUT -p tcp -i eth1 --dport 22 -j ACCEPT # LAN SSH #---------- DNS ----------# iptables -A INPUT -p udp --sport 53 -j ACCEPT # DNS ALLOW iptables -A OUTPUT -p udp --dport 53 -j ACCEPT iptables -A FORWARD -p udp --sport 53 -j ACCEPT iptables -A FORWARD -p udp --dport 53 -j ACCEPT #------ LO Interface -----# iptables -A INPUT -i lo -j ACCEPT # LO ALLOW iptables -A OUTPUT -o lo -j ACCEPT ####### NETWORK ROUTING ####### iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -j MASQUERADE # LAN MASQUARADE iptables -A FORWARD -s 192.168.3.0/24 -j ACCEPT
nie działają strony WWW na komputerach w sieci wewnętrznej.
nox-debian:~# iptables -L -v 
Chain INPUT (policy DROP 33 packets, 2931 bytes) 
 pkts bytes target     prot opt in     out     source               destination 
  119 25566 ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED 
    0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp spt:www 
    0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp spt:https 
    0     0 DROP       tcp  --  eth0   any     anywhere             anywhere            tcp dpt:ssh 
    0     0 ACCEPT     tcp  --  eth1   any     anywhere             anywhere            tcp dpt:ssh 
    1    61 ACCEPT     udp  --  any    any     anywhere             anywhere            udp spt:domain 
    0     0 ACCEPT     all  --  lo     any     anywhere             anywhere 
Chain FORWARD (policy DROP 0 packets, 0 bytes) 
 pkts bytes target     prot opt in     out     source               destination 
   15  3138 ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED 
    1    52 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:www 
    0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp spt:www 
    0     0 ACCEPT     udp  --  any    any     anywhere             anywhere            udp spt:domain 
    0     0 ACCEPT     udp  --  any    any     anywhere             anywhere            udp dpt:domain 
    0     0 ACCEPT     all  --  any    any     localnet/24          anywhere 
Chain OUTPUT (policy DROP 0 packets, 0 bytes) 
 pkts bytes target     prot opt in     out     source               destination 
  126 25733 ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED 
    2   120 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:www 
    0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:https 
    3   194 ACCEPT     udp  --  any    any     anywhere             anywhere            udp dpt:domain 
    0     0 ACCEPT     all  --  any    lo      anywhere             anywhereNie bardzo mogę jakoś dojść przyczyny błędu. Prosiłbym o pomoc.
#---------- WWW ----------# iptables -A INPUT -p tcp --sport 80 -j ACCEPT # HTTP:80 iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -p tcp --sport 80 -j ACCEPT iptables -A INPUT -p tcp --sport 443 -j ACCEPT # HTTPS:443 iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
Czy FORWARD jest tutaj potrzebne? Czy nie?
Offline



 Administrator
 Administrator
	



Nic dziwnego jak do www można się łączyć tylko z portu 80 na port 80. A przecież przeglądarki łączą się z różnych adresów. Lepiej nie filtruj łańcucha forward, właściwie po co? Niech ludzie w sieci stawiają sobie firewalle jak chcą.
Offline
 Użytkownik
 Użytkownik
	Więc jeśli dobrze rozumuje:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
czy
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
Offline



 Administrator
 Administrator
	



Raczej o:
iptables -P FORWARD ACCEPT
Wydaje mi się, że w przypadku łańcucha FORWARD ta linijka jest troche bez sensu:
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
Bo przecież pakiety o stanie NEW też muszą być forwardowane.
Offline
 Użytkownik
 Użytkownik
	Według poradnika BiExi: http://dug.net.pl/tekst/31/udostepnienie_polaczenia_internetowego_(masq)/
kod jest poprawny, ale przy polityce ACCEPT, wiec wychodzi na toże musze coś wiecej dodac do mojego firewalla? tylko mniej wiecej co dokładnie?
Ponadto, potrzebuje zrobić dwie rzeczy, które na chwile obecną są dla mnie priorytetem:
Jestem użytkownikiem sieci WiFi, gdzie klienci mają adresy ip zewnętrzne, i przy polityce DROP potrzybuje:
192.168.3.0/24 [komputery za moim serwerem] ==> 87.204.232.82 [moj serwer] ==> 87.204.232.xx [adres bramy mojej sieci] 
-potrzebuje dostep do ssh na konkretnym porcie, bo na chwile obecna nie moge sie dostać na serwer w sieci, bowiem dostaje Connection Refused. bez znaczenia pczy polityka ACCEPT czy DROP
192.168.3.0/24 [komputery za moim serwerem] ==> 87.204.232.82 [moj serwer] ==> 87.204.232.xx [adres bramy mojej sieci] ==> 192.168.xx.xx [adres urządzen w sieci]
do nich także potrzebuje urzadzen. bylbym bardzo wdzieczny za odpowiedz jak to zrobic, najlepiej przy polityce DROP i
Ostatnio edytowany przez nox (2009-09-16 23:19:19)
Offline
 Użytkownik
 Użytkownik
	WItam. Zbudowalem sobie Firewall, bardzo sztywny, czyli przepuscilem tylko kilka / kilkanascie portów poprzez łańcuch forward. Troche ego jest i zastanawia msie, czy jest możliwośc, a jezeli jest to jak, rozpoznawania jaki port potrzebny jest dla danej uslugi i zeby go sam otwierał. 
Bo na przykład poczta.o2.pl uzywa portu SMTP 587. I czy da sie jakos zrobić, zeby KLIENT poczty -> router iptables ( dostaje zapytanie z tym prtem, i automatycznie otwiera tyko ten port) -< internet. 
bo w tym sammym czasie wszystkie porty sa zamkniete, i otiweraly by sie tylko wtedy, kiedy z sieci lan dostal by zapytanie z tym portem.
Offline




 Moderator Mamut
 Moderator Mamut
	ale czemu ma sluzyc cos takiego ... bo jak dla mnie to totalnie bez sensu ...
Offline
 Użytkownik
 Użytkownik
	no na przyklad SSH nie jest jest zawsze na 22 porcie, wiec jesli iptables rozpoznalo by ze jest to pakeit SSH na port 222 to żeby go tez puściło. i żeby smtp puszczało na przykłąd na 25 i na 587 i jeszcze na porcie google. o to mi tylko chodzi.
domyslam sie ze bedzie potrzebny mi jakie marker pakietow, typu layer7 chyba?
Ostatnio edytowany przez nox (2009-10-31 23:00:21)
Offline







 Podobno człowiek...;)
 Podobno człowiek...;)
	








iptables -A INPUT -p tcp --sport 80 -j ACCEPT
- tu masz błąd.
Programy usera - przeglądarki internetowe, klienty ftp. komunikatory, ....itp łączą się z portów żródłowych innych niż demony - i to z wysokiego zakresu - np. w WinXP z portów powyżej portu 1024, w moim Ubuntu w zakresie około 15000 - 63000 - wybierane losowo.
W każdym systemie porty 0-1024 są zastrzeżone dla roota, programy usera korzystają z zakresu powyżej 1024 - w każdym systemie operacyjnym jest to trochę inaczej rozwiązane - zakres portów -ale zasada jest wspólna.
Pozdrawiam
Ostatnio edytowany przez Jacekalex (2009-11-03 23:07:37)
Offline
Strony: 1