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

Rozdiely pre scripts/shell/firewall/fw-universal.sh medzi verziami 2.113 a 2.121

verzia 2.113, 2018/03/01 22:47:46 verzia 2.121, 2019/10/08 22:25:30
Riadok 22 
Riadok 22 
 # 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.112 2016/07/06 22:47:03 nepto Exp $  # $Platon: scripts/shell/firewall/fw-universal.sh,v 2.120 2019/02/14 23:14:32 nepto Exp $
 #  #
 # Changelog:  # Changelog:
 # 2003-10-24 - created  # 2003-10-24 - created
Riadok 43  DEFAULT_CACHE_DIR="${DEFAULT_CACHE_DIR:=
Riadok 43  DEFAULT_CACHE_DIR="${DEFAULT_CACHE_DIR:=
 DIST_FIREWALL_CONFIG_DIR="${DIST_FIREWALL_CONFIG_DIR:=/etc/firewall/firewall.d}"  DIST_FIREWALL_CONFIG_DIR="${DIST_FIREWALL_CONFIG_DIR:=/etc/firewall/firewall.d}"
   
 # quiet output? {{{  # quiet output? {{{
 if [ "x$1" = "xblock" ] || [ "x$QUIET" = "xyes" ]; then  if [ "x$QUIET" = "xyes" ]; then
         print_info()          print_info()
         {          {
                 echo -n ""                  echo -n ""
Riadok 754  drop_output()
Riadok 754  drop_output()
                         print_info " done."                          print_info " done."
                 fi                  fi
         done          done
   } # }}}
   
   do_ban_single_ip()
   { # {{{
           if [ -z "$1" ]; then
                   print_info "do_ban_single_ip(): empty banned_ip";
                   return;
           fi
           for banned_ip in $*; do
                   # This does immediate connection termination, but it must be inserted
                   # and thus not appended into chain, otherwise connection will still
                   # remain alive. Former forward chain rule was removed as unneccessary.
                   #   -- Nepto [2018-08-23]
                   #   -- Plantroon [2018-12-10]
                   $IPTABLES -I INPUT -s $banned_ip -j DROP;
           done
 } # }}}  } # }}}
   
 bann_ip_adresses()  bann_ip_adresses()
Riadok 776  bann_ip_adresses()
Riadok 791  bann_ip_adresses()
         if [ ! -z "$BANNED_IP" ]; then          if [ ! -z "$BANNED_IP" ]; then
                 print_info -en "Dropping ALL packets from IP:"                  print_info -en "Dropping ALL packets from IP:"
                 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                          do_ban_single_ip "$banned_ip";
   
                         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
Riadok 807  allow_accept_all()
Riadok 816  allow_accept_all()
         fi          fi
 } # }}}  } # }}}
   
   allow_accept_vrrp()
   { # {{{
           if [ ! -z "$IFACE_ACCEPT_VRRP" ]; then
                   print_info -en "Accepting VRRP packets on interfaces:"
                   for iface in $IFACE_ACCEPT_VRRP; do
                           print_info -en " $iface"
                           $IPTABLES -A INPUT  -i $iface -d 224.0.0.18/32 -p vrrp -j ACCEPT;
                           $IPTABLES -A OUTPUT -o $iface -d 224.0.0.18/32 -p vrrp -j ACCEPT;
                   done
                   print_info " done."
           fi
   } # }}}
   
 drop_input()  drop_input()
 { # {{{  { # {{{
         if [ ! -z "$NAT_LAN_IFACE" ]; then          if [ ! -z "$NAT_LAN_IFACE" ]; then
Riadok 1616  shaping_status()
Riadok 1638  shaping_status()
   
 # }}}  # }}}
   
   check_banned_ip()
   { # {{{
           output="`grep \"$1\" $DEFAULT_FIREWALL_CONFIG_DIR/BANNED_IP.conf`";
           if [ "$?" -eq 0 -a -n "$output" ]; then
                   return 0;
           fi
           return 1;
   } # }}}
   
 add_banned_ip()  add_banned_ip()
 { # {{{  { # {{{
         echo "# `date '+%Y-%m-%d %X' `" >> $DEFAULT_FIREWALL_CONFIG_DIR/BANNED_IP.conf          echo "# `date '+%F %T'`" >> $DEFAULT_FIREWALL_CONFIG_DIR/BANNED_IP.conf
         TMPFILE=`mktemp -t fw-universal.sh-XXXXXX` || exit 1          TMPFILE=`mktemp -t fw-universal.sh-XXXXXX` || exit 1
         trap 'rm -f $TMPFILE' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15          trap 'rm -f $TMPFILE' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
         if [ -z "$*" ]; then          if [ -z "$*" ]; then
Riadok 1631  add_banned_ip()
Riadok 1662  add_banned_ip()
         fi          fi
         read_config_ips $TMPFILE >> $DEFAULT_FIREWALL_CONFIG_DIR/BANNED_IP.conf          read_config_ips $TMPFILE >> $DEFAULT_FIREWALL_CONFIG_DIR/BANNED_IP.conf
         rm -f $TMPFILE          rm -f $TMPFILE
         # start with new firewalling rules  
         $0 start  
 } # }}}  } # }}}
   
 deploy_block()  deploy_block()
Riadok 1887  done
Riadok 1916  done
 REAL_INTERFACES="`echo $x_REAL_INTERFACES | awk -v RS=' ' '{ print; }' | sort -u`"  REAL_INTERFACES="`echo $x_REAL_INTERFACES | awk -v RS=' ' '{ print; }' | sort -u`"
 INTERFACES_ACCEPT_ALL="$IFACE_ACCEPT_ALL"  INTERFACES_ACCEPT_ALL="$IFACE_ACCEPT_ALL"
   
   retcode=0;
 case "$1" in  case "$1" in
         start)          start)
                 print_info -n "Starting $DESC: "                  print_info -n "Starting $DESC: "
