Riassunto: Il firewall di Plesk è uno strumento utilizzabile per migliorare la sicurezza del server Plesk per Linux limitando le connessioni di rete verso e/o dal server.

In questa sezione impareremo ad aggiungere e rimuovere le regole e le norme del firewall, a bloccare le connessioni in entrata da determinati paesi e a esportare e importare le regole del firewall per replicare facilmente la configurazione del firewall tra server diversi.

Attenzione: Il firewall di Plesk e firewalld sono strumenti concepiti per gestire il firewall di iptables. L’uso simultaneo dei due strumenti può causare conflitti e determinare la chiusura delle porte necessarie a Plesk per funzionare. Si consiglia di utilizzare solo uno strumento alla volta.

Prerequisiti

Prima di poter cominciare, è necessario che l’estensione «Firewall» sia installata sul server. Se non lo è, installare l’estensione dal Catalogo estensioni.

Gestione delle regole e delle norme del 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

È possibile gestire il firewall in due maniere:

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

Modifying an existing policy or rule:

  1. Accedi a Plesk.
  2. Vai su Strumenti e impostazioni > Firewall (sotto «Sicurezza»).
  3. Fare clic sul pulsante di attivazione/disattivazione «Protezione del firewall» affinché indichi «Abilitato». Se la protezione del firewall è già attiva, saltare questo passaggio.
  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. Accedi a Plesk.
  2. Vai su Strumenti e impostazioni > Firewall (sotto «Sicurezza»).
  3. Fare clic sul pulsante di attivazione/disattivazione «Protezione del firewall» affinché indichi «Abilitato». Se la protezione del firewall è già attiva, saltare questo passaggio.
  4. Fare clic sul pulsante image plus icon.
  5. (Opzionale) Dare un nome alla regola.
  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: Se utilizzi i container Docker, le regole del firewall Docker non vengono aggiunte alle regole del firewall Plesk.

Removing custom rules:

  1. Accedi a Plesk.
  2. Vai su Strumenti e impostazioni > Firewall (sotto «Sicurezza»).
  3. Fare clic sul pulsante di attivazione/disattivazione «Protezione del firewall» affinché indichi «Abilitato». Se la protezione del firewall è già attiva, saltare questo passaggio.
  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.

Blocco per paese

È possibile utilizzare il firewall di Plesk per bloccare l’accesso verso o da indirizzi IP appartenenti a un determinato paese.

Blocco dell’accesso da un determinato paese:

  1. Accedi a Plesk.
  2. Vai su Strumenti e impostazioni > Firewall (sotto «Sicurezza»).
  3. Fare clic sul pulsante di attivazione/disattivazione «Protezione del firewall» affinché indichi «Abilitato». Se la protezione del firewall è già attiva, saltare questo passaggio.
  4. Fare clic sul pulsante image plus icon.
  5. (Opzionale) Dare un nome alla regola.
  6. Impostare «Azione» su «Nega».
  7. Sotto «Fonti», inserire il codice ISO 3166 di due lettere del paese che si vuole bloccare (ad esempio, per bloccare tutte le connessioni in entrata dall’Afghanistan, inserire AF).
  8. (Opzionale) Fare clic su «Aggiungi ancora» e ripetere il passaggio precedente per bloccare un ulteriore paese. È possibile bloccare tutti i paesi che si desidera.
  9. Quando sono stati aggiunti tutti i paesi che si desidera bloccare, fare clic su Salva.
  10. Fare clic su Applica modifiche e fare clic su Applica.

Una volta applicata la configurazione del firewall, verranno negate tutte le connessioni in entrata al server dal paese o dai paesi bloccati.

Per impostazione predefinita, Plesk utilizza il database gratuito «IP to Country Lite» di DB-IP. È possibile utilizzare invece un database gratuito o a pagamento di MaxMind. Prima di fare ciò, è necessario ottenere una licenza gratuita o a pagamento da MaxMind e ricevere la chiave della licenza.

