Frambuesa pi

Asegurar Raspberry Pi con Firewall

Asegurar Raspberry Pi con Firewall

Si desea ejecutar algún tipo de software de servidor en su Raspberry Pi (i.mi., servidor web, servidor de base de datos, servidor de Minecraft) y ponerlos a disposición del público en Internet (alojamiento), luego es muy importante proteger su servidor Raspberry Pi con un programa de firewall.

Hay muchos programas de firewall gratuitos y de código abierto disponibles en el sistema operativo Raspberry Pi (el sistema operativo oficial de las computadoras de placa única Raspberry Pi). Entre estos programas, UFW y Firewalld son los programas de firewall más comunes.

En este artículo, usaré el programa de firewall UFW para mostrarle cómo proteger su Raspberry Pi. Entonces empecemos.

Cosas que necesitará:

Para seguir este artículo, necesitará lo siguiente para configurar su Raspberry Pi en modo sin cabeza:

  1. Una computadora de placa única Raspberry Pi 3 o Raspberry Pi 4.
  2. Un adaptador de corriente micro-USB (Raspberry Pi 3) o USB Type-C (Raspberry Pi 4).
  3. Una tarjeta microSD de 16 GB o 32 GB con sistema operativo Raspberry Pi flasheó.
  4. Conectividad de red en Raspberry Pi.
  5. Una computadora portátil o de escritorio para acceso de escritorio remoto VNC o acceso SSH a la Raspberry Pi.

Si no desea configurar su Raspberry Pi 4 en modo sin cabeza, también necesitará:

  1. Un monitor
  2. Un cable HDMI o micro-HDMI
  3. Un teclado
  4. Un ratón.

Si necesita ayuda para actualizar la imagen del sistema operativo Raspberry Pi en la tarjeta microSD, consulte mi artículo Cómo instalar y usar Raspberry Pi Imager.

Si es un principiante en Raspberry Pi y necesita ayuda para instalar el sistema operativo Raspberry Pi en su Raspberry Pi, consulte mi artículo Cómo instalar el sistema operativo Raspberry Pi en Raspberry Pi 4.

Si necesita ayuda con la configuración sin cabeza de Raspberry Pi, consulte mi artículo Cómo instalar y configurar el sistema operativo Raspberry Pi en Raspberry Pi 4 sin monitor externo.

Actualización del sistema operativo Raspberry Pi:

Mientras intentamos proteger nuestra Raspberry Pi, es una buena idea actualizar todos los paquetes existentes del sistema operativo Raspberry Pi. Esto hará que su sistema operativo Raspberry Pi sea más seguro porque instalará las últimas actualizaciones de seguridad y correcciones de errores.

Primero, actualice la caché del repositorio de paquetes APT con el siguiente comando:

actualización de $ sudo apt


Para actualizar todos los paquetes existentes de su sistema operativo Raspberry Pi, ejecute el siguiente comando:

$ sudo apt actualización completa


Para confirmar la instalación de las actualizaciones, presione Y y luego presione <Ingresar>.


El administrador de paquetes de APT descargará todos los paquetes necesarios de Internet. Puede que tarde un poco en completarse.


Una vez que se descargan los paquetes, el administrador de paquetes de APT los instalará uno por uno. Puede que tarde un poco en completarse.


En este punto, todas las actualizaciones deben estar instaladas.

Para que los cambios surtan efecto, reinicie su Raspberry Pi con el siguiente comando:

$ sudo reiniciar

Instalación de UFW - Cortafuegos sin complicaciones:

Una vez que su Raspberry Pi se inicia, puede instalar el programa de firewall UFW con el siguiente comando:

$ sudo apt install ufw -y


Debe instalarse UFW.


Para que los cambios surtan efecto, reinicie su Raspberry Pi con el siguiente comando:

$ sudo reiniciar


Una vez que su Raspberry Pi arranca, el ufw El servicio systemd debería estar activo, como puede ver en la captura de pantalla a continuación.

$ sudo systemctl status ufw


Puede verificar si UFW está habilitado con el siguiente comando:

estado de $ sudo ufw


Como puede ver, UFW no está habilitado de forma predeterminada.


Para habilitar UFW, ejecute el siguiente comando:

$ sudo ufw habilitar


Como puede ver, UFW ahora está habilitado.

estado de $ sudo ufw

Permitir el acceso a los puertos mediante perfiles de aplicaciones:

