On Saturday 29 of May 2004 00:50, adam wrote: > Witam chciałbym zrobić coś takiego, żeby userowi o ip 192.168.1.11 > > Ograniczyć możliwość korzystania z sieci > > do tego, żeby działał mu dns i poczta, zrobiłem takiego firewalla: > > #!/bin/bash > > IPT=/sbin/iptables > > ETHOUT=eth0 > > ETHLAN=eth1 > > SWIAT=zewnetzne IP > > LAN=192.168.1.0/24 > > TCP_IN_ALLOW=21,25,53,80,110,3128,8000 > > UDP_IN_ALLOW=53,33501 > > > > $IPT -F
3 kolejne linie nie potrzebne, gdyż załatwia je ta wyżej > $IPT -F INPUT > $IPT -F OUTPUT > $IPT -F FORWARD > > $IPT -F -t nat > > $IPT -F -t mangle > > $IPT -P INPUT DROP > > $IPT -P FORWARD DROP > > $IPT -P OUTPUT ACCEPT > > > > $IPT -A INPUT -i ! $ETHOUT -s $LAN -j ACCEPT > > ## uslugi, ktore wpuszczamy. > > $IPT -A INPUT -i $ETHOUT -p tcp -j ACCEPT -m state --state NEW -m multiport > --dport $TCP_IN_ALLOW > > $IPT -A INPUT -i $ETHOUT -p udp -j ACCEPT -m state --state NEW -m multiport > --dport $UDP_IN_ALLOW > > > > #statefull-inspection > > $IPT -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT > > $IPT -A INPUT -p udp -m state --state ESTABLISHED,RELATED -j ACCEPT > > $IPT -A INPUT -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT > > $IPT -A FORWARD -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT > > $IPT -A FORWARD -p udp -m state --state ESTABLISHED,RELATED -j ACCEPT > > $IPT -A FORWARD -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT kolejne 3 linie nie potrzebne, bo politykę OUTPUT masz na ACCEPT: > $IPT -A OUTPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT > $IPT -A OUTPUT -p udp -m state --state ESTABLISHED,RELATED -j ACCEPT > $IPT -A OUTPUT -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT > > $IPT -t nat -A POSTROUTING -s $LAN -d 0.0.0.0/0 -j SNAT --to $ SWIAT > > > > #wpuszczamy ping > > $IPT -A INPUT -p icmp --icmp-type echo-request -j ACCEPT te 3 również nie potrzebne: > $IPT -A OUTPUT -o $ETHLAN -p icmp --icmp-type echo-request -j ACCEPT a w tej poniżej -d 0.0.0.0/0 nie ma najmniejszego sensu, bo jest to wartość domyślna > $IPT -A OUTPUT -o $ETHLAN -d 0.0.0.0/0 -j ACCEPT > $IPT -A OUTPUT -o $ETHOUT -p icmp --icmp-type echo-request -j ACCEPT > > > # wypuszczamy w swiat wszystko: znowu zbędna linia: > $IPT -A OUTPUT -o $ETHOUT -p tcp -j ACCEPT -s $ SWIAT -m state --state NEW > > #samba > > $IPT -A INPUT -p tcp -m tcp --dport 137:139 -s 192.168.1.0/24 -j ACCEPT > > $IPT -A INPUT -p udp -m udp --dport 137:139 -s 192.168.1.0/24 -j ACCEPT > > > > ##Zabezpieczenie przez powodzią SYN (Syn-flood): za duży limit jak na mój gust: > $IPT -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT > > ##Skaner portów Furtive: > > $IPT -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s > -j ACCEPT > > ##Ping of death: > > $IPT -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j > ACCEPT > > wyżej masz taki oto wpis: $IPT -A INPUT -i ! $ETHOUT -s $LAN -j ACCEPT czyli wpuszczasz na serwer wszystko, oprócz interfejsu zewnętrznego; tak więc dalsze wpisy dla łańcucha INPUT dla interfejsu lanowego nie przyniosą żadnego skutku > /sbin/iptables -A INPUT -s 192.168.1.11 -j ACCEPT > > /sbin/iptables -A INPUT -s 192.168.1.11 -p tcp -m multiport --dport > 25,53,110 -m state --state NEW -j ACCEPT > > /sbin/iptables -A INPUT -s 192.168.1.11 -p udp --dport 53 -m state --state > NEW -j ACCEPT w poniższej linijce błąd - powinnieneś wpuszczaś z portu zrodlowego, czyli zamiast --dport podaj --sport > /sbin/iptables -A FORWARD -p tcp -m multiport --dport 25,53,110 -d > 192.168.1.11 -j ACCEPT a tutaj ok: > /sbin/iptables -A FORWARD -p tcp -m multiport --dport 25,53,110 -s > 192.168.1.11 -j ACCEPT > -- pozdrawiam

