Platon Technologies
neprihlásený Prihlásiť Registrácia
SlovakEnglish
open source software development oslavujeme 10 rokov vývoja otvoreného softvéru! Štvrtok, 28. marec 2024

Rozdiely pre scripts/shell/firewall/fw-universal.sh medzi verziami 2.6 a 2.12

verzia 2.6, 2005/01/02 02:37:12 verzia 2.12, 2005/01/16 10:55:39
Riadok 5 
Riadok 5 
 # Can be started by init or by hand.  # Can be started by init or by hand.
 #  #
 # Developed by Lubomir Host 'rajo' <rajo AT platon.sk>  # Developed by Lubomir Host 'rajo' <rajo AT platon.sk>
 # Copyright (c) 2003-2004 Platon SDG, http://platon.sk/  # Copyright (c) 2003-2005 Platon SDG, http://platon.sk/
 # Licensed under terms of GNU General Public License.  # Licensed under terms of GNU General Public License.
 # All rights reserved.  # All rights reserved.
 #  #
 # $Platon: scripts/shell/firewall/fw-universal.sh,v 2.5 2005/01/02 01:49:01 rajo Exp $  # $Platon: scripts/shell/firewall/fw-universal.sh,v 2.11 2005/01/13 13:31:54 rajo Exp $
 #  #
 # Changelog:  # Changelog:
 # 2004-11-14 - created  # 2003-10-24 - created
 #  #
   
 DESC="firewall"  DESC="firewall"
Riadok 33  DEFAULT_POLICY="${DEFAULT_POLICY:=DROP}"
Riadok 33  DEFAULT_POLICY="${DEFAULT_POLICY:=DROP}"
 # which modules to load  # which modules to load
 MODULES="${MODULES:=}"  MODULES="${MODULES:=}"
   
 LOG_LIMIT="${LOG_LIMIT:=-m limit --limit 12/h --limit-burst 10}"  LOG_LIMIT="${LOG_LIMIT:=-m limit --limit 12/h --limit-burst 10 -j LOG --log-level notice --log-prefix}"
   
 # Paths:  # Paths:
 #IPTABLES=":" # for testing only - does nothing  #IPTABLES=":" # for testing only - does nothing
Riadok 139  nmap_scan_filter()
Riadok 139  nmap_scan_filter()
   
         for chain in INPUT FORWARD; do          for chain in INPUT FORWARD; do
                 #  Nie je nastaveny ziaden bit                  #  Nie je nastaveny ziaden bit
                 $IPTABLES -A $chain   -p TCP --tcp-flags ALL NONE  $LOG_LIMIT -j LOG --log-prefix "nmap scan $chain ALL NONE: "                  $IPTABLES -A $chain   -p TCP --tcp-flags ALL NONE  $LOG_LIMIT "nmap scan $chain ALL NONE: "
                 echo -en "."                  echo -en "."
                 $IPTABLES -A $chain   -p TCP --tcp-flags ALL NONE -j DROP                  $IPTABLES -A $chain   -p TCP --tcp-flags ALL NONE -j DROP
                 echo -en "."                  echo -en "."
   
                 # dva odporujuuce si flagy su nastavene:                  # dva odporujuuce si flagy su nastavene:
                 for flags in   SYN,FIN   SYN,RST   FIN,RST   ; do                  for flags in   SYN,FIN   SYN,RST   FIN,RST   ; do
                         $IPTABLES -A $chain   -p TCP --tcp-flags $flags $flags $LOG_LIMIT -j LOG --log-prefix "nmap scan $chain $flags: "                          $IPTABLES -A $chain   -p TCP --tcp-flags $flags $flags $LOG_LIMIT "nmap scan $chain $flags: "
                         echo -en "."                          echo -en "."
                         $IPTABLES -A $chain   -p TCP --tcp-flags $flags $flags -j DROP                          $IPTABLES -A $chain   -p TCP --tcp-flags $flags $flags -j DROP
                         echo -en "."                          echo -en "."
Riadok 154  nmap_scan_filter()
Riadok 154  nmap_scan_filter()
   
                 # je nastavene len $flags bez predpokladaneho ACK                  # je nastavene len $flags bez predpokladaneho ACK
                 for flags in   FIN   PSH   URG   ; do                  for flags in   FIN   PSH   URG   ; do
                         $IPTABLES -A $chain   -p TCP --tcp-flags ACK,$flags $flags $LOG_LIMIT -j LOG --log-prefix "nmap scan $chain ACK,$flags: "                          $IPTABLES -A $chain   -p TCP --tcp-flags ACK,$flags $flags $LOG_LIMIT "nmap scan $chain ACK,$flags: "
                         echo -en "."                          echo -en "."
                         $IPTABLES -A $chain   -p TCP --tcp-flags ACK,$flags $flags -j DROP                          $IPTABLES -A $chain   -p TCP --tcp-flags ACK,$flags $flags -j DROP
                         echo -en "."                          echo -en "."
