Sicurezza
Monitorare i Server PHP Esposti: Come Individuare e Proteggere i Tuoi Siti
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:
- Non aspettare: vulnerabilità critiche (CVSS 9+) sono già in fase di sfruttamento entro ore dalla scoperta pubblica.
- Esegui l'aggiornamento: il tempo è il nemico. Se non riesci subito, attiva un WAF provvisorio.
- Testa prima in staging: ma non perderti in test prolungati — il rischio di non aggiornare supera il rischio di un piccolo downtime.
- 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