Siempre es importante tener un cortafuegos adecuado en nuestra Raspberry para evitar posibles ataques e intrusiones desde el exterior o desde nuestra propia LAN.
Sabemos que utilizando el comando "iptables" el trabajo de configurar un cortafuegos puede ser largo y tedioso, por eso hoy veremos y utilizaremos el programa "UFW" (uncomplicated firewall).
Este programa, como su propio nombre indica, nos ayudará a configurar nuestro cortafuegos de forma relativamente sencilla a través de "iptables".
Instalaremos el paquete de la manera habitual:
$ sudo apt-get install ufw
Cuando se instala "UFW" por primera vez, el firewall se configura por defecto para que las conexiones entrantes se bloqueen y se permitan las salientes, esto equivaldría a:
$ sudo ufw default deny incoming
$ sudo ufw default allow outgoing
Antes de añadir ninguna regla, es importante asegurarse de comprobar el estado y las reglas por defecto que tenemos en el firewall con el comando:
$ sudo ufw status verbose
Vemos cómo el servicio está activo, y tiene como política denegar las conexiones entrantes y habilitar las salientes.
Si queremos ver mas detalles o editar la configuración por defecto de "UFW" podemos modificar su fichero ubicado en /etc/default/ufw.
Una de las formas para averiguar que puertos deberíamos abrir, es localizar los que están en modo escucha con el comando "nstat":
$ sudo netstat -tanp | grep LISTEN
Para añadir reglas que permitan que cualquier ip pueda conectarse por un puerto añadimos:
$ sudo allow 8070
Si queremos que permita sólo conexiones con protocolo TCP:
$ sudo allow 8070/tcp
Abrir un rango de puertos:
$ sudo allow 8070:8090/tcp
Admitir la conexión de un puerto desde una red o una ip concreta:
$ sudo ufw allow from 192.168.0.0/24 to any port 5151
$ sudo ufw allow from 192.168.0.1 to 127.0.0.1 port 5151
"UFW" también permite abrir puertos por el nombre de la aplicación. Para saber la lista de aplicaciones que vienen predefinidas ejecutamos:
$ sudo ufw app list
Por lo que abrir un puerto mediante el nombre de la aplicación es tan fácil como:
$ sudo ufw allow SMTP
Podemos editar esta lista de aplicaciones en el archivo /etc/ufw/applications.d.
Si lo que deseamos es denegar alguna conexión, seguimos el mismo procedimiento que usábamos para hablitar puertos, pero con la opción "deny":
$ sudo deny 8989/udp
Para borrar alguna regla introducida:
$sudo delete deny 8989/udp
Podemos igualmente activar o desactivar nuestro firewall de manera sencilla:
$ sudo ufw enable
$ sudo ufw disable
Y para borrar todas las reglas sólo hace falta ejecutar el siguiente comando:
$ sudo ufw reset
En "UFW" podemos activar o desactivar los "logs" para comprobar conexiones, errores,.. del firewall:
$ sudo ufw logging on
$ sudo ufw logging off
Existen tres tipos de niveles de "logs": "low", "medium" y "high". Por defecto este estado está en "low". Para cambiarlo simplemente editamos el archivo /etc/ufw/ufw.conf:
En este archivo también encontramos la línea "ENABLE=yes". Esta nos sirve para que cuando inicie la Raspberry se active automáticamente el firewall.
Con toda esta información ya podemos configurar nuestro firewall acorde a nuestras necesidades. En próximos tutoriales veremos cómo profundizar un poco más en las configuraciones de "UFW" cuando veamos la instalación de "Openvpn" en la Raspberry PI 2.
Hasta otra...
No hay comentarios:
Publicar un comentario