Riadok 171  invalid_packet_filter()
Riadok 171  invalid_packet_filter()
   
         echo -en "Turning on INVALID packet filter "          echo -en "Turning on INVALID packet filter "
         for chain in INPUT OUTPUT FORWARD; do          for chain in INPUT OUTPUT FORWARD; do
                 $IPTABLES -A $chain -m state --state INVALID $LOG_LIMIT  -j LOG --log-prefix "INVALID $chain: "                  $IPTABLES -A $chain -m state --state INVALID $LOG_LIMIT "INVALID $chain: "
                 echo -en "."                  echo -en "."
                 $IPTABLES -A $chain -m state --state INVALID -j DROP                  $IPTABLES -A $chain -m state --state INVALID -j DROP
                 echo -en "."                  echo -en "."
Riadok 208  anti_spoof_filter()
Riadok 208  anti_spoof_filter()
                 $IPTABLES -N spoof                  $IPTABLES -N spoof
   
                 # Ochrana proti Spoogingu zo spatnej slucky                  # Ochrana proti Spoogingu zo spatnej slucky
                 $IPTABLES -A spoof -s 127.0.0.0/8 $LOG_LIMIT -j LOG --log-prefix "RESERVED:127.0.0.0/8 src"                  $IPTABLES -A spoof -s 127.0.0.0/8 $LOG_LIMIT "RESERVED:127.0.0.0/8 src"
                 $IPTABLES -A spoof -s 127.0.0.0/8 -j DROP                  $IPTABLES -A spoof -s 127.0.0.0/8 -j DROP
                 $IPTABLES -A spoof -d 127.0.0.0/8 $LOG_LIMIT -j LOG --log-prefix "RESERVED:127.0.0.0/8 dest"                  $IPTABLES -A spoof -d 127.0.0.0/8 $LOG_LIMIT "RESERVED:127.0.0.0/8 dest"
                 $IPTABLES -A spoof -d 127.0.0.0/8 -j DROP                  $IPTABLES -A spoof -d 127.0.0.0/8 -j DROP
                 # Ochrana proti Spoofingu Internetu z adries urcenych pre lokalne siete                  # Ochrana proti Spoofingu Internetu z adries urcenych pre lokalne siete
                 $IPTABLES -A spoof -s 192.168.0.0/16 $LOG_LIMIT -j LOG --log-prefix "RESERVED:192.168.0.0/16 src"                  $IPTABLES -A spoof -s 192.168.0.0/16 $LOG_LIMIT "RESERVED:192.168.0.0/16 src"
                 $IPTABLES -A spoof -s 192.168.0.0/16 -j DROP            # RFC1918                  $IPTABLES -A spoof -s 192.168.0.0/16 -j DROP            # RFC1918
                 $IPTABLES -A spoof -s 172.16.0.0/12 $LOG_LIMIT -j LOG --log-prefix "RESERVED:172.16.0.0/12 src"                  $IPTABLES -A spoof -s 172.16.0.0/12 $LOG_LIMIT "RESERVED:172.16.0.0/12 src"
                 $IPTABLES -A spoof -s 172.16.0.0/12 -j DROP             # RFC1918                  $IPTABLES -A spoof -s 172.16.0.0/12 -j DROP             # RFC1918
                 $IPTABLES -A spoof -s 10.0.0.0/8  $LOG_LIMIT -j LOG --log-prefix "RESERVED:10.0.0.0/8 src"                  $IPTABLES -A spoof -s 10.0.0.0/8  $LOG_LIMIT "RESERVED:10.0.0.0/8 src"
                 $IPTABLES -A spoof -s 10.0.0.0/8 -j DROP  # RFC1918 len pre sietovy interface do Internetu, kedze 10.0.0.0 je adresa LAN                  $IPTABLES -A spoof -s 10.0.0.0/8 -j DROP  # RFC1918 len pre sietovy interface do Internetu, kedze 10.0.0.0 je adresa LAN
                 $IPTABLES -A spoof -s 96.0.0.0/4 $LOG_LIMIT -j LOG --log-prefix "RESERVED:96.0.0.0/4 src"                  $IPTABLES -A spoof -s 96.0.0.0/4 $LOG_LIMIT "RESERVED:96.0.0.0/4 src"
                 $IPTABLES -A spoof -s 96.0.0.0/4 -j DROP                        # IANA                  $IPTABLES -A spoof -s 96.0.0.0/4 -j DROP                        # IANA
   
                 for iface in $ANTISPOOF_IFACE; do                  for iface in $ANTISPOOF_IFACE; do
