v-delete-firewall-chain 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #!/bin/bash
  2. # info: delete firewall chain
  3. # options: CHAIN
  4. #
  5. # The function adds new rule to system firewall
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Importing system variables
  10. source /etc/profile
  11. # Argument definition
  12. chain=$(echo $1 | tr '[:lower:]' '[:upper:]')
  13. # Defining absolute path to iptables
  14. iptables="/sbin/iptables"
  15. # Includes
  16. source $VESTA/func/main.sh
  17. source $VESTA/conf/vesta.conf
  18. #----------------------------------------------------------#
  19. # Verifications #
  20. #----------------------------------------------------------#
  21. check_args '1' "$#" 'CHAIN'
  22. is_format_valid 'chain'
  23. is_system_enabled "$FIREWALL_SYSTEM" 'FIREWALL_SYSTEM'
  24. #----------------------------------------------------------#
  25. # Action #
  26. #----------------------------------------------------------#
  27. # Deleting chain
  28. chains=$VESTA/data/firewall/chains.conf
  29. banlist=$VESTA/data/firewall/banlist.conf
  30. chain_param=$(grep "CHAIN='$chain'" $chains 2>/dev/null)
  31. if [ ! -z "$chain_param" ]; then
  32. eval $chain_param
  33. sed -i "/CHAIN='$chain'/d" $chains
  34. sed -i "/CHAIN='$chain'/d" $banlist
  35. $iptables -D INPUT -p $PROTOCOL \
  36. --dport $PORT -j fail2ban-$CHAIN 2>/dev/null
  37. fi
  38. # Deleting iptables chain
  39. $iptables -F fail2ban-$CHAIN 2>/dev/null
  40. $iptables -X fail2ban-$CHAIN 2>/dev/null
  41. # Changing permissions
  42. chmod 660 $chains
  43. #----------------------------------------------------------#
  44. # Vesta #
  45. #----------------------------------------------------------#
  46. # Logging
  47. log_event "$OK" "$ARGUMENTS"
  48. exit