resumen: El firewall de Plesk es una herramienta que puede usar para mejorar la seguridad de su servidor Plesk para Linux restringiendo las conexiones de red a y/o desde el servidor.

En este tema aprenderá a añadir y eliminar directivas y reglas de firewall, a bloquear conexiones entrantes procedentes de determinados países y a exportar e importar reglas de firewall para replicar fácilmente la configuración del firewall entre servidores.

Prudencia: Tanto el firewall de Plesk como firewalld son herramientas que permiten gestionar el firewall iptables. El uso de ambas herramientas de forma simultánea puede ocasionar conflictos y forzar el cierre de los puertos que Plesk necesita para funcionar. Le recomendamos usar solo una herramienta a la vez.

Requisitos mínimos

Antes de empezar, es necesario instalar la extensión «Firewall» en el servidor. Si no la tiene, instale la extensión disponible en el Catálogo de extensiones.

Gestión de directivas y reglas de firewall

De forma predeterminada, la configuración del firewall de Plesk se compone de políticas y reglas:

  • Las políticas tienen un alcance amplio y afectan a todas las conexiones que van hacia el servidor o que salen de él, dependiendo de la política en sí. Por ejemplo, puede utilizar la «Directiva del sistema para tráfico entrante» para bloquear por completo todas las conexiones entrantes al servidor.
  • Las reglas son más específicas y rigen las conexiones entrantes a servicios individuales de Plesk, como SMTP o MySQL/MariaDB.

Las reglas prevalecen sobre las políticas. Por ejemplo, si la política global es denegar todo el tráfico entrante, pero una regla permite el tráfico entrante desde una IP específica, la regla tiene prioridad. Puede utilizar este mecanismo para reforzar o relajar la seguridad del servidor.

Por ejemplo, configurar políticas para que prohiban todas las conexiones que entran y salen del servidor, excepto algunas direcciones IP o puertos permitidos, mejorará la seguridad, pero es posible que algunas aplicaciones no funcionen debido a las restricciones de la red. Por el contrario, si se permiten todas las conexiones de forma predeterminada y se utilizan reglas para bloquear el acceso a servicios individuales o desde direcciones IP individuales, su servidor será menos seguro, pero garantizará que no tenga problemas de conexión. Experimente para encontrar el equilibrio óptimo entre funcionalidad y seguridad.

image firewall landing page

Puede administrar el firewall de dos modos:

  • Modificación de las políticas y reglas existentes, incluidas las predeterminadas.
  • Creación y eliminación de reglas personalizadas.

Modificación de una política o regla existente:

  1. Acceso a Plesk.
  2. Vaya a Herramientas y configuración > Firewall (debajo de «Seguridad»).
  3. Haga clic en el botón de alternancia «Protección con firewall» para que muestre «Activado». Si la protección con firewall ya está activada, omita este paso.
  4. Haga clic en la política o regla que desee modificar.
  5. Realice los cambios que desee, haga clic en Guardar, luego en Aplicar los cambios y, por último, en Aplicar.

Los cambios en la configuración del firewall se aplican a partir de ese momento.

Creación de una regla personalizada:

  1. Acceso a Plesk.
  2. Vaya a Herramientas y configuración > Firewall (debajo de «Seguridad»).
  3. Haga clic en el botón de alternancia «Protección con firewall» para que muestre «Activado». Si la protección con firewall ya está activada, omita este paso.
  4. Haga clic en el botón image plus icon.
  5. (Opcional) Asigne un nombre a su regla.
  6. Configure la regla. Por ejemplo, para bloquear todas las conexiones entrantes al servicio SSH desde la dirección IP 198.51.100.1 (suponiendo que se esté utilizando el puerto SSH predeterminado), establezca la «Dirección coincidente» como «Entrante», establezca la «Acción» como «Denegar», establezca el «Puerto» como «TCP 22» y, a continuación, escriba «198.51.100.1» en el campo «Orígenes».
  7. Una vez que haya configurado la regla, haga clic en Guardar, luego en Aplicar los cambios y, por último, en Aplicar.