Riadok 276  mangle_output()
Riadok 276  mangle_output()
 masquerade()  masquerade()
 { # {{{  { # {{{
         if [ ! -z "$NAT_LAN_IFACE" ]; then          if [ ! -z "$NAT_LAN_IFACE" ]; then
                 echo -en "Masquerading local subnet: $NAT_SUBNET_IFACE --> $NAT_LAN_IFACE"                  echo -en "NAT: Masquerading local subnet: $NAT_SUBNET_IFACE --> $NAT_LAN_IFACE"
   
                 ip="IP_$NAT_SUBNET_IFACE";                  ip="IP_$NAT_SUBNET_IFACE";
                 netmask="Mask_$NAT_SUBNET_IFACE"                  netmask="Mask_$NAT_SUBNET_IFACE"
Riadok 295  masquerade()
Riadok 295  masquerade()
                                 --dport $remote_port -j REDIRECT --to-port $local_port                                  --dport $remote_port -j REDIRECT --to-port $local_port
                 done                  done
   
                 $IPTABLES -t nat -A POSTROUTING -s $localnet -o $NAT_LAN_IFACE -j MASQUERADE                  #$IPTABLES -t nat -A POSTROUTING -s $localnet -o $NAT_LAN_IFACE -j MASQUERADE
                   $IPTABLES -t nat -A POSTROUTING -o $NAT_LAN_IFACE -j MASQUERADE
   
                   echo " done."
   
                 # don't forward Miscrosoft protocols - NOT RFC compliant packets                  # don't forward Miscrosoft protocols - NOT RFC compliant packets
                 if [ ! -z "$NAT_FORWARD_MICROSOFT" ]; then                  if [ ! -z "$NAT_FORWARD_MICROSOFT" ]; then
Riadok 310  masquerade()
Riadok 313  masquerade()
                 fi                  fi
   
                 if [ ! -z "$NAT_FORWARD_TCP_PORTS" ]; then                  if [ ! -z "$NAT_FORWARD_TCP_PORTS" ]; then
                         echo -en "Accepting FORWARD TCP ports:"                          echo -en "\tAccepting FORWARD TCP ports:"
                         for port in $NAT_FORWARD_TCP_PORTS; do                          for port in $NAT_FORWARD_TCP_PORTS; do
                                 echo -en " $port"                                  echo -en " $port"
                                 $IPTABLES -A FORWARD -p TCP --dport $port -m state --state NEW -j ACCEPT                                  $IPTABLES -A FORWARD -p TCP --dport $port -m state --state NEW -j ACCEPT
Riadok 319  masquerade()
Riadok 322  masquerade()
                 fi                  fi
   
                 if [ ! -z "$NAT_FORWARD_UDP_PORTS" ]; then                  if [ ! -z "$NAT_FORWARD_UDP_PORTS" ]; then
                         echo -en "Accepting FORWARD UDP ports:"                          echo -en "\tAccepting FORWARD UDP ports:"
                         for port in $NAT_FORWARD_UDP_PORTS; do                          for port in $NAT_FORWARD_UDP_PORTS; do
                                 echo -en " $port"                                  echo -en " $port"
                                 $IPTABLES -A FORWARD -p UDP --dport $port -m state --state NEW -j ACCEPT                                  $IPTABLES -A FORWARD -p UDP --dport $port -m state --state NEW -j ACCEPT
Riadok 327  masquerade()
Riadok 330  masquerade()
                         echo " done."                          echo " done."
                 fi                  fi
   
                   echo -en "\tAccepting ICMP packets:"
                   for type in $ACCEPT_ICMP_PACKETS; do
                           echo -en " $type"
                           $IPTABLES -A FORWARD -p ICMP --icmp-type $type -j ACCEPT
                   done
                   #$IPTABLES -A FORWARD -p ICMP -j LOG --log-prefix "FWD ICMP: "
                   echo " done."
   
                 # Keep state of connections from private subnets                  # Keep state of connections from private subnets
                 $IPTABLES -A OUTPUT  -m state --state NEW -o $NAT_LAN_IFACE -j ACCEPT                  $IPTABLES -A OUTPUT  -m state --state NEW -o $NAT_LAN_IFACE -j ACCEPT
                 #$IPTABLES -A FORWARD -m state --state NEW -o $NAT_LAN_IFACE -j ACCEPT                  #$IPTABLES -A FORWARD -m state --state NEW -o $NAT_LAN_IFACE -j ACCEPT
                 $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT                  $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
   
                 echo " done."  
   
         fi          fi
 } # }}}  } # }}}
   
