Bash - FireWall UFW

  • 3 Respuestas
  • 360 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado MKD1R

  • *
  • Underc0der
  • Mensajes: 7
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email

Bash - FireWall UFW

  • en: Enero 15, 2020, 11:07:43 pm
Bueno aqui les dejo un bash que escribi porque andaba medio aburrido y queria programar algo.
Espero que les sirve. (aunque lo dudo).
Código: Bash
  1. #!/bin/bash
  2.  
  3. clear
  4. lineasD="---------------------------------------------------------------------"
  5. echo $lineasD
  6. echo "               */*   UNCOMPLICATED FIREWALL ( UFW )   */*"
  7. echo $lineasD
  8. echo "Programa creado por : MKD1R ( lenguaje Bash-Bourne Again Shell )"
  9. echo "VERSION DE FIREWALL:"
  10. sudo ufw  version
  11. echo $lineasD
  12. echo " + Pulsa enter para habilitar en Firewal UFW... ( o escriba 'exit' para salir)"
  13. read enable
  14. if [ "$enable" = "exit" ];
  15. then
  16.    exit
  17. else
  18.    sudo ufw enable
  19. fi
  20. export salir="n"
  21. while [ "$salir" = "n" ] || [ "$salir" = "N" ]; do
  22.    echo $lineasD
  23.    echo "               */*      MENU PRINCIPAL       */*"
  24.    echo $lineasD
  25.    echo " * Elige la operación que desee hacer con el firewall:"
  26.    echo "   1) Ver estado del firewall UFW."
  27.    echo "   2) Ver reglas de los puertos del firewall."
  28.    echo "   3) Añadir reglas en UFW."
  29.    echo "   4) Eliminar reglas del UFW."
  30.    echo "   5) Deshabilitar Firewall."
  31.    echo "   6) Salir."
  32.    echo $lineasD
  33.    read -p " + Que deseas? " op
  34.    echo $lineasD
  35.  
  36.    case $op in
  37.       1)
  38.          echo " - ESTADO DEL FIREWAL UFW"
  39.          echo $lineasD
  40.          sudo ufw status
  41.          echo $lineasD
  42.       ;;
  43.       2)
  44.          echo " - ESTADO DEL FIREWALL UFW Y SUS PUERTOS"
  45.          echo $lineasD
  46.          sudo ufw status verbose
  47.          echo $lineasD
  48.       ;;
  49.       3)
  50.          echo " - AGREGAR REGLA EN UFW:"
  51.          echo $lineasD
  52.          echo " + Que deseas?"
  53.          echo "   1) Establecer reglas 'default deny'(cerrar todos los puertos)."
  54.          echo "   2) Añadir regla de permiso para entrada a puertos."
  55.          echo "   3) Añadir regla de denegacion de entrada a puertos."
  56.          echo "   4) Añadir regla de permiso de entrada para ip's y subredes."
  57.          echo "   5) Añadir regla de denegación para ip's y subredes."
  58.          echo "   6) Añadir regla de permiso de entrada para ip's y subredes con puertos"
  59.          echo "   7) Añadir regla de denegación de entrada para ip's y subredes con puertos"
  60.          echo "NOTA: Puedes poner el servicio o numero del puerto."
  61.          echo $lineasD
  62.          read -p " + Que deseas? : " add
  63.          echo $lineasD
  64.          if [ "$add" = "1" ];
  65.          then
  66.             echo " * Estableciendo regla 'default deny'..."
  67.             sudo ufw default deny
  68.          elif [ "$add" = "2" ];
  69.          then
  70.             read -p " + Ingresa el puerto o servicio del puerto : " allow
  71.             sudo ufw allow $allow
  72.          elif [ "$add" = "3" ];
  73.          then
  74.             read -p " + Ingresa el puerto o servicio del puerto : " deny
  75.             sudo ufw deny $deny
  76.          elif [ "$add" = "4" ];
  77.          then
  78.             echo " + Ingresa la ip y número de red en bits(opcional) : "
  79.             read -p " + " -a lips
  80.             if [ "${lips[1]}" != "" ];
  81.  
