Plesk firewall: configurazione regole in entrata e uscita

Il firewall di Plesk

Il Plesk Firewall e' un'estensione gratuita che fornisce un'interfaccia grafica per gestire le regole di iptables (Linux) o di Windows Firewall (Windows). Permette di aprire o chiudere porte, limitare l'accesso a specifici IP, bloccare paesi e gestire le regole avanzate senza dover scrivere a mano comandi iptables.

Installare l'estensione Firewall

Se non e' già' installata, da pannello andare in Extensions → cercare "Firewall" e cliccare Install. In alternativa da SSH:

plesk installer --select-product-id panel --select-release-current --install-component firewall

Abilitare il firewall

Aprire Tools & Settings → Firewall. La prima volta il firewall e' disabilitato per evitare blocchi accidentali. Plesk propone un set di regole predefinite per i servizi standard: HTTP (80), HTTPS (443), SMTP (25, 465, 587), IMAP (143, 993), POP3 (110, 995), DNS (53), SSH (22) e il pannello (8443, 8447).

Verificare che la regola SSH sia attiva prima di applicare le modifiche: altrimenti si rischia di perdere l'accesso al server.

Aggiungere regole personalizzate

Cliccare Add Custom Rule per creare una regola specifica:

  • Name: nome descrittivo (es. "MySQL remoto")
  • Match direction: Incoming, Outgoing o entrambi
  • Action: Allow, Deny o Reject
  • Ports: TCP/UDP e numero porta (es. 3306)
  • Source IP: IP o range autorizzati (vuoto = qualsiasi)

Salvare e poi cliccare Apply Changes in cima alla pagina per attivare le regole.

Configurazione tipica per un server produzione

Per un server di produzione con siti web e posta consigliamo:

  • SSH (22): limitato agli IP dell'ufficio o VPN aziendale
  • Plesk Panel (8443): limitato agli IP amministrativi
  • HTTP/HTTPS (80, 443): aperto a tutti
  • SMTP/IMAP/POP3: aperti a tutti se il server ospita posta
  • MySQL (3306): chiuso o limitato a IP specifici
  • ICMP: consentito per ping/diagnostica

Bloccare IP malevoli

In aggiunta al firewall, l'estensione IP Banning (Fail2Ban) blocca automaticamente IP che effettuano troppi tentativi falliti. Il firewall manuale serve invece per bloccare IP specifici noti come malevoli:

  1. Aggiungere una regola Custom
  2. Action: Deny
  3. Source IP: l'IP da bloccare
  4. Direction: Incoming
  5. Ports: ALL

Regole in uscita

Per default Plesk permette tutto il traffico in uscita. Su server PCI-DSS o ad alta sicurezza puo' essere utile limitare anche l'outbound:

  • Bloccare SMTP in uscita (25) verso destinazioni non autorizzate per evitare invio di spam in caso di compromissione
  • Consentire solo connessioni verso repository ufficiali (Plesk, package manager)

Backup delle regole

Prima di applicare modifiche importanti, esportare la configurazione attuale:

iptables-save > /root/iptables-backup-$(date +%F).rules

In caso di problemi:

iptables-restore < /root/iptables-backup-2026-01-15.rules

Recupero da blocco accidentale

Se ci si blocca fuori dal server, l'unico modo per ripristinare l'accesso e' tramite la console del provider (Plesk Plesk Onyx/Obsidian non offre rescue remoto). Da console:

plesk bin firewall --off

Disabilita il firewall e ripristina iptables vuoto.

Geo-blocking

Plesk Firewall di base non supporta blocchi per nazionalita'. Per implementare geo-blocking si usa l'estensione ConfigServer Security & Firewall (CSF), alternativa più' potente al firewall base. CSF supporta:

  • Blocco di interi paesi via codice ISO (es. CN, RU)
  • Whitelist dinamica via API
  • Integrazione con Cloudflare
  • Rate limiting per connessione

Regole stateful per servizi attivi

Iptables sotto Plesk usa di default conntrack per il tracking delle connessioni. Le regole RELATED,ESTABLISHED permettono il traffico di ritorno senza dover aprire porte effimere in modo esplicito.

Bloccare ICMP selettivamente

Il ping (ICMP echo) e' utile per diagnostica, ma alcune amministrazioni preferiscono bloccarlo. Plesk Firewall permette di limitare ICMP a rate specifici (es. 1 al secondo) per evitare ping flood senza disabilitare completamente.

Logging del traffico bloccato

Per debugging, abilitare il logging delle connessioni rifiutate:

iptables -I INPUT -j LOG --log-prefix "FW-DROP: " --log-level 4

I log finiscono in /var/log/messages o /var/log/kern.log.

Integrazione con Cloudflare

Se i siti sono dietro Cloudflare, e' buona pratica whitelistare gli IP Cloudflare e bloccare tutto il resto sulle porte 80/443. Plesk include una lista IP Cloudflare aggiornabile via estensione dedicata.

Esempi di regole tipiche

Aprire porta MySQL solo per un'IP fisso:

  • Name: MySQL ufficio
  • Action: Allow
  • Source IP: 1.2.3.4 (IP statico ufficio)
  • Ports: TCP 3306
  • Direction: Incoming

Bloccare un range IP malevolo:

  • Name: Blocco range Russia
  • Action: Deny
  • Source IP: 1.2.3.0/24
  • Ports: ALL
  • Direction: Incoming

Salvataggio automatico delle regole al boot

Le regole iptables in memoria si perdono al reboot. Plesk gestisce automaticamente la persistenza tramite il servizio iptables-save all'apply. Per verificare:

systemctl status iptables
ls -la /etc/sysconfig/iptables

nftables

Su sistemi più' recenti (RHEL 9, Debian 12) iptables e' un wrapper di nftables. Plesk Firewall continua a funzionare in modo trasparente, ma per modifiche avanzate va usato direttamente nft.

Quando non bastano le regole base

Per scenari avanzati (rate limiting per IP, DDoS mitigation a livello L4, blocco SYN flood) considerare:

  • iptables hashlimit module
  • fail2ban con jail custom
  • CSF + LFD
  • Cloudflare in modalita' proxy

Backup automatico delle regole

Schedulare un cron job che salva le regole iptables ogni notte:

0 3 * * * /sbin/iptables-save > /root/iptables-$(date +\%F).rules && find /root -name "iptables-*.rules" -mtime +30 -delete

Hai bisogno di aiuto?

Se vuoi gestione Plesk dal team di G Tech Group, scrivici tramite il modulo di contatto.

Hai trovato utile quest'articolo?