Los cambios en la configuración del firewall ya están en vigor. Al crear reglas personalizadas, tenga cuidado de no bloquear por error las conexiones a los puertos utilizados por los servicios de Plesk.

Nota: Si está usando contenedores Docker, las reglas de firewall de Docker no se añadirán a las reglas de firewall de Plesk.

Eliminación de reglas personalizadas:

  1. Acceso a Plesk.
  2. Vaya a Herramientas y configuración > Firewall (debajo de «Seguridad»).
  3. Haga clic en el botón de alternancia «Protección con firewall» para que muestre «Activado». Si la protección con firewall ya está activada, omita este paso.
  4. Seleccione una o más reglas personalizadas que quiera eliminar. Solo se pueden eliminar las reglas personalizadas.
  5. Haga clic en Eliminar, luego en Sí, eliminar, después en Aplicar los cambios y, por último, en Aplicar.

Los cambios en la configuración del firewall se aplican a partir de ese momento.

Bloqueo de países

Puede usar el firewall de Plesk para bloquear el acceso hacia o desde direcciones IP pertenecientes a un determinado país.

Bloqueo del acceso desde un determinado país:

  1. Acceso a Plesk.
  2. Vaya a Herramientas y configuración > Firewall (debajo de «Seguridad»).
  3. Haga clic en el botón de alternancia «Protección con firewall» para que muestre «Activado». Si la protección con firewall ya está activada, omita este paso.
  4. Haga clic en el botón image plus icon.
  5. (Opcional) Asigne un nombre a su regla.
  6. Establezca «Acción» a «Denegar».
  7. Debajo de «Orígenes», introduzca el código de país ISO 3166 de dos letras del país que desea bloquear. Por ejemplo, si desea bloquear todas las conexiones entrantes de Afganistán, indique AF.
  8. (Opcional) Haga clic en «Añadir más» y repita el paso anterior para bloquear otro país. Puede bloquear tantos países como desee.
  9. Haga clic en Guardar cuando haya añadido todos los países que desea bloquear.
  10. Haga clic en Aplicar cambios y a continuación haga clic en Aplicar.

Una vez aplicada la configuración del firewall, todas las conexiones entrantes a su servidor procedentes del país bloqueado serán denegadas.

Por defecto, Plesk usa la base de datos gratuita «IP to Country Lite» de DB-IP. También puede usar una base de datos gratuita o de pago de MaxMind. Tenga en cuenta que antes debería obtener una licencia gratuita o de pago de MaxMind y recibir su llave de licencia.

Cambio a la base de datos de pago de GeoIP2:

  1. Añada las siguientes líneas al archivo panel.ini:

    [ext-firewall]
    geoipDataSource = maxmind-lite
    

    para usar la base de datos gratuita de GeoLite2 o

    [ext-firewall]
    geoipDataSource = maxmind
    

    para usar la base de datos de pago GeoIP2.

  2. Acceda al servidor mediante SSH y ejecute el siguiente comando:

    LICENSE_KEY=<enter your license key here> plesk sbin modules/firewall/ipsets --configure --data-source maxmind-lite --force
    

    o

    LICENSE_KEY=<enter your license key here> plesk sbin modules/firewall/ipsets --configure --data-source maxmind --force
    

    para usar la base de datos gratuita o de pago de MaxMind, respectivamente.

    Nota: El comando puede acabar con una advertencia Set cannot be destroyed, que puede ignorarse con total seguridad.

  3. Acceso a Plesk.

  4. Vaya a Herramientas y configuración > Firewall (debajo de «Seguridad»).

  5. Haga clic en Aplicar cambios y a continuación haga clic en Aplicar.

    Nota: Si no se muestra el botón Aplicar cambios, cree una nueva regla de firewall para desencadenar la habilidad para la aplicación de los cambios. Más adelante puede eliminar esta regla.