« Última modificación: Enero 17, 2020, 10:06:06 am por Gabriela »

Desconectado DtxdF

  • *
  • Moderador Global
  • Mensajes: 613
  • Actividad:
    100%
  • Reputación 15
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • Ver Perfil
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.
    • Email

Re:Bash - FireWall UFW

  • en: Enero 15, 2020, 11:22:39 pm
@MKD1R

Muy bueno lo que desea hacer, útil para aprender los comandos escenciales de UFW, sin embargo tuve algunos inconvenientes:

Código: Text
  1. ---------------------------------------------------------------------
  2.                */*   UNCOMPLICATED FIREWALL ( UFW )   */*
  3. ---------------------------------------------------------------------
  4. Programa creado por : MKD1R ( lenguaje Bash-Bourne Again Shell )
  5. VERSION DE FIREWALL:
  6. ufw 0.36
  7. Copyright 2008-2015 Canonical Ltd.
  8. ---------------------------------------------------------------------
  9.  + Pulsa enter para habilitar en Firewal UFW... ( o escriba 'exit' para salir)
  10.  
  11. Firewall is active and enabled on system startup
  12. test.sh: línea 81: error sintáctico: no se esperaba el final del fichero

El primero fue el que le muestro anteriormente, pero también cabe recalcar que faltan opciones cómo la: 4, 5 y 6, mientras que para la opción "3" carece de las opciones 5, 6 y 7.

Espero lo arregle, enserio es de mucha utilidad.

[ACTUALIZO]

Código: Bash
  1. #!/bin/bash
  2.  
  3. clear
  4. lineasD="---------------------------------------------------------------------"
  5. echo $lineasD
  6. echo "               */*   UNCOMPLICATED FIREWALL ( UFW )   */*"
  7. echo $lineasD
  8. echo "Programa creado por : MKD1R ( lenguaje Bash-Bourne Again Shell )"
  9. echo "VERSION DE FIREWALL:"
  10. sudo ufw  version
  11. echo $lineasD
  12. echo " + Pulsa enter para habilitar en Firewal UFW... ( o escriba 'exit' para salir)"
  13. read enable
  14. if [ "$enable" = "exit" ];
  15. then
  16.         exit
  17. else
  18.         sudo ufw enable
  19. fi
  20. export salir="n"
  21. while [ "$salir" = "n" ] || [ "$salir" = "N" ]; do
  22.         echo $lineasD
  23.         echo "               */*      MENU PRINCIPAL       */*"
  24.         echo $lineasD
  25.         echo " * Elige la operación que desee hacer con el firewall:"
  26.         echo "   1) Ver estado del firewall UFW."
  27.         echo "   2) Ver reglas de los puertos del firewall."
  28.         echo "   3) Añadir reglas en UFW."
  29.         echo "   4) Eliminar reglas del UFW."
  30.         echo "   5) Deshabilitar Firewall."
  31.         echo "   6) Salir."
  32.         echo $lineasD
  33.         read -p " + Que deseas? " op
  34.         echo $lineasD
  35.  
  36.         case $op in
  37.                 1)
  38.                         echo " - ESTADO DEL FIREWAL UFW"
  39.                         echo $lineasD
  40.                         sudo ufw status
  41.                         echo $lineasD
  42.                 ;;
  43.                 2)
  44.                         echo " - ESTADO DEL FIREWALL UFW Y SUS PUERTOS"
  45.                         echo $lineasD
  46.                         sudo ufw status verbose
  47.                         echo $lineasD
  48.                 ;;
  49.                 3)
  50.                         echo " - AGREGAR REGLA EN UFW:"
  51.                         echo $lineasD
  52.                         echo " + Que deseas?"
  53.                         echo "   1) Establecer reglas 'default deny'(cerrar todos los puertos)."
  54.                         echo "   2) Añadir regla de permiso para entrada a puertos."
  55.                         echo "   3) Añadir regla de denegacion de entrada a puertos."
  56.                         echo "   4) Añadir regla de permiso de entrada para ip's y subredes."
  57.                         echo "   5) Añadir regla de denegación para ip's y subredes."
  58.                         echo "   6) Añadir regla de permiso de entrada para ip's y subredes con puertos"
  59.                         echo "   7) Añadir regla de denegación de entrada para ip's y subredes con puertos"
  60.                         echo "NOTA: Puedes poner el servicio o numero del puerto."
  61.                         echo $lineasD
  62.                         read -p " + Que deseas? : " add
  63.                         echo $lineasD
  64.                         if [ "$add" = "1" ];
  65.                         then
  66.                                 echo " * Estableciendo regla 'default deny'..."
  67.                                 sudo ufw default deny
  68.                         elif [ "$add" = "2" ];
  69.                         then
  70.                                 read -p " + Ingresa el puerto o servicio del puerto : " allow
  71.                                 sudo ufw allow $allow
  72.                         elif [ "$add" = "3" ];
  73.                         then
  74.                                 read -p " + Ingresa el puerto o servicio del puerto : " deny
  75.                                 sudo ufw deny $deny
  76.  
  77.                   fi
  78.  
  79.                esac
  80.  
  81. done
  82.  