UFW tiene algunos perfiles de aplicación predeterminados. Cada uno de los perfiles de la aplicación tiene algunos puertos predefinidos a los que puede permitir / denegar el acceso.

Para enumerar todos los perfiles de aplicaciones disponibles, ejecute el siguiente comando:

$ sudo ufw lista de aplicaciones


Todos los perfiles de aplicaciones instaladas deben aparecer en la lista.

Si está conectado a su Raspberry Pi a través de SSH o VNC (como yo), debe permitir el acceso al OpenSSH y VNC perfiles de aplicaciones. De lo contrario, la próxima vez que inicie su Raspberry Pi, no podrá acceder a ella de forma remota ya que el firewall bloqueará todos los puertos, incluidos los puertos SSH y VNC. Entonces, esto es muy importante.


Puede ver qué puertos están definidos en un perfil de aplicación (i.mi., OpenSSH) con el siguiente comando:

$ sudo ufw información de la aplicación OpenSSH


Como se puede ver, Puerto TCP 22 está definido en el perfil de la aplicación OpenSSH.


De la misma manera, el Puerto TCP 5900 se define en el VNC perfil de la aplicación.

$ sudo ufw información de la aplicación VNC


Para permitir el acceso a los puertos definidos en el VNC perfil de la aplicación, ejecute el siguiente comando:

$ sudo ufw permitir VNC


Como puede ver, el VNC el perfil de la aplicación está permitido a través del firewall.

$ sudo ufw estado numerado


De la misma forma, permitir el acceso a los puertos definidos en el OpenSSH perfil de la aplicación con el siguiente comando:

$ sudo ufw permitir OpenSSH


Como puede ver, el OpenSSH el perfil de la aplicación está permitido a través del firewall.

$ sudo ufw estado numerado

Permitir el acceso a los puertos mediante el número de puerto:

A veces, el puerto al que desea permitir / denegar el acceso no se definirá en ningún perfil de aplicación disponible. Por lo tanto, deberá permitir / denegar el acceso a estos puertos utilizando el número de puerto.

Por ejemplo, puede permitir el acceso a la Puerto TCP 8080 con el siguiente comando:

$ sudo ufw permiten 8080 / tcp


Como puede ver, el Puerto TCP 8080 se permite el acceso a través del firewall.

$ sudo ufw estado numerado


Del mismo modo, puede permitir el acceso a la Puerto UDP 8888 con el siguiente comando:

$ sudo ufw permiten 8888 / udp


Como puede ver, el Puerto UDP 8888 se permite el acceso a través del firewall.

$ sudo ufw estado numerado

Negar el acceso a los puertos:

El comportamiento predeterminado del programa de firewall de UFW es negar todo lo que no está permitido. Por lo tanto, no necesita hacer nada para denegar el acceso a ningún puerto.

En aras de la competencia, te mostraré cómo denegar puertos en UFW de todos modos.

Por ejemplo, para denegar el acceso a la Puerto TCP 9900, ejecute el siguiente comando:

$ sudo ufw deny 9900 / tcp


Como puede ver, el Puerto TCP 9900 se le niega el acceso a través del firewall.

$ sudo ufw estado numerado


De la misma manera, puede denegar los puertos definidos en un perfil de aplicación (i.mi.,  WWW) como sigue:

$ sudo ufw deny WWW

Negar el acceso de direcciones IP específicas al servidor:

En ocasiones, es posible que deba denegar el acceso a una dirección IP o subred IP específicas para proteger su servidor Raspberry Pi de ataques DDoS (Denegación de servicio distribuida). Puedes hacer eso con UFW.

Para experimentar con la denegación de direcciones IP, usaré el servidor web Apache.

Puede instalar el servidor web Apache en su Raspberry Pi con el siguiente comando:

$ sudo apt instalar apache2


Para confirmar la instalación, presione Y y luego presione <Ingresar>.


El administrador de paquetes APT descargará todos los paquetes de Internet y los instalará uno por uno. Puede que tarde un poco en completarse.


En este punto, el servidor web Apache debe estar instalado.


Una vez que el servidor web Apache esté instalado, cree una página de índice simple con el siguiente comando:

$ echo "

Bienvenido a LinuxHint

"| sudo tee / var / www / html / index.html


La apache2 El servicio systemd debería estar ejecutándose, como puede ver en la captura de pantalla a continuación.

$ sudo systemctl estado apache2