Una vez aplicada la configuración del firewall, se usará la base de datos de GeoIP2 en vez de GeoLite2.

Para volver a la base de datos gratuita desde DB-IP, elimine la línea geoipDataSource = maxmind-lite o geoipDataSource = maxmind del archivo panel.ini y vuelva a aplicar la configuración del firewall.

Importación y exportación de la configuración del firewall

Puede que desee duplicar la configuración del firewall de un servidor Plesk para Linux en otros servidores Plesk para Linux. La forma más fácil de efectuarlo es exportar la configuración del a un archivo y a continuación importarla en cada uno de los servidores Plesk para Linux. Puede importar y exportar la configuración del firewall tanto mediante la interfaz gráfica como desde la línea de comandos.

Exportación de la configuración del firewall mediante la GUI:

  1. Acceda a Plesk en el servidor cuya configuración del firewall desea copiar.
  2. Vaya a Herramientas y configuración > Firewall (debajo de «Seguridad»).
  3. Haga clic en el botón de alternancia «Protección con firewall» para que muestre «Activado» y a continuación haga clic en Aplicar. Si la protección con firewall ya está activada, omita este paso.
  4. Haga clic en Exportar.

La configuración del firewall se guardará en un archivo .json, que puede encontrar en el directorio de descargas de su navegador.

Importación de la configuración del firewall mediante la GUI:

  1. Acceda a Plesk en el servidor al que desea copiar la configuración del firewall de otro servidor.
  2. Vaya a Herramientas y configuración > Firewall (debajo de «Seguridad»).
  3. Haga clic en el botón de alternancia «Protección con firewall» para que muestre «Activado» y a continuación haga clic en Aplicar. Si la protección con firewall ya está activada, omita este paso.
  4. Haga clic en Importar y localice el archivo .json exportado en el servidor cuya configuración de firewall desea copiar.

Se aplicará la configuración de firewall del archivo.

Exportación de la configuración del firewall mediante la CLI:

  1. Inicie sesión mediante SSH al servidor cuya configuración de firewall desea copiar.

  2. Ejecute el siguiente comando para exportar la configuración del firewall:

    plesk ext firewall --export > rules.json

    Puede asignar el nombre que desee al archivo, puesto que «rules.json» es solo un ejemplo.

La configuración del firewall se guardará en el archivo indicado.

Importación de la configuración del firewall mediante la CLI:

  1. Acceda mediante SSH al servidor al que desea copiar la configuración del firewall de otro servidor. Para ello, es necesario abrir dos sesiones SSH distintas para así importar la configuración del firewall.

  2. En la primera sesión SSH, ejecute el siguiente comando para activar la protección con firewall. Si esta ya se encuentra activada, omita este paso.

    plesk ext firewall --enable

  3. En la segunda sesión SSH, ejecute el siguiente comando para confirmar la protección con firewall. Si esta ya se encuentra activada, omita este paso.

    plesk ext firewall --confirm

  4. En la primera sesión SSH, ejecute el comando para importar y aplicar la configuración del firewall:

    plesk ext firewall --import -config <the file's URL or local path> && plesk ext firewall --apply

    Por ejemplo

    plesk ext firewall --import -config https://example.com/rules.json && plesk ext firewall --apply

    o

    plesk ext firewall --import -config /tmp/rules.json && plesk ext firewall --apply

  5. Compruebe que puede conectarse al servidor mediante SSH después de aplicar la nueva configuración del firewall. Si es posible, en la segunda sesión de SSH, ejecute el siguiente comando para confirmar la configuración del firewall importada.

    plesk ext firewall --confirm

    Nota: Si no confirma la configuración del firewall importada dentro de los 60 segundos posteriores a la ejecución del comando plesk ext firewall --apply, los cambios realizados se revertirán automáticamente y se restaurará la configuración del firewall anterior.

Al servidor se le aplicará la configuración del firewall del archivo.