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

By default, the Plesk firewall configuration consists of policies and rules:

  • Policies are broad in scope and affect all connections to or from the server, depending on the policy itself. For example, you can use «System policy for incoming traffic» to completely block all incoming connections to the server.
  • Rules are narrower in scope and govern incoming connections to individual Plesk services, such as SMTP or MySQL/MariaDB.

Rules override policies. For example, if the global policy is to deny all incoming traffic, but a rule allows incoming traffic from a specific IP, the rule takes precedence. You can use this mechanism to tighten or relax the security of the server.

For example, setting up the policies to forbid all connections to and from the server except for a few allowed IP addresses or ports will result in improved security, but some applications may not be able to work due to the network restrictions. Conversely, allowing all connections by default and using rules to block access to individual services or from individual IP addresses will make your server less secure, but will ensure that you do not run into connection issues. Experiment to find the optimal trade-off between usability and security.

image firewall landing page

Puede administrar el firewall de dos modos:

  • Modifying existing policies and rules, including the default ones.
  • Creating and removing custom rules.

Modifying an existing policy or rule:

  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. Click the policy or rule you want to modify.
  5. Make the desired changes, click Save, click Apply Changes, and then click Apply.

The changes to the firewall configuration are now in effect.

Creating a custom rule:

  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 the rule. For example, to block all incoming connections to the SSH service from IP address 198.51.100.1 (assuming the default SSH port is being used), set «Match direction» to «Incoming», set «Action» to «Deny», set «Port» to «TCP 22», and then enter «198.51.100.1» in the «Sources» field.
  7. Once you have configured the rule, click Save, click Apply Changes, and then click Apply.

The changes to the firewall configuration are now in effect. When creating custom rules, be careful not to block connections to ports used by Plesk services by mistake.

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

Removing custom rules:

  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. Select one or more custom rules you want to remove. Only custom rules can be removed.
  5. Click Remove, click Yes, remove, click Apply Changes, and then click Apply.

The changes to the firewall configuration are now in effect.

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. Verify that you can connect to the server via SSH after applying the new firewall configuration. If you can, in the second SSH session, run the following command to confirm the imported firewall configuration.

    plesk ext firewall --confirm

    Nota: If you do not confirm the imported firewall configuration within 60 seconds of running the plesk ext firewall --apply command, the changes you made will be rolled back automatically, and the previous firewall configuration will be restored.

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