Algo así, por supuesto con las opciones faltantes que le mencioné anteriormente.

~ DtxdF
« Última modificación: Enero 17, 2020, 10:06:23 am por Gabriela »
Los seres humanos son robots, cuyo combustible es el afanado dinero.

Conectado MKD1R

  • *
  • Underc0der
  • Mensajes: 7
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email

Re:Bash - FireWall UFW

  • en: Enero 16, 2020, 07:56:33 pm
DtxdF
Perdon, no revise bien el codigo lo subi incompleto.
Código: Bash
  1.  
  2. #!/bin/bash
  3.  
  4. clear
  5. lineasD="---------------------------------------------------------------------"
  6. echo $lineasD
  7. echo "               */*   UNCOMPLICATED FIREWALL ( UFW )   */*"
  8. echo $lineasD
  9. echo "Programa creado por : MKD1R ( lenguaje Bash-Bourne Again Shell )"
  10. echo "VERSION DE FIREWALL:"
  11. sudo ufw  version
  12. echo $lineasD
  13. echo " + Pulsa enter para habilitar en Firewal UFW... ( o escriba 'exit' para salir)"
  14. read enable
  15. if [ "$enable" = "exit" ];
  16. then
  17.    exit
  18. else
  19.    sudo ufw enable
  20. fi
  21. export salir="n"
  22. while [ "$salir" = "n" ] || [ "$salir" = "N" ]; do
  23.    echo $lineasD
  24.    echo "               */*      MENU PRINCIPAL       */*"
  25.    echo $lineasD
  26.    echo " * Elige la operación que desee hacer con el firewall:"
  27.    echo "   1) Ver estado del firewall UFW."
  28.    echo "   2) Ver reglas de los puertos del firewall."
  29.    echo "   3) Añadir reglas en UFW."
  30.    echo "   4) Eliminar reglas del UFW."
  31.    echo "   5) Deshabilitar Firewall."
  32.    echo "   6) Salir."
  33.    echo $lineasD
  34.    read -p " + Que deseas? " op
  35.    echo $lineasD
  36.  
  37.    case $op in
  38.       1)
  39.          echo " - ESTADO DEL FIREWAL UFW"
  40.          echo $lineasD
  41.          sudo ufw status
  42.          echo $lineasD
  43.       ;;
  44.       2)
  45.          echo " - ESTADO DEL FIREWALL UFW Y SUS PUERTOS"
  46.          echo $lineasD
  47.          sudo ufw status verbose
  48.          echo $lineasD
  49.       ;;
  50.       3)
  51.          echo " - AGREGAR REGLA EN UFW:"
  52.          echo $lineasD
  53.          echo " + Que deseas?"
  54.          echo "   1) Establecer reglas 'default deny'(cerrar todos los puertos)."
  55.          echo "   2) Añadir regla de permiso para entrada a puertos."
  56.          echo "   3) Añadir regla de denegacion de entrada a puertos."
  57.          echo "   4) Añadir regla de permiso de entrada para ip's y subredes."
  58.          echo "   5) Añadir regla de denegación para ip's y subredes."
  59.          echo "   6) Añadir regla de permiso de entrada para ip's y subredes con puertos"
  60.          echo "   7) Añadir regla de denegación de entrada para ip's y subredes con puertos"
  61.          echo "NOTA: Puedes poner el servicio o numero del puerto."
  62.          echo $lineasD
  63.          read -p " + Que deseas? : " add
  64.          echo $lineasD
  65.          if [ "$add" = "1" ];
  66.          then
  67.             echo " * Estableciendo regla 'default deny'..."
  68.             sudo ufw default deny
  69.          elif [ "$add" = "2" ];
  70.          then
  71.             read -p " + Ingresa el puerto o servicio del puerto : " allow
  72.             sudo ufw allow $allow
  73.          elif [ "$add" = "3" ];
  74.          then
  75.             read -p " + Ingresa el puerto o servicio del puerto : " deny
  76.             sudo ufw deny $deny
  77.          elif [ "$add" = "4" ];
  78.          then
  79.             echo " + Ingresa la ip y número de red en bits(opcional) : "
  80.             read -p " + " -a lips
  81.             if [ "${lips[1]}" != "" ];
  82.             then
  83.                sudo ufw allow from ${lips[0]}/${lips[1]}
  84.             else
  85.                sudo ufw allow from ${lips[0]}
  86.             fi
  87.          elif [ "$add" = "5" ];
  88.          then
  89.             echo " + Ingresa la ip y número de red en bits(opcional) : "
  90.             read -p " + " -a lips
  91.             if [ "${lips[1]}" != "" ];
  92.             then
  93.                sudo ufw deny from ${lips[0]}/${lips[1]}
  94.             else
  95.                sudo ufw deny from ${lips[0]}
  96.             fi
  97.          elif [ "$add" = "6" ];
  98.          then
  99.             echo  " + Ingresa la Ip, número de red en bits(opcional) y el puerto : "
  100.             read -p " + " -a lpuerto
  101.             if [ "${lpuerto[2]}" != "" ];
  102.             then
  103.                sudo ufw allow from ${lpuerto[0]}/${lpuerto[1]} to any port ${lpuerto[2]}
  104.             else
  105.                sudo ufw allow from ${lpuerto[0]} to any port ${lpuerto[1]}
  106.             fi
  107.          elif [ "$add" = "7" ];
  108.          then
  109.             echo " + Ingresa la Ip, número de red en bits(opcional) y el puerto :"
  110.             read -p " + " -a lpuerto
  111.             if [ "${lpuerto[2]}" != "" ];
  112.                                 then
  113.                                         sudo ufw deny from ${lpuerto[0]}/${lpuerto[1]} to any port ${lpuerto[2]}
  114.                                 else
  115.                                         sudo ufw deny from ${lpuerto[0]} to any port ${lpuerto[1]}
  116.                                 fi
  117.          else
  118.             echo "  ERROR, opcion no VALIDA."
  119.          fi
  120.          echo $lineasD
  121.       ;;
  122.       4)
  123.          echo " - ELIMINAR REGLAS DEL UFW"
  124.          echo " + Lista de las reglas del Firewall:"
  125.          sudo ufw status numbered
  126.          echo "NOTA : Si deseas eliminar más de una regla, escribe sus numeros de orden(en orden descendente) dejando un espacio por cada una."
  127.          read -p " + " reglas
  128.          for rule in $reglas;
  129.          do
  130.             sudo ufw delete $rule
  131.          done
  132.          echo $lineasD
  133.       ;;
  134.       5)
  135.          echo "DESHABILITAR FIREWALL:"
  136.          read -p " + Estas seguro(a) de esta acción? ( Y - N ): " disable
  137.          if [ "$disable" = "Y" ] || [ "$disable" = "y" ];
  138.          then
  139.             sudo ufw disable
  140.          elif [ "$disable" = "N" ] || [ "$disable" = "n" ];
  141.          then
  142.             echo "  Buena elección!!"
  143.          else
  144.             echo "  ERROR, esta opcion no es VALIDA."
  145.          fi
  146.          echo $lineasD
  147.       ;;
  148.       6)
  149.          echo " - Saliendo del script bash..."
  150.          read -p  " + Estas seguro(a) de esta opción? ( Y - N ): " exti
  151.          if [ "$exti" = "Y" ] || [ "$exti" = "y" ];
  152.          then
  153.             echo "  Adios..."
  154.             exit
  155.          elif [ "$exti" = "N" ] || [ "$exti" = "n" ];
  156.          then
  157.             echo "  Nuncas hagas algo a ultima hora."
  158.          else
  159.             echo "  ERROR, esta opcion no es VALIDA."
  160.          fi
  161.          echo $lineasD
  162.       ;;
  163.       *)
  164.          echo "  ERROR, esta opción no es VALIDA."
  165.          echo $lineasD
  166.       ;;
  167.    esac
  168.    echo " + Teclea 'ENTER' para CONTINUAR en el script..."
  169.    read
  170.    clear
  171. done
  172.  
