ppawlo Napisano 14 Stycznia 2004 Zgłoś Napisano 14 Stycznia 2004 To jest mój skrypt firewalla - niestety DNS nie działa nie tylko u klientów ale i na serwerze, co mam zrobić aby ten DNS działał?? System to REDHAT 8.0 i jedna karta sieciowa 10.150.1.1 - to adres serwera --------------------------------------------------------------------------------- #!/bin/bash #czwarty firewall w wykonaniu Pawla Pietrzynskiego #Sciezka do plikow wykonalnych iptables="/sbin/iptables" #Ladujemy potrzebne moduly modprobe ip_tables modprobe ip_conntrack modprobe ip_conntrack_ftp #Wyczyszczenie wszystkich dotychczasowych regul #Zamiast tych regulek ponizej moze byc #iptables -F iptables -F FORWARD iptables -F INPUT iptables -F OUTPUT iptables -F -t nat #Domyslna polityka firewalla - wszystko odrzucamy #OUTPUT ACCEPT - gdy chcemy wszystkie uslugi otworzyc dla sieci wychodzacej iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP #Caly ruch internetowy #------------------------------------------------------ ZABEZPIECZENIA #Zalaczamy forwarding w kernelu echo "1" > /proc/sys/net/ipv4/ip_forward #Bug wykryty w iptables iptables -A OUTPUT -m state -p icmp --state INVALID -j DROP #Ochrona przed falszowaniem pakietow echo "1" > /proc/sys/net/ipv4/tcp_syncookies #Ochrona przed atakiem SMURF echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts #Nie akceptujemy pakietow "Source route" echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route #Nie przyjmujemy pakietow ICMP redirect, ktore moga zmienic nasza tablice #routingu echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects #Wlaczamy ochrone przed blednymi pakietami ICMP error echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses #Obrona przed skanerami portow szybko przemiatajacych siec iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT #Ping of death iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT #Zabezpieczenia przed powodzia pakietow SYN iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT #---------------------------------------------------NASZE USTAWIENIA #Pelen ruch na interfejsie lokalnym, czyli na 127.0.0.1 #Potrzebne dla wielu uslug np. squerrlmaila iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT #---------------------------------INPUT #---------------------------------Wejscie do serwera z interfejsow sieciowych #Akceptujemy polaczenia juz nawiazane (inaczej nawet net nie zadziala) #iptables -A INPUT -p tcp -j ACCEPT -m state --state ESTABLISHED #iptables -A INPUT -p tcp -j ACCEPT -m state --state RELATED #iptables -A INPUT -p udp -j ACCEPT -m state --state ESTABLISHED #iptables -A INPUT -p udp -j ACCEPT -m state --state RELATED #iptables -A INPUT -p icmp -j ACCEPT -m state --state ESTABLISHED #iptables -A INPUT -p icmp -j ACCEPT -m state --state RELATED #www iptables -A INPUT -p tcp -s 10.0.0.0/8 -d 10.150.1.1/8 --dport 80 -j ACCEPT iptables -A INPUT -p udp -s 10.0.0.0/8 -d 10.150.1.1/8 --dport 80 -j ACCEPT iptables -A OUTPUT -p tcp -s 10.150.1.1/8 --sport 80 -d 10.0.0.0/8 -j ACCEPT #ftp iptables -A INPUT -p tcp -s 10.200.1.220 -d 10.0.0.0/8 --dport 20 -j ACCEPT iptables -A INPUT -p tcp -s 10.100.1.200 -d 10.0.0.0/8 --dport 20 -j ACCEPT #IP Roberta iptables -A OUTPUT -p tcp -s 10.150.1.1/8 --sport 20 -d 10.0.0.0/8 -j ACCEPT iptables -A INPUT -p tcp -s 10.200.1.220 -d 10.0.0.0/8 --dport 21 -j ACCEPT iptables -A INPUT -p tcp -s 10.100.1.200 -d 10.0.0.0/8 --dport 21 -j ACCEPT #IP Roberta iptables -A OUTPUT -p tcp -s 10.150.1.1/8 --sport 21 -d 10.0.0.0/8 -j ACCEPT #dns - TYLKO DLA SIECI WEWNETRZNEJ # " -i eth1" - tylko dla karty eth1 / transakcje typu klient-serwer iptables -A INPUT -p udp --dport 53 -j ACCEPT iptables -A INPUT -p tcp --dport 53 -j ACCEPT iptables -A INPUT -p tcp -s 10.150.1.1/8 --sport 53 -d 0/0 -j ACCEPT iptables -A INPUT -p udp -s 10.150.1.1/8 --sport 53 -d 0/0 -j ACCEPT #dhcp - Tylko dla sieci wewnetrznej iptables -A INPUT -p tcp -s 10.0.0.0/8 --dport 67 -j ACCEPT iptables -A OUTPUT -p tcp -s 10.150.1.1/8 --sport 67 -d 10.0.0.0/8 -j ACCEPT iptables -A INPUT -p udp -s 10.0.0.0/8 --dport 67 -j ACCEPT iptables -A OUTPUT -p udp -s 10.150.1.1/8 --sport 67 -d 10.0.0.0/8 -j ACCEPT iptables -A INPUT -p tcp -s 10.0.0.0/8 --dport 68 -j ACCEPT iptables -A OUTPUT -p tcp -s 10.150.1.1/8 --sport 68 -d 10.0.0.0/8 -j ACCEPT iptables -A INPUT -p udp -s 10.0.0.0/8 --dport 68 -j ACCEPT iptables -A OUTPUT -p udp -s 10.150.1.1/8 --sport 68 -d 10.0.0.0/8 -j ACCEPT #samba (139-smbd), (137,138-nmbd) - dla wszystkich iptables -A INPUT -p tcp -s 10.0.0.0/8 -d 10.150.1.1/8 --dport 139 -j ACCEPT iptables -A OUTPUT -p tcp -s 10.150.1.1/8 --sport 139 -d 10.0.0.0/8 -j ACCEPT iptables -A INPUT -p udp -s 10.0.0.0/8 -d 10.150.1.1/8 --dport 138 -j ACCEPT iptables -A OUTPUT -p udp -s 10.150.1.1/8 --sport 138 -d 10.0.0.0/8 -j ACCEPT iptables -A INPUT -p udp -s 10.0.0.0/8 -d 10.150.1.1/8 --dport 137 -j ACCEPT iptables -A OUTPUT -p udp -s 10.150.1.1/8 --sport 137 -d 10.0.0.0/8 -j ACCEPT #--------------------------------Przejscie obok serwera - FORWARD-ing #Pozwalamy na wysylanie i sciaganie poczty z zewnatrz iptables -A FORWARD -p tcp -s 10.0.0.0/8 -d 0/0 --dport 25 -j ACCEPT iptables -A FORWARD -p tcp -s 10.0.0.0/8 -d 0/0 --dport 110 -j ACCEPT iptables -A FORWARD -p tcp -s 0/0 --sport 25 -d 10.0.0.0/8 -j ACCEPT iptables -A FORWARD -p tcp -s 0/0 --sport 110 -d 10.0.0.0/8 -j ACCEPT iptables -A OUTPUT -p tcp -s 10.150.1.1/8 --sport 25 -d 0/0 -j ACCEPT iptables -A OUTPUT -p tcp -s 10.150.1.1/8 --sport 110 -d 0/0 -j ACCEPT # Pozwalamy na gadulke - czyli gadu-gadu #iptables -A FORWARD -p tcp -s 0/0 -d 0/0 --dport 8074 -j ACCEPT #iptables -A FORWARD -p tcp -s 0/0 --sport 8074 -d 0/0 -j ACCEPT Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach More sharing options...
tapczan Napisano 14 Stycznia 2004 Zgłoś Napisano 14 Stycznia 2004 Jeśli nie masz usługi DNS uruchomionej lokalnie na serwerze to czy nie powinieneś dodać czegoś w stylu: iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT iptables -A OUTPUT -p udp --dport 53 -j ACCEPT Pozdrawiam. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach More sharing options...
ppawlo Napisano 14 Stycznia 2004 Zgłoś Napisano 14 Stycznia 2004 Teraz mam tak i działa !! #Akceptujemy polaczenia juz nawiazane (inaczej nawet net nie zadziala) #Bez tych ustawien nie dziala DNS iptables -A INPUT -p tcp -j ACCEPT -m state --state ESTABLISHED iptables -A OUTPUT -p tcp -j ACCEPT -m state --state ESTABLISHED #iptables -A INPUT -p tcp -j ACCEPT -m state --state RELATED iptables -A INPUT -p udp -j ACCEPT -m state --state ESTABLISHED iptables -A OUTPUT -p udp -j ACCEPT -m state --state ESTABLISHED #iptables -A INPUT -p udp -j ACCEPT -m state --state RELATED #iptables -A INPUT -p icmp -j ACCEPT -m state --state ESTABLISHED #iptables -A INPUT -p icmp -j ACCEPT -m state --state RELATED #www iptables -A INPUT -p tcp -s 10.0.0.0/8 -d 10.150.1.1/8 --dport 80 -j ACCEPT iptables -A INPUT -p udp -s 10.0.0.0/8 -d 10.150.1.1/8 --dport 80 -j ACCEPT iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT iptables -A OUTPUT -p udp --dport 80 -j ACCEPT #ftp iptables -A INPUT -p tcp -s 10.200.1.220 -d 10.0.0.0/8 --dport 20 -j ACCEPT iptables -A INPUT -p tcp -s 10.100.1.200 -d 10.0.0.0/8 --dport 20 -j ACCEPT #IP Roberta iptables -A OUTPUT -p tcp -s 10.150.1.1/8 --sport 20 -d 10.0.0.0/8 -j ACCEPT iptables -A INPUT -p tcp -s 10.200.1.220 -d 10.0.0.0/8 --dport 21 -j ACCEPT iptables -A INPUT -p tcp -s 10.100.1.200 -d 10.0.0.0/8 --dport 21 -j ACCEPT #IP Roberta iptables -A OUTPUT -p tcp -s 10.150.1.1/8 --sport 21 -d 10.0.0.0/8 -j ACCEPT #dns - TYLKO DLA SIECI WEWNETRZNEJ # " -i eth1" - tylko dla karty eth1 / transakcje typu klient-serwer iptables -A INPUT -p udp --dport 53 -m state --state NEW -j ACCEPT iptables -A INPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT iptables -A INPUT -p tcp --sport 53 --dport 53 -m state --state NEW -j ACCEPT iptables -A INPUT -p udp --sport 53 --dport 53 -m state --state NEW -j ACCEPT iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT iptables -A OUTPUT -p udp --dport 53 -j ACCEPT #dhcp - Tylko dla sieci wewnetrznej iptables -A INPUT -p tcp -s 10.0.0.0/8 --dport 67 -j ACCEPT iptables -A OUTPUT -p tcp -s 10.150.1.1/8 --sport 67 -d 10.0.0.0/8 -j ACCEPT iptables -A INPUT -p udp -s 10.0.0.0/8 --dport 67 -j ACCEPT iptables -A OUTPUT -p udp -s 10.150.1.1/8 --sport 67 -d 10.0.0.0/8 -j ACCEPT iptables -A INPUT -p tcp -s 10.0.0.0/8 --dport 68 -j ACCEPT iptables -A OUTPUT -p tcp -s 10.150.1.1/8 --sport 68 -d 10.0.0.0/8 -j ACCEPT iptables -A INPUT -p udp -s 10.0.0.0/8 --dport 68 -j ACCEPT iptables -A OUTPUT -p udp -s 10.150.1.1/8 --sport 68 -d 10.0.0.0/8 -j ACCEPT #proxy - TYLKO dla sieci wew iptables -A INPUT -p tcp -s 10.0.0.0/8 -d 10.150.1.1/8 --dport 8080 -j ACCEPT iptables -A INPUT -p udp -s 10.0.0.0/8 -d 10.150.1.1/8 --dport 8080 -j ACCEPT iptables -A OUTPUT -p tcp --dport 8080 -j ACCEPT iptables -A OUTPUT -p udp --dport 8080 -j ACCEPT #samba (139-smbd), (137,138-nmbd) - dla wszystkich iptables -A INPUT -p tcp -s 10.0.0.0/8 -d 10.150.1.1/8 --dport 139 -j ACCEPT iptables -A OUTPUT -p tcp -s 10.150.1.1/8 --sport 139 -d 10.0.0.0/8 -j ACCEPT iptables -A INPUT -p udp -s 10.0.0.0/8 -d 10.150.1.1/8 --dport 138 -j ACCEPT iptables -A OUTPUT -p udp -s 10.150.1.1/8 --sport 138 -d 10.0.0.0/8 -j ACCEPT iptables -A INPUT -p udp -s 10.0.0.0/8 -d 10.150.1.1/8 --dport 137 -j ACCEPT iptables -A OUTPUT -p udp -s 10.150.1.1/8 --sport 137 -d 10.0.0.0/8 -j ACCEPT #--------------------------------Przejscie obok serwera - FORWARD-ing #Pozwalamy na wysylanie i sciaganie poczty z zewnatrz iptables -A FORWARD -p tcp -s 10.0.0.0/8 -d 0/0 --dport 25 -j ACCEPT iptables -A FORWARD -p tcp -s 10.0.0.0/8 -d 0/0 --dport 110 -j ACCEPT iptables -A FORWARD -p tcp -s 0/0 --sport 25 -d 10.0.0.0/8 -j ACCEPT iptables -A FORWARD -p tcp -s 0/0 --sport 110 -d 10.0.0.0/8 -j ACCEPT iptables -A OUTPUT -p tcp -s 10.150.1.1/8 --sport 25 -d 0/0 -j ACCEPT iptables -A OUTPUT -p tcp -s 10.150.1.1/8 --sport 110 -d 0/0 -j ACCEPT Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach More sharing options...