Passare al database GeoIP2 a pagamento:

  1. Aggiungere le seguenti righe al file panel.ini:

    [ext-firewall]
    geoipDataSource = maxmind-lite
    

    per usare il database gratuito GeoLite2, o

    [ext-firewall]
    geoipDataSource = maxmind
    

    per usare il database a pagamento GeoIP2.

  2. Accedere al server tramite SSH ed eseguire questo comando:

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

    oppure

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

    per utilizzare rispettivamente il database gratuito o a pagamento di MaxMind.

    Nota: Il comando può terminare con l’avviso Set cannot be destroyed (Il set non può essere distrutto). L’avviso può essere ignorato tranquillamente.

  3. Accedi a Plesk.

  4. Vai su Strumenti e impostazioni > Firewall (sotto «Sicurezza»).

  5. Fare clic su Applica modifiche e fare clic su Applica.

    Nota: Se il pulsante Applica modifiche non c’è, creare una nuova regola del firewall per attivare la possibilità di applicare le modifiche. In seguito sarà possibile rimuovere tale regola.

Quando la configurazione del firewall è stata applicata, verrà usato il database GeoIP2 al posto di quello GeoLite2.

Per tornare al database gratuito di DB-IP, rimuovere la linea geoipDataSource = maxmind-lite o geoipDataSource = maxmind dal file panel.ini e riapplicare la configurazione del firewall.

Importare ed esportare la configurazione del firewall

È possibile duplicare la configurazione di un firewall del server Plesk per Linux su altri server Plesk per Linux. Il modo più semplice per farlo è esportare la configurazione del firewall in un file, quindi importarlo su ciascun server Plesk per Linux. È possibile importare ed esportare la configurazione del firewall sia tramite l’interfaccia grafica che da riga di comando.

Esportare la configurazione del firewall tramite la GUI:

  1. Accedere a Plesk sul server del quale si vuole copiare la configurazione del firewall.
  2. Vai su Strumenti e impostazioni > Firewall (sotto «Sicurezza»).
  3. Fare clic sul pulsante di attivazione/disattivazione «Protezione del firewall» affinché indichi «Abilitato», quindi fare clic su Applica. Se la protezione del firewall è già attiva, saltare questo passaggio.
  4. Fare clic su Esporta.

La configurazione del firewall viene salvata in un file .json. È possibile trovarlo nella cartella di download del browser.

Importare la configurazione del firewall tramite la GUI:

  1. Accedere a Plesk sul server sul quale si vuole copiare la configurazione del firewall di un altro server.
  2. Vai su Strumenti e impostazioni > Firewall (sotto «Sicurezza»).
  3. Fare clic sul pulsante di attivazione/disattivazione «Protezione del firewall» affinché indichi «Abilitato», quindi fare clic su Applica. Se la protezione del firewall è già attiva, saltare questo passaggio.
  4. Fare clic su Importa e trovare il file .json esportato sul server del quale si vuole copiare la configurazione del firewall.

Verrà applicata la configurazione del firewall presente nel file.

Esportare la configurazione del firewall tramite CLI:

  1. Accedere tramite SSH al server del quale si vuole copiare la configurazione del firewall.

  2. Eseguire il seguente comando per esportare la configurazione del firewall:

    plesk ext firewall --export > rules.json

    Puoi dare al file il nome che desideri, «rules.json» è solo un esempio.

La configurazione del firewall verrà salvata nel file specificato.

Importare la configurazione del firewall tramite CLI:

  1. Accedere tramite SSH a un server sul quale si vuole copiare la configurazione del firewall di un altro server. Per importare la configurazione del firewall è necessario aprire due sessioni SSH distinte.

  2. Nella prima sessione SSH, eseguire il seguente comando per attivare la protezione del firewall. Se la protezione del firewall è già attiva, saltare questo passaggio.

    plesk ext firewall --enable

  3. Nella seconda sessione SSH, eseguire il seguente comando per confermare la protezione del firewall. Se la protezione del firewall è già attiva, saltare questo passaggio.

    plesk ext firewall --confirm

  4. Nella prima sessione SSH, eseguire il seguente comando per importare e applicare la configurazione del firewall:

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

    Per esempio

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

    oppure

    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.

Verrà applicata al server la configurazione del firewall presente nel file.