Riadok 392  allow_input()
Riadok 401  allow_input()
                         echo -en " $iface"                          echo -en " $iface"
                         $IPTABLES -A INPUT   -i $iface -j ACCEPT                          $IPTABLES -A INPUT   -i $iface -j ACCEPT
                         $IPTABLES -A FORWARD -i $iface -j ACCEPT                          $IPTABLES -A FORWARD -i $iface -j ACCEPT
                           $IPTABLES -A OUTPUT  -o $iface -j ACCEPT
                 done                  done
                 echo " done."                  echo " done."
         fi          fi
Riadok 407  allow_input()
Riadok 417  allow_input()
                 done                  done
                 echo " done."                  echo " done."
         fi          fi
           if [ ! -z "$ALL_ACCEPT_INPUT_UDP" ]; then
                   echo -en "Accepting ALL INPUT UDP connections on ports:"
                   for port in $ALL_ACCEPT_INPUT_UDP; do
                           for iface in $INTERFACES; do
                                   ip="IP_$iface";
                                   echo -en " $port($iface)"
                                   $IPTABLES -A INPUT -i $iface -p UDP --dport $port -j ACCEPT
                           done
                   done
                   echo " done."
           fi
   
         for iface in $INTERFACES; do          for iface in $INTERFACES; do
                 ip="IP_$iface";                  ip="IP_$iface";
Riadok 463  allow_icmp()
Riadok 484  allow_icmp()
         $IPTABLES -A INPUT -p TCP --dport 113 -j REJECT --reject-with tcp-reset #AUTH server          $IPTABLES -A INPUT -p TCP --dport 113 -j REJECT --reject-with tcp-reset #AUTH server
   
         # accept only allowed ICMP packets          # accept only allowed ICMP packets
         for type in echo-reply destination-unreachable echo-request time-exceeded; do          for type in $ACCEPT_ICMP_PACKETS; do
                 echo -en " $type"                  echo -en " $type"
                 for iface in $INTERFACES; do                  for iface in $INTERFACES; do
                         ip="IP_$iface";                          ip="IP_$iface";
                         $IPTABLES -A INPUT -i $iface -d ${!ip} -p ICMP --icmp-type $type -j ACCEPT                          $IPTABLES -A INPUT -i $iface -d ${!ip} -p ICMP --icmp-type $type -j ACCEPT
                 done                  done
         done          done
           #$IPTABLES -A INPUT  -p ICMP -j LOG --log-prefix "IN  ICMP: "
           #$IPTABLES -A OUTPUT -p ICMP -j LOG --log-prefix "OUT ICMP: "
         echo " done."          echo " done."
   
 } # }}}  } # }}}
Riadok 479  log_input_drop()
Riadok 502  log_input_drop()
   
         prefix="input drop: "          prefix="input drop: "
         echo "Input drop is logged with prefix '$prefix'"          echo "Input drop is logged with prefix '$prefix'"
         $IPTABLES -A INPUT $LOG_LIMIT -j LOG --log-prefix "$prefix"          $IPTABLES -A INPUT $LOG_LIMIT "$prefix"
   
 } # }}}  } # }}}
   
Riadok 488  log_output_drop()
Riadok 511  log_output_drop()
   
         prefix="output drop: "          prefix="output drop: "
         echo "Output drop is logged with prefix '$prefix'"          echo "Output drop is logged with prefix '$prefix'"
         $IPTABLES -A OUTPUT $LOG_LIMIT -j LOG --log-prefix "$prefix"          $IPTABLES -A OUTPUT $LOG_LIMIT "$prefix"
   
 } # }}}  } # }}}
   
Riadok 497  log_forward_drop()
Riadok 520  log_forward_drop()
   
         prefix="forward drop: "          prefix="forward drop: "
         echo "Forward drop is logged with prefix '$prefix'"          echo "Forward drop is logged with prefix '$prefix'"
         $IPTABLES -A FORWARD $LOG_LIMIT -j LOG --log-prefix "$prefix"          $IPTABLES -A FORWARD $LOG_LIMIT "$prefix"
   
 } # }}}  } # }}}
   

Legend:
Odstranené z verzie2.6  
zmenené riadky
  Pridané vo verzii2.12

Platon Group <platon@platon.sk> http://platon.sk/
Copyright © 2002-2006 Platon Group
Stránka používa redakčný systém Metafox
Na začiatok