Permita el acceso al puerto del servidor web Apache (Puerto TCP 80) usando el perfil de la aplicación WWW como sigue:

$ sudo ufw permitir www


Como puede ver, los puertos definidos en el perfil de la aplicación WWW se permite el acceso a través del firewall.


Encuentra la dirección IP de tu Raspberry Pi con el siguiente comando:

$ nombre de host -I


Como puede ver, la dirección IP de mi Raspberry Pi es 192.168.0.106. Será diferente para ti. Por lo tanto, asegúrese de reemplazarlo por el suyo a partir de ahora.


Debe acceder al servidor web Apache desde otros dispositivos, como puede ver en la captura de pantalla a continuación.


La computadora que estoy usando para acceder al servidor web Apache tiene la dirección IP 192.168.0.109.


Para denegar la dirección IP 192.168.0.109 acceso a su servidor Raspberry Pi, debe agregar la regla de firewall en la parte superior (posición 1). El orden de las reglas de la UFW es muy importante. Las reglas más restrictivas deben ir primero.

$ sudo ufw estado numerado


Para denegar la dirección IP 192.168.0.109 acceso al servidor Raspberry Pi, ejecute el siguiente comando:

$ sudo ufw insertar 1 denegar desde 192.168.0.109 a cualquier


La regla UFW para denegar la dirección IP 192.168.0.109 el acceso al servidor Raspberry Pi debe ser la regla principal, como se muestra en la captura de pantalla a continuación.

$ sudo ufw estado numerado


No podrá acceder al servidor web Apache que se ejecuta en su Raspberry Pi desde la computadora con la dirección IP 192.168.0.109 ya, como puede ver en la captura de pantalla a continuación.


Pero, puede acceder al servidor web Apache que se ejecuta en su Raspberry Pi desde otras computadoras.


Si desea denegar el acceso a una subred de IP, debe agregar la regla UFW requerida antes de la regla que agregó anteriormente, ya que es una regla más restrictiva.

$ sudo ufw estado numerado


Por ejemplo, para denegar el acceso a todas las computadoras en una subred IP 192.168.20.0/24, ejecute el siguiente comando:

$ sudo ufw insertar 1 denegar desde 192.168.20.0/24 a cualquier


La regla UFW debe agregarse en la posición correcta, como se muestra en la captura de pantalla a continuación. Ahora, ninguna computadora de la subred IP 192.168.20.0/24 debería poder acceder a su servidor Raspberry Pi.

$ sudo ufw estado numerado

Eliminación de reglas de UFW:

A veces, es posible que deba eliminar algunas reglas de UFW. Es muy facil hacerlo.

Puede enumerar todas las reglas de UFW disponibles con el siguiente comando:

$ sudo ufw estado numerado


Se deben enumerar todas las reglas de UFW disponibles. Digamos que desea eliminar la regla número 10 de UFW (regla en la décima posición).


Para eliminar la regla número 10 de UFW, ejecute el siguiente comando:

$ sudo ufw eliminar 10


Para confirmar la operación de remoción, presione Y y luego presione <Ingresar>.


La regla número 10 de la UFW debería eliminarse.


Como puede ver, la regla UFW se elimina y las reglas se reordenan (la regla UFW que estaba en la posición 11 ahora está en la posición 10).

$ sudo ufw estado numerado

Conclusión:

En este artículo, le he mostrado cómo instalar el programa de firewall UFW en su Raspberry Pi (ejecutando el sistema operativo Raspberry Pi). También le he mostrado cómo permitir / denegar puertos usando el programa de firewall UFW. Le he mostrado cómo denegar que una dirección IP específica o una subred IP acceda a la Raspberry Pi utilizando el programa de firewall UFW también.

Revisión del mouse inalámbrico Microsoft Sculpt Touch
Recientemente leí sobre el Microsoft Sculpt Touch mouse inalámbrico y decidí comprarlo. Después de usarlo por un tiempo, decidí compartir mi experienc...
Trackpad en pantalla y puntero del mouse AppyMouse para tabletas Windows
Los usuarios de tabletas a menudo pierden el puntero del mouse, especialmente cuando son habituales para usar las computadoras portátiles. Los teléfon...
El botón central del mouse no funciona en Windows 10
La botón central del ratón le ayuda a desplazarse por páginas web largas y pantallas con una gran cantidad de datos. Si eso se detiene, bueno, termina...