Riadok 1900  case "$1" in
Riadok 1929  case "$1" in
                 #                  #
                 # (un)commnet next lines as needed                  # (un)commnet next lines as needed
                 #                  #
                 bann_ip_adresses  
                 allow_accept_all                  allow_accept_all
                   allow_accept_vrrp
                 nmap_scan_filter                  nmap_scan_filter
                 invalid_packet_filter                  invalid_packet_filter
                 anti_spoof_filter                  anti_spoof_filter
Riadok 1914  case "$1" in
Riadok 1943  case "$1" in
                 drop_output                  drop_output
                 allow_output                  allow_output
                 allow_icmp                  allow_icmp
                 echo "----[ INCOMMING TRAFFIC ]------------------------------------------------"                  print_info "----[ INCOMMING TRAFFIC ]------------------------------------------------"
                 drop_input                  drop_input
                 reject_input                  reject_input
                 allow_input                  allow_input
Riadok 1928  case "$1" in
Riadok 1957  case "$1" in
                 shaping_on                  shaping_on
                 configure_special_rules                  configure_special_rules
                 custom_rules                  custom_rules
                   bann_ip_adresses
                 $IPTABLES_SAVE -c > $CACHE_FILE                  $IPTABLES_SAVE -c > $CACHE_FILE
                 ;;                  ;;
   
Riadok 1958  case "$1" in
Riadok 1988  case "$1" in
         purge)          purge)
                 find $DEFAULT_CACHE_DIR -type f -ls -exec rm -f {} \;                  find $DEFAULT_CACHE_DIR -type f -ls -exec rm -f {} \;
                 ;;                  ;;
   
         block)          block)
                 shift;                  shift;
                 add_banned_ip $*;                  for banned_ip in $*; do
                 # start the some script twice to refresh rules (new blocked IP's)                          check_banned_ip "$banned_ip";
                 QUIET=yes $0 start;                          if [ "$?" -eq 0 ]; then
                                   print_info "Already blocked IP address: $banned_ip";
                                   retcode=1;
                           else
                                   print_info "Blocking IP address: $banned_ip";
                                   add_banned_ip "$banned_ip";
                                   do_ban_single_ip "$banned_ip";
                           fi
                   done
                 ;;                  ;;
         update)          update)
                 update;                  update;
Riadok 1983  case "$1" in
Riadok 2022  case "$1" in
                 ;;                  ;;
 esac  esac
   
 exit 0  exit "$retcode";
   
 # vim600: fdm=marker fdl=0 fdc=3  # vim600: fdm=marker fdl=0 fdc=3
   

Legend:
Odstranené z verzie2.113  
zmenené riadky
  Pridané vo verzii2.121

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