Platon Technologies
not logged in Login Registration
EnglishSlovak
open source software development celebrating 10 years of open source development! Tuesday, March 19, 2024

Diff for scripts/shell/firewall/fw-universal.sh between version 2.78 and 2.79

version 2.78, 2011/07/14 13:13:22 version 2.79, 2011/07/20 19:05:12
Line 18 
Line 18 
 # 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.77 2011-01-24 20:26:04 rajo Exp $  # $Platon: scripts/shell/firewall/fw-universal.sh,v 2.78 2011-07-14 13:13:22 nepto Exp $
 #  #
 # Changelog:  # Changelog:
 # 2003-10-24 - created  # 2003-10-24 - created
   # 2011-07-20 - implemented XEN_MODE
 #  #
   
 ### BEGIN INIT INFO  ### BEGIN INIT INFO
Line 229  set_default_policy()
Line 230  set_default_policy()
         # Set default policy          # Set default policy
         for chain in INPUT OUTPUT FORWARD; do          for chain in INPUT OUTPUT FORWARD; do
                 if [ "X$XEN_MODE" = "Xon" -a "$chain" = "FORWARD" ]; then                  if [ "X$XEN_MODE" = "Xon" -a "$chain" = "FORWARD" ]; then
                           print_info "XEN_MODE enabled: default policy for FORWARD forced to ACCEPT";
                         $IPTABLES -P $chain ACCEPT;                          $IPTABLES -P $chain ACCEPT;
                         continue;                          continue;
                 fi                  fi
Line 265  forward_off()
Line 267  forward_off()
 remove_chains()  remove_chains()
 { # {{{  { # {{{
   
         for table in filter nat mangle; do          if [ "X$XEN_MODE" = "Xon" ]; then
                 $IPTABLES -t $table -F # clear all chains                  print_info "XEN_MODE enabled: not clearing FORWARD chain";
                 $IPTABLES -t $table -X # remove all chains                  $IPTABLES --flush INPUT
                 $IPTABLES -t $table -Z # zero counts                  $IPTABLES --flush OUTPUT
         done                  $IPTABLES --flush spoof
                   # TODO!!!
           else
                   for table in filter nat mangle; do
                           $IPTABLES -t $table -F # clear all chains
                           $IPTABLES -t $table -X # remove all chains
                           $IPTABLES -t $table -Z # zero counts
                   done
           fi
   
 } # }}}  } # }}}
   
Line 280  nmap_scan_filter()
Line 290  nmap_scan_filter()
         print_info -en "Turning on nmap scan filter "          print_info -en "Turning on nmap scan filter "
   
         for chain in INPUT FORWARD; do          for chain in INPUT FORWARD; do
                   if [ "X$XEN_MODE" = "Xon" -a "$chain" = "FORWARD" ]; then
                           print_info -ne " XEN_MODE ";
                           continue;
                   fi
   
                 #  Nie je nastaveny ziaden bit                  #  Nie je nastaveny ziaden bit
                 $IPTABLES_LOG   -A $chain   -p TCP --tcp-flags ALL NONE  $LOG_LIMIT "nmap scan $chain ALL NONE: "                  $IPTABLES_LOG   -A $chain   -p TCP --tcp-flags ALL NONE  $LOG_LIMIT "nmap scan $chain ALL NONE: "
                 print_info -en "."                  print_info -en "."
   
                 $IPTABLES               -A $chain   -p TCP --tcp-flags ALL NONE -j DROP                  $IPTABLES               -A $chain   -p TCP --tcp-flags ALL NONE -j DROP
                 print_info -en "."                  print_info -en "."
   
Line 290  nmap_scan_filter()
Line 306  nmap_scan_filter()
                 for flags in   SYN,FIN   SYN,RST   FIN,RST   ; do                  for flags in   SYN,FIN   SYN,RST   FIN,RST   ; do
                         $IPTABLES_LOG   -A $chain   -p TCP --tcp-flags $flags $flags $LOG_LIMIT "nmap scan $chain $flags: "                          $IPTABLES_LOG   -A $chain   -p TCP --tcp-flags $flags $flags $LOG_LIMIT "nmap scan $chain $flags: "
                         print_info -en "."                          print_info -en "."
   
                         $IPTABLES               -A $chain   -p TCP --tcp-flags $flags $flags -j DROP                          $IPTABLES               -A $chain   -p TCP --tcp-flags $flags $flags -j DROP
                         print_info -en "."                          print_info -en "."
                 done                  done
Line 298  nmap_scan_filter()
Line 315  nmap_scan_filter()
                 for flags in   FIN   PSH   URG   ; do                  for flags in   FIN   PSH   URG   ; do
                         $IPTABLES_LOG   -A $chain   -p TCP --tcp-flags ACK,$flags $flags $LOG_LIMIT "nmap scan $chain ACK,$flags: "                          $IPTABLES_LOG   -A $chain   -p TCP --tcp-flags ACK,$flags $flags $LOG_LIMIT "nmap scan $chain ACK,$flags: "
                         print_info -en "."                          print_info -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
                         print_info -en "."                          print_info -en "."
                 done                  done
