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/.
Witam
mam firewalla:
#!/bin/sh ################ # Konfiguracja # ################ F="/sbin/iptables" LOG="ipt#" #interfejs globalny - dla sieci zewnetrznej G_NET_NAME="eth1" G_NET_IP="83.12.xx.xx" #interfejs lokalny - dla sieci wewnetrznej L_NET_NAME="eth0" L_NET_IP="192.168.0.1" L_NET="192.168.0.0/24" L_BRDC="192.168.0.255" #ustawienie modulow i konfiguracji jadra /sbin/modprobe ip_tables /sbin/modprobe ip_conntrack /sbin/modprobe ip_nat_ftp /sbin/modprobe ip_conntrack_ftp echo "1" > /proc/sys/net/ipv4/ip_forward #dynamiczny przydzial adresu #echo "1" > /proc/sys/net/ipv4/ip_dynaddr #ignorowanie ICMP echo request wysylanych na adres rozgloszeniowy echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts #ochrona przed SYN flood echo "1" > /proc/sys/net/ipv4/tcp_syncookies #refuse source routed packets echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route echo "1" > /proc/sys/net/ipv4/conf/all/secure_redirects #walidacja zrodla za pomoca reversed path (RFC1812). echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter #logowanie pakietow z nieprawidlowych adresow echo "1" > /proc/sys/net/ipv4/conf/all/log_martians ################# # INICJALIZACJA # ################# echo "Ustawienia polityki dla lancuchow standardowych..." $F -P INPUT ACCEPT $F -P FORWARD ACCEPT $F -P OUTPUT ACCEPT $F -t nat -P PREROUTING ACCEPT $F -t nat -P OUTPUT ACCEPT $F -t nat -P POSTROUTING ACCEPT $F -t mangle -P PREROUTING ACCEPT $F -t mangle -P OUTPUT ACCEPT $F -t mangle -P INPUT ACCEPT $F -t mangle -P FORWARD ACCEPT $F -t mangle -P POSTROUTING ACCEPT echo "Czyszczenie regul dla lancuchow standardowych..." $F -F $F -t nat -F $F -t mangle -F echo "Kasowanie wszystkich niestandardowych lancuchow..." $F -X $F -t nat -X $F -t mangle -X if [ "$1" = "stop" ] then echo "Firewall zostal wylaczony." exit 0 fi echo "Ustawienia polityki lancuchow standardowych..." $F -P INPUT DROP $F -P OUTPUT DROP $F -P FORWARD DROP echo "Tworzenie niestandardowych lancuchow regul..." $F -N bledne_pakiety $F -N bledne_pakiety_tcp $F -N pakiety_icmp $F -N tcp_wchodzace $F -N tcp_wychodzace $F -N udp_wchodzace $F -N udp_wychodzace ################## # bledne_pakiety # ################## echo "Tworzenie regul dla lancucha bledne_pakiety..." $F -A bledne_pakiety -p ALL -m state --state INVALID -j LOG --log-prefix "$LOG bledne_pakiety " $F -A bledne_pakiety -p ALL -m state --state INVALID -j DROP $F -A bledne_pakiety -p tcp -j bledne_pakiety_tcp $F -A bledne_pakiety -p ALL -j RETURN ###################### # bledne_pakiety_tcp # ###################### echo "Tworzenie regul dla lancucha bledne_pakiety_tcp..." #dla gate $F -A bledne_pakiety_tcp -p tcp -i $L_NET_NAME -j RETURN $F -A bledne_pakiety_tcp -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "$LOG bledne_pakiety_tcp " $F -A bledne_pakiety_tcp -p tcp ! --syn -m state --state NEW -j DROP $F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL NONE -j LOG --log-prefix "$LOG bledne_pakiety_tcp " $F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL NONE -j DROP $F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL ALL -j LOG --log-prefix "$LOG bledne_pakiety_tcp " $F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL ALL -j DROP $F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL FIN,URG,PSH -j LOG --log-prefix "$LOG bledne_pakiety_tcp " $F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP $F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j LOG --log-prefix "$LOG bledne_pakiety_tcp " $F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP $F -A bledne_pakiety_tcp -p tcp --tcp-flags SYN,RST SYN,RST -j LOG --log-prefix "$LOG bledne_pakiety_tcp " $F -A bledne_pakiety_tcp -p tcp --tcp-flags SYN,RST SYN,RST -j DROP $F -A bledne_pakiety_tcp -p tcp --tcp-flags SYN,FIN SYN,FIN -j LOG --log-prefix "$LOG bledne_pakiety_tcp " $F -A bledne_pakiety_tcp -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP $F -A bledne_pakiety_tcp -p tcp -j RETURN ################ # pakiety_icmp # ################ echo "Tworzenie regul dla lancucha pakiety_icmp..." $F -A pakiety_icmp --fragment -p ICMP -j LOG --log-prefix "$LOG pakiety_icmp fragmenty " $F -A pakiety_icmp --fragment -p ICMP -j DROP #pingowanie i logowanie pingowania # $F -A pakiety_icmp -p ICMP -s 0/0 --icmp-type 8 -j LOG --log-prefix "$LOG pakiety_icmp " # $F -A pakiety_icmp -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT #ping - zachaszowac w przypadku odsloniecia powyzszych regul $F -A pakiety_icmp -p ICMP -s 0/0 --icmp-type 8 -j DROP #Time Exceeded $F -A pakiety_icmp -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT $F -A pakiety_icmp -p ICMP -j RETURN ################# # tcp_wchodzace # ################# echo "Tworzenie regul dla lancucha tcp_wchodzace..." #ident request #reject zamiast drop w celu unikniecia opoznien przy polaczeniach $F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 113 -j REJECT #FTP client (data port non-PASV) $F -A tcp_wchodzace -p TCP -s 0/0 --source-port 20 -j ACCEPT #FTP control $F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 21 -j ACCEPT # Passive FTP $F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 62000:64000 -j ACCEPT #ssh $F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 22 -j ACCEPT #HTTP $F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 80 -j ACCEPT #HTTPS $F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 443 -j ACCEPT #SMTP #$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 25 -j ACCEPT #POP3 $F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 110 -j ACCEPT #SSL POP3 $F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 995 -j ACCEPT #IMAP4 #$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 143 -j ACCEPT #SSL IMAP4 #$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 993 -j ACCEPT #ICQ File Transfers & Other Advanced Features #$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port : -j ACCEPT #MSN Messenger File Transfers #$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port : -j ACCEPT #NFS Server - portmapper #$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port -j ACCEPT #NFS Server - statd #$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port -j ACCEPT #NFS Server - NFS daemon #$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port -j ACCEPT #NFS Server - lockd #$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port -j ACCEPT #NFS Server - mountd #$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port -j ACCEPT #NFS Server - quotad #$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port -j ACCEPT #User specified allowed TCP protocol #$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port -j ACCEPT #nie pasujace: powrot i logowanie $F -A tcp_wchodzace -p TCP -j RETURN ################## # tcp_wychodzace # ################## echo "Tworzenie regul dla lancucha tcp_wychodzace..." #Blokowanie FTP Data #$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 20 -j REJECT #Blokowanie FTP Control #$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 21 -j REJECT #Blokowanie SSH #$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 22 -j REJECT #Blokowanie Telnet $F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 23 -j REJECT #Blokowanie HTTP #$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 80 -j REJECT #Blokowanie HTTPS #$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 443 -j REJECT #Blokowaie SMTP #$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 25 -j REJECT #Blokowaie POP3 #$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 110 -j REJECT #Blokowaie POP3SSL #$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 995 -j REJECT #Blokowaie IMAP4 #$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 143 -j REJECT #Blokowaie IMAP4SSL #$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 993 -j REJECT #Blokowanie NEWS #$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 119 -j REJECT #Blokowanie IRC #$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port : -j REJECT #Blokowaie AIM #$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 5190 -j REJECT #Blokowaie AIM Images #$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 4443 -j REJECT #Blokowaie MSN Messenger #$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 1863 -j REJECT #Blokowany zakres portow #$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port -j REJECT #blokowanie gg #$F -A tcp_wychodzace -p TCP -s 0/0 -d 217.17.41.0/24 -j REJECT #$F -A tcp_wychodzace -p TCP -s 0/0 -d 217.17.33.0/24 -j REJECT #nie pasujace ACCEPT $F -A tcp_wychodzace -p TCP -s 0/0 -j ACCEPT ################# # udp_wchodzace # ################# echo "Tworzenie regul dla lancucha udp_wchodzace..." #Drop netbios calls $F -A udp_wchodzace -p UDP -s 0/0 --destination-port 137 -j DROP $F -A udp_wchodzace -p UDP -s 0/0 --destination-port 138 -j DROP #ident - reject zamiast drop w celu unikniecia opoznien w polaczeniach $F -A udp_wchodzace -p UDP -s 0/0 --destination-port 113 -j REJECT #NTP #$F -A udp_wchodzace -p UDP -s 0/0 --destination-port 123 -j ACCEPT #DNS $F -A udp_wchodzace -p UDP -s 0/0 --destination-port 53 -j ACCEPT #zewnetrzny server DHCP #$F -A udp_wchodzace -p UDP -s 0/0 --source-port 68 --destination-port 67 -j ACCEPT #NFS Server - portmapper #$F -A udp_wchodzace -p UDP -s 0/0 --destination-port -j ACCEPT #NFS Server - statd #$F -A udp_wchodzace -p UDP -s 0/0 --destination-port -j ACCEPT #NFS Server - NFS daemon #$F -A udp_wchodzace -p UDP -s 0/0 --destination-port -j ACCEPT #NFS Server - lockd #$F -A udp_wchodzace -p UDP -s 0/0 --destination-port -j ACCEPT #NFS Server - mountd #$F -A udp_wchodzace -p UDP -s 0/0 --destination-port -j ACCEPT #NFS Server - quotad #$F -A udp_wchodzace -p UDP -s 0/0 --destination-port -j ACCEPT #dopuszczalny zakres portow udp #$F -A udp_wchodzace -p UDP -s 0/0 --destination-port -j ACCEPT #nie pasujace - powrot i logowanie $F -A udp_wchodzace -p UDP -j RETURN ################## # udp_wychodzace # ################## echo "Tworzenie regul dla lancucha udp_wychodzace..." #Blokowany zakres portow #$F -A udp_wychodzace -p UDP -s 0/0 --destination-port -j REJECT #blokowanie gg #$F -A udp_wychodzace -p UDP -s 0/0 -d 217.17.41.0/24 -j REJECT #$F -A udp_wychodzace -p UDP -s 0/0 -d 217.17.33.0/24 -j REJECT #nie pasujace ACCEPT $F -A udp_wychodzace -p UDP -s 0/0 -j ACCEPT ######### # INPUT # ######### echo "Tworzenie regul dla lancucha INPUT..." $F -A INPUT -p ALL -i lo -j ACCEPT $F -A INPUT -p ALL -j bledne_pakiety #DOCSIS compliant cable modems #Drop without logging. $F -A INPUT -p ALL -d 224.0.0.1 -j DROP #zezwolenie dla sieci lokalnej - dla gate $F -A INPUT -p ALL -i $L_NET_NAME -s $L_NET -j ACCEPT $F -A INPUT -p ALL -i $L_NET_NAME -d $L_BRDC -j ACCEPT #Ustanowione polaczenia $F -A INPUT -p ALL -i $G_NET_NAME -m state --state ESTABLISHED,RELATED -j ACCEPT #reszta do odpowiednich lancuchow $F -A INPUT -p ICMP -i $G_NET_NAME -j pakiety_icmp $F -A INPUT -p TCP -i $G_NET_NAME -j tcp_wchodzace $F -A INPUT -p UDP -i $G_NET_NAME -j udp_wchodzace #zatrzymanie rozgloszen $F -A INPUT -p ALL -d 255.255.255.255 -j DROP #nie pasujace - logowanie $F -A INPUT -j LOG --log-prefix "$LOG INPUT:99 " ########### # FORWARD # ########### #dla gate caly echo "Tworzenie regul dla lancucha FORWARD..." $F -A FORWARD -p ALL -j bledne_pakiety $F -A FORWARD -p tcp -i $L_NET_NAME -j tcp_wychodzace $F -A FORWARD -p udp -i $L_NET_NAME -j udp_wychodzace $F -A FORWARD -p ALL -i $L_NET_NAME -j ACCEPT $F -A FORWARD -i $G_NET_NAME -m state --state ESTABLISHED,RELATED -j ACCEPT #nie pasujace - loguj $F -A FORWARD -j LOG --log-prefix "$LOG FORWARD:99 " ########## # OUTPUT # ########## echo "Tworzenie regul dla lancucha OUTPUT..." $F -A OUTPUT -m state -p icmp --state INVALID -j DROP $F -A OUTPUT -p ALL -s 127.0.0.1 -j ACCEPT $F -A OUTPUT -p ALL -o lo -j ACCEPT #dla gate $F -A OUTPUT -p ALL -s $L_NET_IP -j ACCEPT $F -A OUTPUT -p ALL -o $L_NET_NAME -j ACCEPT $F -A OUTPUT -p ALL -o $G_NET_NAME -j ACCEPT #nie pasujace - loguj $F -A OUTPUT -j LOG --log-prefix "$LOG OUTPUT:99 " ############# # nat table # ############# echo "Tworzenie regul dla tablicy nat..." #w nat wszystkie reguly dla gate ############## # PREROUTING # ############## echo " lancuch PREROUTING" #przekierowanie hosta a.a.a.a wchodzacego na x.x.x.x na adres y.y.y.y #$F -t nat -A PREROUTING -s 192.168.0.31 -d 83.12.xx.xx -j DNAT --to-destination 192.168.0.31 #PRZEKIEROWANIE IP ZEWNETRZNYCH NA WEWNETRZNE (MARIUSZL) iptables -t nat -A PREROUTING -d 83.12.xx.xx -j DNAT --to 192.168.0.11 iptables -t nat -A POSTROUTING -s 192.168.0.11 -j SNAT --to-source 83.12.xx.xx iptables -A FORWARD -s 83.12.xx.xx -d 192.168.0.11 -j ACCEPT iptables -A FORWARD -s 192.168.0.11 -d 83.12.xx.xx -j ACCEPT #PRZEKIEROWANIE IP ZEWNETRZNYCH NA WEWNETRZNE (RAFAL) iptables -t nat -A PREROUTING -d 83.12.xx.xx -j DNAT --to 192.168.0.31 iptables -t nat -A POSTROUTING -s 192.168.0.31 -j SNAT --to-source 83.12.xx.xx iptables -A FORWARD -s 83.12.xx.xx -d 192.168.0.31 -j ACCEPT iptables -A FORWARD -s 192.168.0.31 -d 83.12.xx.xx -j ACCEPT ############### # POSTROUTING # ############### echo " lancuch POSTROUTING" $F -t nat -A POSTROUTING -o $G_NET_NAME -j SNAT --to-source $G_NET_IP $F -t nat -A POSTROUTING -o $L_NET_NAME -j SNAT --to-source $G_NET_IP ################ # mangle table # ################ echo "Tworzenie regul dla mangle table..." $F -t mangle -A OUTPUT -o $G_NET_NAME -j TTL --ttl-set 128
działał dobrze do dzisiaj:
Problemy
1. co jakiś czas tracę łączność z routerem na kilka sekund
2. na Windowsach nie można przeglądać sieci - albo działa bardzo wooolno i nie widać MAC'ów które mam w sieci
3. W logach zaobserowałem dużo "błednych pakietów" zamarkowanych w firewallu
4. Czego mam szukać i co poprawić
Proszę o rady
Rafał
Offline
działał dobrze do dzisiaj:
Problemy
1. co jakiś czas tracę łączność z routerem na kilka sekund
2. na Windowsach nie można przeglądać sieci - albo działa bardzo wooolno i nie widać MAC'ów które mam w sieci [/quote]
sprawdzałeś router?
"What a beautiful day for science!" --Dexter
Offline
Time (s) | Query |
---|---|
0.00010 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00102 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.16.76.102' WHERE u.id=1 |
0.00066 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.16.76.102', 1732642634) |
0.00041 | SELECT * FROM punbb_online WHERE logged<1732642334 |
0.00067 | DELETE FROM punbb_online WHERE ident='3.142.212.153' |
0.00074 | SELECT topic_id FROM punbb_posts WHERE id=56671 |
0.00104 | SELECT id FROM punbb_posts WHERE topic_id=7460 ORDER BY posted |
0.00077 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=7460 AND t.moved_to IS NULL |
0.00004 | SELECT search_for, replace_with FROM punbb_censoring |
0.00096 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=7460 ORDER BY p.id LIMIT 0,25 |
0.00068 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=7460 |
Total query time: 0.00713 s |