Bueno aqui les dejo un bash que escribi porque andaba medio aburrido y queria programar algo.
Espero que les sirve. (aunque lo dudo).
#!/bin/bash
clear
lineasD="---------------------------------------------------------------------"
echo $lineasD
echo " */* UNCOMPLICATED FIREWALL ( UFW ) */*"
echo $lineasD
echo "Programa creado por : MKD1R ( lenguaje Bash-Bourne Again Shell )"
echo "VERSION DE FIREWALL:"
sudo ufw version
echo $lineasD
echo " + Pulsa enter para habilitar en Firewal UFW... ( o escriba 'exit' para salir)"
read enable
if [ "$enable" = "exit" ];
then
exit
else
sudo ufw enable
fi
export salir="n"
while [ "$salir" = "n" ] || [ "$salir" = "N" ]; do
echo $lineasD
echo " */* MENU PRINCIPAL */*"
echo $lineasD
echo " * Elige la operación que desee hacer con el firewall:"
echo " 1) Ver estado del firewall UFW."
echo " 2) Ver reglas de los puertos del firewall."
echo " 3) Añadir reglas en UFW."
echo " 4) Eliminar reglas del UFW."
echo " 5) Deshabilitar Firewall."
echo " 6) Salir."
echo $lineasD
read -p " + Que deseas? " op
echo $lineasD
case $op in
1)
echo " - ESTADO DEL FIREWAL UFW"
echo $lineasD
sudo ufw status
echo $lineasD
;;
2)
echo " - ESTADO DEL FIREWALL UFW Y SUS PUERTOS"
echo $lineasD
sudo ufw status verbose
echo $lineasD
;;
3)
echo " - AGREGAR REGLA EN UFW:"
echo $lineasD
echo " + Que deseas?"
echo " 1) Establecer reglas 'default deny'(cerrar todos los puertos)."
echo " 2) Añadir regla de permiso para entrada a puertos."
echo " 3) Añadir regla de denegacion de entrada a puertos."
echo " 4) Añadir regla de permiso de entrada para ip's y subredes."
echo " 5) Añadir regla de denegación para ip's y subredes."
echo " 6) Añadir regla de permiso de entrada para ip's y subredes con puertos"
echo " 7) Añadir regla de denegación de entrada para ip's y subredes con puertos"
echo "NOTA: Puedes poner el servicio o numero del puerto."
echo $lineasD
read -p " + Que deseas? : " add
echo $lineasD
if [ "$add" = "1" ];
then
echo " * Estableciendo regla 'default deny'..."
sudo ufw default deny
elif [ "$add" = "2" ];
then
read -p " + Ingresa el puerto o servicio del puerto : " allow
sudo ufw allow $allow
elif [ "$add" = "3" ];
then
read -p " + Ingresa el puerto o servicio del puerto : " deny
sudo ufw deny $deny
elif [ "$add" = "4" ];
then
echo " + Ingresa la ip y número de red en bits(opcional) : "
read -p " + " -a lips
if [ "${lips[1]}" != "" ];
@MKD1R (https://underc0de.org/foro/index.php?action=profile;u=86811)
Muy bueno lo que desea hacer, útil para aprender los comandos escenciales de UFW, sin embargo tuve algunos inconvenientes:
---------------------------------------------------------------------
*/* UNCOMPLICATED FIREWALL ( UFW ) */*
---------------------------------------------------------------------
Programa creado por : MKD1R ( lenguaje Bash-Bourne Again Shell )
VERSION DE FIREWALL:
ufw 0.36
Copyright 2008-2015 Canonical Ltd.
---------------------------------------------------------------------
+ Pulsa enter para habilitar en Firewal UFW... ( o escriba 'exit' para salir)
Firewall is active and enabled on system startup
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]
#!/bin/bash
clear
lineasD="---------------------------------------------------------------------"
echo $lineasD
echo " */* UNCOMPLICATED FIREWALL ( UFW ) */*"
echo $lineasD
echo "Programa creado por : MKD1R ( lenguaje Bash-Bourne Again Shell )"
echo "VERSION DE FIREWALL:"
sudo ufw version
echo $lineasD
echo " + Pulsa enter para habilitar en Firewal UFW... ( o escriba 'exit' para salir)"
read enable
if [ "$enable" = "exit" ];
then
exit
else
sudo ufw enable
fi
export salir="n"
while [ "$salir" = "n" ] || [ "$salir" = "N" ]; do
echo $lineasD
echo " */* MENU PRINCIPAL */*"
echo $lineasD
echo " * Elige la operación que desee hacer con el firewall:"
echo " 1) Ver estado del firewall UFW."
echo " 2) Ver reglas de los puertos del firewall."
echo " 3) Añadir reglas en UFW."
echo " 4) Eliminar reglas del UFW."
echo " 5) Deshabilitar Firewall."
echo " 6) Salir."
echo $lineasD
read -p " + Que deseas? " op
echo $lineasD
case $op in
1)
echo " - ESTADO DEL FIREWAL UFW"
echo $lineasD
sudo ufw status
echo $lineasD
;;
2)
echo " - ESTADO DEL FIREWALL UFW Y SUS PUERTOS"
echo $lineasD
sudo ufw status verbose
echo $lineasD
;;
3)
echo " - AGREGAR REGLA EN UFW:"
echo $lineasD
echo " + Que deseas?"
echo " 1) Establecer reglas 'default deny'(cerrar todos los puertos)."
echo " 2) Añadir regla de permiso para entrada a puertos."
echo " 3) Añadir regla de denegacion de entrada a puertos."
echo " 4) Añadir regla de permiso de entrada para ip's y subredes."
echo " 5) Añadir regla de denegación para ip's y subredes."
echo " 6) Añadir regla de permiso de entrada para ip's y subredes con puertos"
echo " 7) Añadir regla de denegación de entrada para ip's y subredes con puertos"
echo "NOTA: Puedes poner el servicio o numero del puerto."
echo $lineasD
read -p " + Que deseas? : " add
echo $lineasD
if [ "$add" = "1" ];
then
echo " * Estableciendo regla 'default deny'..."
sudo ufw default deny
elif [ "$add" = "2" ];
then
read -p " + Ingresa el puerto o servicio del puerto : " allow
sudo ufw allow $allow
elif [ "$add" = "3" ];
then
read -p " + Ingresa el puerto o servicio del puerto : " deny
sudo ufw deny $deny
fi
esac
done
Algo así, por supuesto con las opciones faltantes que le mencioné anteriormente.
~ DtxdF
DtxdF
Perdon, no revise bien el codigo lo subi incompleto.
#!/bin/bash
clear
lineasD="---------------------------------------------------------------------"
echo $lineasD
echo " */* UNCOMPLICATED FIREWALL ( UFW ) */*"
echo $lineasD
echo "Programa creado por : MKD1R ( lenguaje Bash-Bourne Again Shell )"
echo "VERSION DE FIREWALL:"
sudo ufw version
echo $lineasD
echo " + Pulsa enter para habilitar en Firewal UFW... ( o escriba 'exit' para salir)"
read enable
if [ "$enable" = "exit" ];
then
exit
else
sudo ufw enable
fi
export salir="n"
while [ "$salir" = "n" ] || [ "$salir" = "N" ]; do
echo $lineasD
echo " */* MENU PRINCIPAL */*"
echo $lineasD
echo " * Elige la operación que desee hacer con el firewall:"
echo " 1) Ver estado del firewall UFW."
echo " 2) Ver reglas de los puertos del firewall."
echo " 3) Añadir reglas en UFW."
echo " 4) Eliminar reglas del UFW."
echo " 5) Deshabilitar Firewall."
echo " 6) Salir."
echo $lineasD
read -p " + Que deseas? " op
echo $lineasD
case $op in
1)
echo " - ESTADO DEL FIREWAL UFW"
echo $lineasD
sudo ufw status
echo $lineasD
;;
2)
echo " - ESTADO DEL FIREWALL UFW Y SUS PUERTOS"
echo $lineasD
sudo ufw status verbose
echo $lineasD
;;
3)
echo " - AGREGAR REGLA EN UFW:"
echo $lineasD
echo " + Que deseas?"
echo " 1) Establecer reglas 'default deny'(cerrar todos los puertos)."
echo " 2) Añadir regla de permiso para entrada a puertos."
echo " 3) Añadir regla de denegacion de entrada a puertos."
echo " 4) Añadir regla de permiso de entrada para ip's y subredes."
echo " 5) Añadir regla de denegación para ip's y subredes."
echo " 6) Añadir regla de permiso de entrada para ip's y subredes con puertos"
echo " 7) Añadir regla de denegación de entrada para ip's y subredes con puertos"
echo "NOTA: Puedes poner el servicio o numero del puerto."
echo $lineasD
read -p " + Que deseas? : " add
echo $lineasD
if [ "$add" = "1" ];
then
echo " * Estableciendo regla 'default deny'..."
sudo ufw default deny
elif [ "$add" = "2" ];
then
read -p " + Ingresa el puerto o servicio del puerto : " allow
sudo ufw allow $allow
elif [ "$add" = "3" ];
then
read -p " + Ingresa el puerto o servicio del puerto : " deny
sudo ufw deny $deny
elif [ "$add" = "4" ];
then
echo " + Ingresa la ip y número de red en bits(opcional) : "
read -p " + " -a lips
if [ "${lips[1]}" != "" ];
then
sudo ufw allow from ${lips[0]}/${lips[1]}
else
sudo ufw allow from ${lips[0]}
fi
elif [ "$add" = "5" ];
then
echo " + Ingresa la ip y número de red en bits(opcional) : "
read -p " + " -a lips
if [ "${lips[1]}" != "" ];
then
sudo ufw deny from ${lips[0]}/${lips[1]}
else
sudo ufw deny from ${lips[0]}
fi
elif [ "$add" = "6" ];
then
echo " + Ingresa la Ip, número de red en bits(opcional) y el puerto : "
read -p " + " -a lpuerto
if [ "${lpuerto[2]}" != "" ];
then
sudo ufw allow from ${lpuerto[0]}/${lpuerto[1]} to any port ${lpuerto[2]}
else
sudo ufw allow from ${lpuerto[0]} to any port ${lpuerto[1]}
fi
elif [ "$add" = "7" ];
then
echo " + Ingresa la Ip, número de red en bits(opcional) y el puerto :"
read -p " + " -a lpuerto
if [ "${lpuerto[2]}" != "" ];
then
sudo ufw deny from ${lpuerto[0]}/${lpuerto[1]} to any port ${lpuerto[2]}
else
sudo ufw deny from ${lpuerto[0]} to any port ${lpuerto[1]}
fi
else
echo " ERROR, opcion no VALIDA."
fi
echo $lineasD
;;
4)
echo " - ELIMINAR REGLAS DEL UFW"
echo " + Lista de las reglas del Firewall:"
sudo ufw status numbered
echo "NOTA : Si deseas eliminar más de una regla, escribe sus numeros de orden(en orden descendente) dejando un espacio por cada una."
read -p " + " reglas
for rule in $reglas;
do
sudo ufw delete $rule
done
echo $lineasD
;;
5)
echo "DESHABILITAR FIREWALL:"
read -p " + Estas seguro(a) de esta acción? ( Y - N ): " disable
if [ "$disable" = "Y" ] || [ "$disable" = "y" ];
then
sudo ufw disable
elif [ "$disable" = "N" ] || [ "$disable" = "n" ];
then
echo " Buena elección!!"
else
echo " ERROR, esta opcion no es VALIDA."
fi
echo $lineasD
;;
6)
echo " - Saliendo del script bash..."
read -p " + Estas seguro(a) de esta opción? ( Y - N ): " exti
if [ "$exti" = "Y" ] || [ "$exti" = "y" ];
then
echo " Adios..."
exit
elif [ "$exti" = "N" ] || [ "$exti" = "n" ];
then
echo " Nuncas hagas algo a ultima hora."
else
echo " ERROR, esta opcion no es VALIDA."
fi
echo $lineasD
;;
*)
echo " ERROR, esta opción no es VALIDA."
echo $lineasD
;;
esac
echo " + Teclea 'ENTER' para CONTINUAR en el script..."
read
clear
done
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.
@MKD1R (https://underc0de.org/foro/index.php?action=profile;u=86811)
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