Muchas soluciones de firewall están disponibles para sistemas operativos basados en Linux/Unix, como Raspbian OS en el caso de Raspberry Pi. Estas soluciones de firewall tienen tablas de IP debajo para filtrar paquetes provenientes de diferentes fuentes y permitir que solo los legítimos ingresen al sistema. Las tablas de IP están instaladas en Raspberry Pi de forma predeterminada, pero no están configuradas. Es un poco tedioso configurar la tabla de IP predeterminada. Por lo tanto, utilizaremos una herramienta alternativa, Uncomplicated Fire Wall (UFW), que es extremadamente fácil de configurar y usar ufw.
A continuación se muestran algunos ejemplos del comando ufw.
Ejemplos de comandos ufw
1. Habilitar ufw:
# ufw enable
2. Deshabilitar ufw:
# ufw disable
3. Muestra las reglas de ufw, junto con sus números:
# ufw status numbered
4. Permita el tráfico entrante en el puerto 5432 de este host con un comentario que identifique el servicio:
# ufw allow 5432 comment "Service"
5. Permita solo el tráfico TCP de 192.168.0.4 a cualquier dirección en este host, en el puerto 22:
# ufw allow proto tcp from 192.168.0.4 to any port 22
6. Denegar el tráfico en el puerto 80 de este host:
7. Denegar todo el tráfico UDP a los puertos en el rango 8412:8500:
# ufw deny proto udp from any to any port 8412:8500
8. Eliminar una regla en particular. El número de regla se puede recuperar del comando `ufw status numbered`:
# ufw delete rule_number
9. Verifique el estado de UFW:
# ufw status
10. Agregue una nueva regla para permitir SSH:
# ufw allow ssh
11. Alternativamente, puede usar un número de puerto para abrir un puerto en particular:
# ufw allow 22
12. Permitir solo tráfico TCP sobre HTTP (puerto 80):
# ufw allow http/tcp
13. Denegar tráfico FTP entrante:
# ufw deny ftp
14. Verifique todas las reglas agregadas antes de iniciar el firewall:
# ufw show added
15. Obtenga una lista numerada de reglas agregadas:
# ufw status numbered
16. También puede permitir todos los puertos en un rango especificando un rango de puertos:
# ufw allow 1050:5000/tcp
17. Si desea abrir todos los puertos para una dirección IP en particular, use el siguiente comando:
# ufw allow from 10.0.2.100
18 Como alternativa, puede permitir una subred completa, de la siguiente manera:
# ufw allow from 10.0.2.0/24
19. También puede permitir o denegar un puerto específico para una dirección IP dada:
# ufw allow from 10.0.2.100 to any port 2222 # ufw deny from 10.0.2.100 to any port 5223
20. Para especificar un protocolo en la regla anterior, use el siguiente comando:
# ufw deny from 10.0.2.100 proto tcp to any port 5223
21. Eliminar reglas:
# ufw delete allow ftp
22. Eliminar reglas especificando sus números:
# ufw status numbered # ufw delete 2
23. Agregue una nueva regla en un número específico:
# ufw insert 1 allow 5222/tcp # Inserts a rule at number 1
24. Si desea rechazar las conexiones FTP salientes, puede usar el siguiente comando:
# ufw reject out ftp
25. UFW también admite perfiles de aplicación. Para ver todos los perfiles de aplicación, use el siguiente comando:
# ufw app list
26. Obtenga más información sobre el perfil de la aplicación usando el siguiente comando:
# ufw app info OpenSSH
27. Permita el perfil de la aplicación de la siguiente manera:
# ufw allow OpenSSH
28. Configure los niveles de registro de ufw [off|low|medium|high|full] con la ayuda del siguiente comando:
# ufw logging medium
29. Ver informes de cortafuegos con el parámetro show:
# ufw show added # list of rules added # ufw show raw # show complete firewall
30 Restablecer ufw a su estado predeterminado (UFW respaldará todas las reglas):
# ufw reset