En serio, de corazon espero me disculpen. Estaba muy distraido.
De parte de su gran amigo : MKD1R
PD : Ejecuten el script con el comando sudo para evitar molestias.
« Última modificación: Enero 17, 2020, 10:06:40 am por Gabriela »

Desconectado DtxdF

  • *
  • Moderador Global
  • Mensajes: 613
  • Actividad:
    100%
  • Reputación 15
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • Ver Perfil
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.
    • Email

Re:Bash - FireWall UFW

  • en: Enero 16, 2020, 09:04:32 pm
@MKD1R

No hay problema, en la vida siempre habrá distracciones, pero igualmente le agradezco su esfuerzo y cómo último mensaje, guardaré el script para ejecutarlo más tarde  ;)

~ DtxdF
« Última modificación: Enero 17, 2020, 10:06:54 am por Gabriela »
Los seres humanos son robots, cuyo combustible es el afanado dinero.

 

[Bash] Keylogger para robo de password de root desde session de usuario estandar

Iniciado por B3N

Respuestas: 2
Vistas: 5802
Último mensaje Junio 25, 2015, 09:34:52 pm
por B3N
[TOOL] ShellCheck - Busca automáticamente problemas en scripts bash o sh

Iniciado por rand0m

Respuestas: 0
Vistas: 4046
Último mensaje Mayo 21, 2015, 05:48:59 pm
por rand0m
[Bash] Instalador de Ruby (ultima version) en RHEL/CentOS

Iniciado por B3N

Respuestas: 0
Vistas: 3738
Último mensaje Agosto 09, 2015, 12:49:43 pm
por B3N
Instalar Bash de Ubuntu en Windows 10 de forma nativa

Iniciado por Stiuvert

Respuestas: 2
Vistas: 7571
Último mensaje Octubre 04, 2016, 02:05:31 am
por grep
[Bash] Descargar Playlist de Youtube (Sólo Audio WAV)

Iniciado por LinuxProblems

Respuestas: 0
Vistas: 267
Último mensaje Enero 24, 2020, 08:46:54 pm
por LinuxProblems