Advertisement
LightProgrammer000

1.Firewall[ativar]

Mar 15th, 2019
383
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 6.77 KB | None | 0 0
  1. # !/bin/bash
  2.  
  3. ###################
  4. ##### Funcoes #####
  5. ###################
  6.  
  7. Configuracao()
  8. {
  9.     portas_altas=1024:65535
  10. }
  11.  
  12.  
  13. # Comando
  14. Firewall_Ativar()
  15. {
  16.     # Apresentacao
  17.     clear
  18.     echo ""
  19.     echo -e "\033[01;37m --------------------- \033[01;37m"
  20.     echo -e "\033[01;36m * Ativando Firewall * \033[01;37m"
  21.     echo -e "\033[01;37m --------------------- \033[01;37m"
  22.     echo -e ""
  23.  
  24.     # Comando: Desativar firewall
  25.     iptables -t filter -P INPUT DROP
  26.     iptables -t filter -P OUTPUT DROP
  27.     iptables -t filter -P FORWARD DROP
  28. }
  29.  
  30. Regra_Lista()
  31. {
  32.     # Apresentacao
  33.     clear
  34.     echo ""
  35.     echo -e "\033[01;37m ---------------------- \033[01;37m"
  36.     echo -e "\033[01;36m * Listagem de regras * \033[01;37m"
  37.     echo -e "\033[01;37m ---------------------- \033[01;37m"
  38.     echo -e ""
  39.  
  40.     # Comando: Listagem de regras detalhadas + sequencia
  41.     iptables -t filter -nvL --line-number
  42.     echo -e "\n\033[01;31m --------------------------------------------------------------------- \033[01;37m\n"
  43.    
  44.     # Comando: Listagem de regras em sequencia
  45.     iptables -t filter -L --line-number
  46.     echo -e "\n\033[01;31m --------------------------------------------------------------------- \033[01;37m\n"
  47. }
  48.  
  49. Regra_Limpeza()
  50. {
  51.     # Apresentacao
  52.     clear
  53.     echo ""
  54.     echo -e "\033[01;37m ---------------------- \033[01;37m"
  55.     echo -e "\033[01;36m * Regras reiniciadas * \033[01;37m"
  56.     echo -e "\033[01;37m ---------------------- \033[01;37m"
  57.     echo ""
  58.  
  59.     # Comando: Limpando memoria [flush]
  60.     iptables -t filter -X
  61.     iptables -t filter -F
  62. }
  63.  
  64. Regra_Deletar()
  65. {
  66.     # Apresentacao
  67.     clear
  68.     echo ""
  69.     echo -e "\033[01;37m -------------------- \033[01;37m"
  70.     echo -e "\033[01;36m * Delecao de regra * \033[01;37m"
  71.     echo -e "\033[01;37m -------------------- \033[01;37m"
  72.     echo ""
  73.  
  74.     echo -e -n "\033[01;35m - Posicao: \033[01;37m"
  75.     read pos
  76.  
  77.     # Comando: Deletar regra pela posicao
  78.     iptables -t filter -D INPUT $pos
  79.     iptables -t filter -D OUTPUT $pos
  80. }
  81.  
  82. Regra_Desativar_Firewall()
  83. {
  84.     # Apresentacao
  85.     clear
  86.     echo ""
  87.     echo -e "\033[01;37m ---------------------- \033[01;37m"
  88.     echo -e "\033[01;36m * Desativar firewall * \033[01;37m"
  89.     echo -e "\033[01;37m ---------------------- \033[01;37m"
  90.     echo ""
  91.    
  92.     # Comando
  93.     iptables -t filter -P INPUT ACCEPT
  94.     iptables -t filter -P OUTPUT ACCEPT
  95.     iptables -t filter -P FORWARD ACCEPT
  96. }
  97.  
  98. Liberando_Porta()
  99. {
  100.     # Apresentacao
  101.     clear
  102.     echo ""
  103.     echo -e "\033[01;37m ------------------- \033[01;37m"
  104.     echo -e "\033[01;36m * Liberando porta * \033[01;37m"
  105.     echo -e "\033[01;37m ------------------- \033[01;37m"
  106.     echo ""
  107.  
  108.     echo -e -n "\033[01;35m - Porta: \033[01;37m"
  109.     read porta
  110.  
  111.     # Comando: Liberando porta de destino e origem quaisquer
  112.     iptables -t filter -A INPUT  -p TCP --dport $porta -j ACCEPT
  113.     iptables -t filter -A OUTPUT -p TCP --sport $porta -j ACCEPT
  114.  
  115.     # Mensagem
  116.     echo ""
  117.     echo -e "\033[01;37m -------------------- \033[01;37m"
  118.     echo -e "\033[01;36m * Porta: $porta    * \033[01;37m"
  119.     echo -e "\033[01;36m * Status: Liberado * \033[01;37m"
  120.     echo -e "\033[01;37m -------------------- \033[01;37m"
  121.     echo ""
  122. }
  123.  
  124. Liberando_Protocolos_Principais()
  125. {
  126.     # Apresentacao
  127.     clear
  128.     echo ""
  129.     echo -e "\033[01;37m ------------------------- \033[01;37m"
  130.     echo -e "\033[01;36m * Protocolos principais * \033[01;37m"
  131.     echo -e "\033[01;37m ------------------------- \033[01;37m"
  132.     echo ""
  133.  
  134.     # Comando: Liberar SSH
  135.     iptables -t filter -A INPUT  -p TCP --sport $portas_altas --dport 22 -j ACCEPT
  136.     iptables -t filter -A OUTPUT -p TCP --sport 22 --dport $portas_altas -j ACCEPT
  137.    
  138.     # Comando: Liberar DNS
  139.     iptables -t filter -A INPUT  -p TCP --sport $portas_altas --dport 53 -j ACCEPT
  140.     iptables -t filter -A OUTPUT -p TCP --sport 53 --dport $portas_altas -j ACCEPT
  141.    
  142.     # Comando: Liberar FTP
  143.     iptables -t filter -A INPUT  -p TCP --sport $portas_altas --dport 21 -j ACCEPT
  144.     iptables -t filter -A OUTPUT -p TCP --sport 21 --dport $portas_altas -j ACCEPT
  145.  
  146.     # Comando: Liberar ICMP
  147.     iptables -t filter -A INPUT  -p ICMP -j ACCEPT
  148.     iptables -t filter -A OUTPUT -p ICMP -j ACCEPT
  149.  
  150.     # Comando: Liberar HTTP
  151.     iptables -t filter -A INPUT  -p TCP --sport $portas_altas --dport 80 -j ACCEPT
  152.     iptables -t filter -A OUTPUT -p TCP --sport 80 --dport $portas_altas -j ACCEPT
  153.  
  154.     # Comando: Liberar HTTPS
  155.     iptables -t filter -A INPUT  -p TCP --sport $portas_altas --dport 443 -j ACCEPT
  156.     iptables -t filter -A OUTPUT -p TCP --sport 443 --dport $portas_alta-j ACCEPT
  157.  
  158.     # Comando: Liberar MYSQL
  159.     iptables -t filter -A INPUT  -p TCP --sport $portas_altas --dport 3306 -j ACCEPT
  160.     iptables -t filter -A OUTPUT -p TCP --sport 3306 --dport $portas_altas -j ACCEPT
  161.  
  162.     echo ""
  163.     echo -e "\033[01;37m -------------------- \033[01;37m"
  164.     echo -e "\033[01;36m * Pacote: SSH    \033[01;37m"
  165.     echo -e "\033[01;36m * Pacote: DNS    \033[01;37m"
  166.     echo -e "\033[01;36m * Pacote: FTP    \033[01;37m"
  167.     echo -e "\033[01;36m * Pacote: ICMP       \033[01;37m"
  168.     echo -e "\033[01;36m * Pacote: HTTP       \033[01;37m"
  169.     echo -e "\033[01;36m * Pacote: HTTPS      \033[01;37m"
  170.     echo -e "\033[01;36m * Pacote: MYSQL      \033[01;37m"
  171.     echo -e "\033[01;36m * Status: Liberado   \033[01;37m"
  172.     echo -e "\033[01;37m -------------------- \033[01;37m"
  173.     echo ""
  174. }
  175.  
  176. ####################
  177. ##### IPTABLES #####
  178. ####################
  179.  
  180. # Ativando Firewall
  181. Configuracao
  182. Firewall_Ativar
  183.  
  184. # Estrutura em loop
  185. while (( 1 ))
  186. do
  187.     # Menu
  188.     clear
  189.     echo ""
  190.     echo -e "\033[01;36m --------------- DATA --------------- \033[01;37m"
  191.     echo -e "\033[01;31m * Num: $(date +%d)           \033[01;37m"
  192.     echo -e "\033[01;32m * Dia: $(date +%a)           \033[01;37m"
  193.     echo -e "\033[01;33m * Mes: $(date +%b)           \033[01;37m"
  194.     echo -e "\033[01;34m * Ano: $(date +%Y)           \033[01;37m"
  195.     echo -e "\033[01;35m * Status: Firewall Ativado       \033[01;37m"
  196.     echo -e "\033[01;36m ------------------------------------ \033[01;37m"
  197.     echo -e ""
  198.     echo -e "\033[01;37m ################################# FIREWALL ################################## \033[01;37m\n"
  199.     echo -e "\033[01;33m [1]  Regras [lista]                                   \033[01;37m"
  200.     echo -e "\033[01;33m [2]  Regras [limpeza]                             \033[01;37m"
  201.     echo -e "\033[01;33m [3]  Regras [deletar]                                 \033[01;37m"
  202.     echo -e "\033[01;33m [4]  Regras [desativar firewall]                          \033[01;37m"
  203.     echo -e ""
  204.     echo -e "\033[01;34m [5]  Liberando [porta]                                \033[01;37m"
  205.     echo -e "\033[01;34m [6]  Liberando [protocolos principais]                        \033[01;37m"
  206.     echo ""
  207.     echo -e "\033[01;37m ############################################################################# \033[01;37m\n"
  208.     echo -e -n "\n\033[01;34m + Opc: \033[01;37m"
  209.     read opc
  210.     echo ""
  211.  
  212.     # Estrutura em escolha
  213.     case $opc in
  214.     1)
  215.         Regra_Lista;;
  216.  
  217.     2)
  218.         Regra_Limpeza;;
  219.  
  220.     3)
  221.         Regra_Deletar;;
  222.    
  223.     4)
  224.         Regra_Desativar_Firewall;;
  225.  
  226.     5)
  227.         Liberando_Porta;;
  228.  
  229.     6)
  230.         Liberando_Protocolos_Principais;;
  231.  
  232.     *)
  233.         ;;
  234.     esac
  235.  
  236.     echo -e "\n\033[01;32m =-=-= Press [ENTER] =-=-= \033[01;37m\n"
  237.     read
  238. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement