Milioni di server PHP sono esposti su Internet — accessibili direttamente da qualsiasi attaccante. Una sola vulnerabilità non patchata (come le recenti CVE-2026-109618 e CVE-2026-109619) è sufficiente per compromettere il server. Questa guida spiega come scoprire se il tuo sito è a rischio e come proteggerlo.

Cosa significa "server PHP esposto"

Un server PHP è esposto quando:

  • È accessibile da Internet (dominio pubblico, IP pubblico)
  • Gira una versione vulnerabile di PHP
  • Non è protetto da Web Application Firewall (WAF) o reverse proxy

Un attaccante può scoprirlo in pochi secondi usando Shodan, Censys, o altri motori di ricerca di rete. Per questo motivo, il monitoraggio proattivo è critico.

Come verificare se il tuo server è a rischio

1. Controlla la versione di PHP

Da remoto (via HTTP):

curl -I https://mio-sito.com | grep -i "server\|x-powered"

Se vedi "X-Powered-By: PHP/8.2.30" significa che la versione è visibile (cosa che non dovrebbe essere — leggi sotto). Se vedi la versione di PHP, è potenzialmente un rischio.

Da locale (SSH):

php -v

Confronta con le versioni sicure:

  • PHP 8.5.12+ (sicuro)
  • PHP 8.4.27+ (sicuro)
  • PHP 8.3.36+ (sicuro)
  • PHP 8.2.35+ (sicuro)
  • Versioni precedenti alla 8.2: vulnerabili alle CVE-2026-109618 e CVE-2026-109619

2. Nascondi la versione di PHP

Nel file php.ini:

expose_php = Off
header_remove("X-Powered-By");

Poi nel .htaccess (Apache):

<IfModule mod_headers.c>
    Header unset X-Powered-By
    Header unset X-AspNet-Version
</IfModule>

Non è una protezione completa (un attaccante può comunque indovinare la versione), ma riduce il bersaglio.

3. Usa servizi online per verificare

Shodan.io: vai su shodan.io, cerca il tuo dominio. Se il server è indicizzato, vedrai la versione di PHP, il software web server, le porte aperte.

Censys.io: simile a Shodan, fornisce una view di tutti i servizi esposti.

Wappalyzer Chrome extension: installa l'estensione, vai sul tuo sito, clicca l'icona: vedi immediatamente il stack tecnologico (PHP, CMS, librerie).

Vulnerabilità scanner: come fare una scansione

Nessus (commerciale, con versione gratuita)

Nessus è lo standard dell'industria per vulnerability scanning:

# Download e installa da nessus.tenable.com
# Accedi alla web UI, aggiungi il tuo dominio
# Scegli il template "Web Application Tests"
# Avvia la scansione

Nessus controllerà:

  • Versione di PHP e software web server
  • Vulnerabilità note (CVE) per quella versione
  • Misconfigurazioni (esposizione di informazioni, header di sicurezza mancanti)
  • Dipendenze vulnerabili (se in grado di enumarare)

OpenVAS (open source, gratuito)

OpenVAS è l'alternativa open source a Nessus:

sudo apt install openvas
sudo gvm-start
# Accedi a http://localhost:9392

Funzionamento simile a Nessus, meno completo ma utile per scansioni di base.

OWASP ZAP (per applicazioni web)

ZAP si focalizza su vulnerabilità a livello applicativo (XSS, SQL injection, etc) piuttosto che sulla versione di PHP. Utile se hai un'applicazione web complex.

Monitoraggio continuo

Una scansione one-shot non è abbastanza. Serve monitoraggio continuo perché:

  • Nuove vulnerabilità escono ogni giorno
  • Aggiornamenti di PHP possono fallire
  • Dipendenze (librerie, plugin) vengono aggiunte nel tempo

Opzione 1: Servizio gestito (WAF + monitoring)

Cloudflare, Incapsula, AWS WAF: questi servizi offrono monitoraggio continuo della sicurezza e blocco automatico di exploit noti. Il costo è da €50–500/mese a seconda del traffico.

Opzione 2: Scansioni periodiche

Configura Nessus o OpenVAS per scansioni settimanali/mensili. Molti tool hanno API per integrarsi con CI/CD (ad es. se una nuova vulnerabilità compare, l'upgrade di PHP viene triggerato automaticamente).

Opzione 3: Monitoring in-app

Alcuni CMS (es. WordPress con plugin) offrono monitoraggio di vulnerabilità. Non è una scansione vera, ma un avviso quando una versione è unsafe.

Checklist: Proteggere il tuo server PHP

  • ☑ Verifica la versione di PHP attuale (`php -v`)
  • ☑ Confronta con le versioni patchate (8.2.35+, 8.3.36+, 8.4.27+, 8.5.12+)
  • ☑ Se vulnerabile, pianifica l'aggiornamento entro 24-48 ore
  • ☑ Nascondi la versione di PHP (expose_php = Off)
  • ☑ Installa un WAF (Cloudflare gratuita o WAF del provider)
  • ☑ Esegui una scansione di vulnerabilità (Nessus, OpenVAS)
  • ☑ Configura scansioni periodiche (settimanali o mensili)
  • ☑ Abilita gli avvisi di sicurezza dal provider hosting
  • ☑ Mantieni PHP aggiornato automaticamente se possibile

Cosa fare se il tuo server è esposto

Se scopri che il tuo server gira una versione vulnerabile di PHP:

  1. Non aspettare: vulnerabilità critiche (CVSS 9+) sono già in fase di sfruttamento entro ore dalla scoperta pubblica.
  2. Esegui l'aggiornamento: il tempo è il nemico. Se non riesci subito, attiva un WAF provvisorio.
  3. Testa prima in staging: ma non perderti in test prolungati — il rischio di non aggiornare supera il rischio di un piccolo downtime.
  4. Monitora i log: dopo l'aggiornamento, controlla se ci sono state intrusioni (tentati accessi, file modificati).

Continua a leggere

Hai un progetto in mente?

Raccontami cosa ti serve: ti propongo la soluzione web più adatta alle tue esigenze.

Contattami I miei servizi