Line 312  invalid_packet_filter()
Line 330  invalid_packet_filter()
 { # {{{  { # {{{
   
         print_info -en "Turning on INVALID packet filter "          print_info -en "Turning on INVALID packet filter "
   
         for chain in INPUT OUTPUT FORWARD; do          for chain in INPUT OUTPUT FORWARD; do
                   if [ "X$XEN_MODE" = "Xon" -a "$chain" = "FORWARD" ]; then
                           print_info -ne " XEN_MODE ";
                           continue;
                   fi
                 $IPTABLES_LOG   -A $chain -m state --state INVALID $LOG_LIMIT "INVALID $chain: "                  $IPTABLES_LOG   -A $chain -m state --state INVALID $LOG_LIMIT "INVALID $chain: "
                 print_info -en "."                  print_info -en "."
                 $IPTABLES               -A $chain -m state --state INVALID -j DROP                  $IPTABLES               -A $chain -m state --state INVALID -j DROP
Line 369  anti_spoof_filter()
Line 392  anti_spoof_filter()
   
                 for iface in $ANTISPOOF_IFACE; do                  for iface in $ANTISPOOF_IFACE; do
                         print_info -en " $iface"                          print_info -en " $iface"
                         $IPTABLES -A FORWARD -i $iface -j spoof  
                           if [ "X$XEN_MODE" = "Xon" ]; then
                                   print_info -ne " XEN_MODE ";
                           else
                                   $IPTABLES -A FORWARD -i $iface -j spoof
                           fi
                         $IPTABLES -A INPUT   -i $iface -j spoof                          $IPTABLES -A INPUT   -i $iface -j spoof
                 done                  done
                 print_info " done."                  print_info " done."
Line 417  mangle_output()
Line 445  mangle_output()
   
 } # }}}  } # }}}
   
 # Masquerade local subnet  
 masquerade()  masquerade()
 { # {{{  { # {{{
           if [ "X$XEN_MODE" = "Xon" ]; then
                   print_info "XEN_MODE enabled: masquerade is not supported in this mode";
                   return;
           fi
         if [ ! -z "$NAT_LAN_IFACE" ]; then          if [ ! -z "$NAT_LAN_IFACE" ]; then
         print_info -en "NAT: Enabling packet forwarding..."          print_info -en "NAT: Enabling packet forwarding..."
         echo 1 > /proc/sys/net/ipv4/ip_forward          echo 1 > /proc/sys/net/ipv4/ip_forward
Line 431  masquerade()
Line 462  masquerade()
                 localnet="$ip/${!netmask}"                  localnet="$ip/${!netmask}"
   
                 lan_ip="`get_first_ip_addr IP_$NAT_LAN_IFACE`"                  lan_ip="`get_first_ip_addr IP_$NAT_LAN_IFACE`"
   
                 # alow packets from private subnet                  # alow packets from private subnet
                 $IPTABLES -A FORWARD -s ! $localnet -i $NAT_SUBNET_IFACE -j DROP                  $IPTABLES -A FORWARD -s ! $localnet -i $NAT_SUBNET_IFACE -j DROP
                 for client_ip in $NAT_CLIENT_DROP; do                  for client_ip in $NAT_CLIENT_DROP; do
Line 634  drop_output()
Line 665  drop_output()
                         print_info -en "$riface: Dropping outgoing packets from ports:"                          print_info -en "$riface: Dropping outgoing packets from ports:"
                         for port in $DROP_OUTPUT_TCP; do                          for port in $DROP_OUTPUT_TCP; do
                                 print_info -en " $port"                                  print_info -en " $port"
                                 $IPTABLES -A FORWARD -p TCP --sport $port -o $riface -j DROP  
                                   if [ "X$XEN_MODE" = "Xon" ]; then
                                           print_info -ne " XEN_MODE ";
                                   else
                                           $IPTABLES -A FORWARD -p TCP --sport $port -o $riface -j DROP
                                   fi
                                 $IPTABLES -A OUTPUT  -p TCP --sport $port -o $riface -j DROP                                  $IPTABLES -A OUTPUT  -p TCP --sport $port -o $riface -j DROP
                         done                          done
                         print_info " done."                          print_info " done."
Line 644  drop_output()
Line 680  drop_output()
                         print_info -en "$riface: Dropping outgoing packets from ports:"                          print_info -en "$riface: Dropping outgoing packets from ports:"
                         for port in $DROP_OUTPUT_UDP; do                          for port in $DROP_OUTPUT_UDP; do
                                 print_info -en " $port"                                  print_info -en " $port"
                                 $IPTABLES -A FORWARD -p UDP --sport $port -o $riface -j DROP  
                                   if [ "X$XEN_MODE" = "Xon" ]; then
                                           print_info -ne " XEN_MODE ";
                                   else
                                           $IPTABLES -A FORWARD -p UDP --sport $port -o $riface -j DROP
                                   fi
                                 $IPTABLES -A OUTPUT  -p UDP --sport $port -o $riface -j DROP                                  $IPTABLES -A OUTPUT  -p UDP --sport $port -o $riface -j DROP
                         done                          done
                         print_info " done."                          print_info " done."
Line 674  bann_ip_adresses()
Line 715  bann_ip_adresses()
                 for banned_ip in $BANNED_IP; do                  for banned_ip in $BANNED_IP; do
                         print_info -en " $banned_ip"                          print_info -en " $banned_ip"
                         $IPTABLES -A INPUT              -s $banned_ip -j DROP                          $IPTABLES -A INPUT              -s $banned_ip -j DROP
                         $IPTABLES -A FORWARD    -s $banned_ip -j DROP  
                           if [ "X$XEN_MODE" = "Xon" ]; then
                                           print_info -ne " XEN_MODE ";
                           else
                                   $IPTABLES -A FORWARD    -s $banned_ip -j DROP
                           fi
                 done                  done
                 print_info " done."                  print_info " done."
         fi          fi
Line 687  allow_accept_all()
Line 733  allow_accept_all()
                 for iface in $IFACE_ACCEPT_ALL; do                  for iface in $IFACE_ACCEPT_ALL; do
                         print_info -en " $iface"                          print_info -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 OUTPUT  -o $iface -j ACCEPT                          $IPTABLES -A OUTPUT  -o $iface -j ACCEPT
                           if [ "X$XEN_MODE" = "Xon" ]; then
                                   print_info -ne " XEN_MODE ";
                           else
                                   $IPTABLES -A FORWARD -i $iface -j ACCEPT
                           fi
                 done                  done
                 print_info " done."                  print_info " done."
         fi          fi
Line 1003  allow_input()
Line 1053  allow_input()
                 ip="`get_first_ip_addr IP_$ANTISPOOF_IFACE`";                  ip="`get_first_ip_addr IP_$ANTISPOOF_IFACE`";
                 print_info -en "Accepting traceroute:"                  print_info -en "Accepting traceroute:"
   
                 $IPTABLES -A OUTPUT -o $ANTISPOOF_IFACE -p UDP \                  if [ "X$XEN_MODE" = "Xon" ]; then
                         --sport $TRACEROUTE_SRC_PORTS --dport $TRACEROUTE_DEST_PORTS \                          print_info -ne " XEN_MODE ";
                         -s $ip -d $ANYWHERE -j ACCEPT                  else
                           $IPTABLES -A OUTPUT -o $ANTISPOOF_IFACE -p UDP \
                 for iface in $TRACEROUTE_IFACE; do                                  --sport $TRACEROUTE_SRC_PORTS --dport $TRACEROUTE_DEST_PORTS \
                         $IPTABLES -A FORWARD -p UDP -i $iface --sport $TRACEROUTE_SRC_PORTS \                                  -s $ip -d $ANYWHERE -j ACCEPT
                                 --dport $TRACEROUTE_DEST_PORTS -j ACCEPT  
                 done                          for iface in $TRACEROUTE_IFACE; do
   
                                   $IPTABLES -A FORWARD -p UDP -i $iface --sport $TRACEROUTE_SRC_PORTS \
                                           --dport $TRACEROUTE_DEST_PORTS -j ACCEPT
                           done
                   fi
                 print_info " done."                  print_info " done."
         fi          fi
   
Line 1151  do_ip_accounting()
Line 1206  do_ip_accounting()
                         $IPTABLES -I INPUT  -i $NAT_LAN_IFACE -j $IPACCT_IN_NAME                          $IPTABLES -I INPUT  -i $NAT_LAN_IFACE -j $IPACCT_IN_NAME
                         $IPTABLES -I OUTPUT -o $NAT_LAN_IFACE -j $IPACCT_OUT_NAME                          $IPTABLES -I OUTPUT -o $NAT_LAN_IFACE -j $IPACCT_OUT_NAME
   
                         $IPTABLES -I FORWARD -s $localnet -o $NAT_LAN_IFACE -j $IPACCT_NAME                          if [ "X$XEN_MODE" = "Xon" ]; then
                         $IPTABLES -I FORWARD -d $localnet -i $NAT_LAN_IFACE -j $IPACCT_NAME                                  print_info -ne " XEN_MODE ";
                           else
                                   $IPTABLES -I FORWARD -s $localnet -o $NAT_LAN_IFACE -j $IPACCT_NAME
                                   $IPTABLES -I FORWARD -d $localnet -i $NAT_LAN_IFACE -j $IPACCT_NAME
                           fi
   
                         for client_ip in $IP_ACCT_CLIENTS; do                          for client_ip in $IP_ACCT_CLIENTS; do
                                 $IPTABLES -A $IPACCT_NAME -s $client_ip                                  $IPTABLES -A $IPACCT_NAME -s $client_ip

Legend:
Removed from v.2.78  
changed lines
  Added in v.2.79

Platon Group <platon@platon.org> http://platon.org/
Copyright © 2002-2006 Platon Group
Site powered by Metafox CMS
Go to Top