Se nella tua azienda ci sono decine o centinaia di dispositivi, è irrealistico configurare manualmente il proxy su ognuno di essi. È proprio per questo che esiste WPAD (Web Proxy Auto-Discovery) — un protocollo che consente ai browser e alle applicazioni di trovare automaticamente le impostazioni del server proxy senza l'intervento dell'utente. Vediamo come funziona, come configurarlo correttamente e quali errori evitare.
Che cos'è WPAD e a cosa serve
WPAD sta per Web Proxy Auto-Discovery Protocol — protocollo di rilevamento automatico del web proxy. Il suo compito principale è consentire al dispositivo client (portatile, smartphone, workstation) di trovare e applicare autonomamente le impostazioni del server proxy, senza richiedere l'intervento manuale dell'amministratore di sistema o dell'utente.
Immagina una rete aziendale con 300 dipendenti. Ogni volta che viene assunto un nuovo dipendente o cambia l'indirizzo del server proxy, senza WPAD l'amministratore sarebbe costretto a visitare manualmente ogni dispositivo o inviare istruzioni. Con WPAD, tutto avviene automaticamente: il dispositivo si connette alla rete, richiede la configurazione e inizia subito a lavorare attraverso il proxy corretto.
Il protocollo è stato sviluppato alla fine degli anni '90 dalle aziende Netscape e Sun Microsystems. Nonostante la sua età, è ancora ampiamente utilizzato nelle infrastrutture IT aziendali in tutto il mondo — soprattutto dove è richiesto un controllo centralizzato del traffico internet, filtraggio dei contenuti o instradamento obbligatorio delle richieste attraverso un gateway aziendale.
Quando WPAD è realmente necessario:
- In azienda ci sono più di 20 dispositivi connessi a un unico proxy
- L'indirizzo del server proxy cambia periodicamente
- I dipendenti si connettono da diverse sedi (ufficio, filiale, remoto)
- È necessario applicare diversi proxy per diversi tipi di traffico
- È richiesto un controllo centralizzato senza l'intervento degli utenti
Tecnologicamente, WPAD funziona in combinazione con un file PAC (Proxy Auto-Config), che contiene una funzione JavaScript con la logica di selezione del proxy. WPAD è il meccanismo per la consegna di questo file ai dispositivi client, mentre PAC è il set di regole. Comprendere entrambi i componenti è fondamentale per una corretta configurazione.
Come funziona WPAD: meccanismo di rilevamento passo dopo passo
Quando un dispositivo con WPAD attivato si connette alla rete, avvia la procedura di rilevamento automatico del proxy. Questo processo è rigorosamente standardizzato e avviene in una sequenza specifica. Comprendere questa sequenza aiuta a configurare correttamente l'infrastruttura e a diagnosticare rapidamente i problemi.
Passo 1: Richiesta tramite DHCP (opzione 252)
Per prima cosa, il dispositivo invia una richiesta DHCP con l'opzione 252 (wpad). Se il server DHCP è configurato per supportare WPAD, restituisce l'URL del file PAC nella risposta — ad esempio, http://wpad.company.local/wpad.dat. Questo è il modo più veloce e affidabile per consegnare la configurazione, poiché avviene già nella fase di ottenimento dell'indirizzo IP.
Passo 2: Richiesta DNS al host "wpad"
Se il DHCP non ha restituito l'URL, il dispositivo si rivolge al server DNS con una richiesta di risoluzione del nome wpad nel dominio corrente. Se il dispositivo si trova nel dominio company.local, la richiesta DNS sarà per wpad.company.local. Se la risoluzione ha successo, il dispositivo si connette all'indirizzo http://wpad.company.local/wpad.dat.
Passo 3: Caricamento e applicazione del file PAC
Dopo aver ricevuto l'URL, il browser o l'applicazione carica il file PAC tramite HTTP. Il file contiene la funzione JavaScript FindProxyForURL(url, host), che restituisce per ogni richiesta una stringa con l'istruzione: utilizzare il proxy, connettersi direttamente o scorrere l'elenco dei server. Il client memorizza nella cache questo file e lo applica per instradare il traffico.
Un aspetto importante: il rilevamento WPAD non avviene solo al primo collegamento, ma viene ripetuto periodicamente. I browser, di solito, ricaricano il file PAC ad ogni avvio o a intervalli specifici. Questo significa che, quando le impostazioni del proxy cambiano, è sufficiente aggiornare il file PAC sul server — tutti i dispositivi riceveranno automaticamente le modifiche.
| Fase di rilevamento | Metodo | Priorità | Requisiti |
|---|---|---|---|
| DHCP Opzione 252 | Trasmissione diretta dell'URL | 1 (massima) | Server DHCP configurato |
| DNS wpad.* | Risoluzione del nome host | 2 | Record A wpad in DNS |
| URL PAC manuale | Configurazione esplicita | Manuale | Configurazione su ogni dispositivo |
File PAC: il cuore della configurazione WPAD
Il file PAC (Proxy Auto-Configuration) è un file JavaScript con una sola funzione obbligatoria FindProxyForURL(url, host). Ogni volta che un browser o un'applicazione desidera stabilire una connessione, chiama questa funzione e riceve un'istruzione: attraverso quale proxy connettersi o se connettersi direttamente.
La funzione accetta due parametri: l'URL completo della risorsa richiesta e il nome host. Sulla base di questi dati, restituisce una stringa con uno dei tre tipi di direttive:
DIRECT— connettersi direttamente, senza proxyPROXY host:port— utilizzare il proxy HTTP specificatoSOCKS host:portoSOCKS5 host:port— utilizzare un proxy SOCKS
Ecco un esempio di un semplice file PAC per una rete aziendale:
function FindProxyForURL(url, host) {
// Indirizzi locali — direttamente
if (isPlainHostName(host) ||
shExpMatch(host, "*.company.local") ||
isInNet(host, "192.168.0.0", "255.255.0.0")) {
return "DIRECT";
}
// Servizi interni — direttamente
if (shExpMatch(host, "*.internal.company.com")) {
return "DIRECT";
}
// Tutto il resto del traffico — attraverso il proxy aziendale
return "PROXY proxy.company.local:8080; DIRECT";
}
Fai attenzione alla costruzione PROXY proxy.company.local:8080; DIRECT — questa è una catena di fallback. Se il proxy principale non è disponibile, il browser passerà automaticamente a una connessione diretta. Puoi specificare più server proxy separandoli con un punto e virgola per bilanciare il carico o per riserva.
Il file PAC deve essere distribuito da un server web con il corretto tipo MIME: application/x-ns-proxy-autoconfig. Alcuni browser accettano anche text/plain, ma non è raccomandato. Il file è solitamente chiamato wpad.dat o proxy.pac e si trova nella radice del server web.
Funzioni PAC utili per scenari complessi:
isInNet(host, pattern, mask)— verifica dell'indirizzo IP tramite maschera di sottoreteshExpMatch(str, pattern)— confronto con un modello (wildcards)dnsDomainIs(host, domain)— verifica dell'appartenenza a un dominiomyIpAddress()— ottenimento dell'indirizzo IP del client (per diversi uffici)weekdayRange()/timeRange()— instradamento in base a un programma
Configurazione di WPAD tramite DHCP e DNS
Ci sono due modi principali per implementare WPAD in una rete aziendale: tramite DHCP e tramite DNS. Nella pratica, è consigliabile configurare entrambi — DHCP come metodo prioritario e DNS come riserva. Esaminiamo ciascun approccio in dettaglio.
Configurazione tramite DHCP (opzione 252)
Sul server DHCP è necessario aggiungere l'opzione 252 (WPAD) con il valore dell'URL del file PAC. Per Windows Server (ruolo DHCP):
- Apri la console di gestione del server DHCP
- Vai alla sezione Server Options o Scope Options
- Clicca su Configure Options → Advanced
- Seleziona Vendor class: Microsoft Windows 2000 Options
- Trova l'opzione 252 (WPAD) e inserisci l'URL:
http://wpad.company.local/wpad.dat - Salva le modifiche — i nuovi client DHCP riceveranno automaticamente la configurazione
Per i sistemi Linux con ISC DHCP Server, aggiungi al file di configurazione:
# /etc/dhcp/dhcpd.conf
option wpad code 252 = text;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
option wpad "http://wpad.company.local/wpad.dat\000";
}
Configurazione tramite DNS
Per il metodo DNS, è necessario creare un record A con il nome wpad nel tuo dominio DNS interno, che punti all'indirizzo IP del server web che distribuisce il file PAC.
- Apri la console DNS Manager (Windows) o modifica il file di zona (BIND)
- Nella zona
company.localcrea un record A:wpad → 192.168.1.50 - Su server 192.168.1.50 distribuisci un server web (IIS, Apache, Nginx)
- Posiziona il file
wpad.datnella radice del sito - Configura il tipo MIME per l'estensione
.dat:application/x-ns-proxy-autoconfig - Verifica la disponibilità: apri nel browser
http://wpad.company.local/wpad.dat
⚠️ Importante per Windows Server DNS:
Per impostazione predefinita, Windows Server DNS blocca la creazione di un record A con il nome "wpad" per motivi di sicurezza (protezione contro attacchi WPAD). Per consentire la creazione, esegui in PowerShell: dnscmd /config /enableglobalqueryblocklist 0 oppure rimuovi "wpad" dall'elenco globale di blocco DNS.
Configurazione del server web Nginx per la distribuzione del file PAC
# /etc/nginx/sites-available/wpad
server {
listen 80;
server_name wpad.company.local;
root /var/www/wpad;
location /wpad.dat {
default_type application/x-ns-proxy-autoconfig;
add_header Cache-Control "max-age=3600";
}
location /proxy.pac {
default_type application/x-ns-proxy-autoconfig;
add_header Cache-Control "max-age=3600";
}
}
Vulnerabilità e rischi di sicurezza di WPAD
WPAD è uno di quei protocolli in cui la comodità di amministrazione va di pari passo con seri rischi di sicurezza. Comprendere questi rischi è fondamentale per qualsiasi professionista IT che lavora con reti aziendali. Diversi classi di attacchi utilizzano WPAD come vettore per intercettare il traffico.
WPAD Name Hijacking (cattura del nome)
Se un dispositivo si connette a una rete in cui non esiste un server WPAD legittimo, ma un attaccante distribuisce un server DNS falso o risponde alle richieste DHCP, può inserire un file PAC dannoso nella vittima. Tutte le richieste HTTP del browser passeranno attraverso il proxy dell'attaccante — questo è un attacco classico "uomo nel mezzo" (MITM). È particolarmente pericoloso nelle reti Wi-Fi pubbliche.
DNS Rebinding tramite WPAD
L'attacco sfrutta il fatto che il browser si fida del file PAC e lo esegue in JavaScript. Un file PAC dannoso può utilizzare la funzione dnsResolve() per esplorare la rete interna: scorrere gli indirizzi IP, determinare le porte e i servizi aperti. Questo trasforma il browser della vittima in uno strumento di scansione dell'infrastruttura aziendale.
WPAD nelle reti pubbliche
I dispositivi con rilevamento automatico del proxy continuano a cercare un server WPAD anche nelle reti pubbliche — caffè, aeroporti, hotel. Se nel dominio di primo livello esiste un record wpad.com (e sono stati registrati casi del genere da parte dei ricercatori), il browser potrebbe caricare un file PAC da un server esterno. È per questo che ICANN ha bloccato la registrazione del dominio wpad.com.
| Minaccia | Vettore di attacco | Misure di protezione |
|---|---|---|
| MITM tramite WPAD falso | Sostituzione DHCP/DNS | DHCP Snooping, firma DNS |
| Esplorazione della rete interna | File PAC dannoso | Verifica dell'integrità del PAC |
| Fuga di dati nelle reti pubbliche | Wi-Fi aperto | Disabilitare WPAD al di fuori dell'ufficio |
| Intercettazione delle credenziali | Proxy intercettatore | HTTPS + HSTS ovunque |
Come proteggersi: raccomandazioni pratiche
- Attiva WPAD solo dove necessario — sui dispositivi aziendali tramite politiche di gruppo (GPO)
- Utilizza HTTPS per distribuire il file PAC — questo previene la sostituzione del contenuto
- Configura DHCP Snooping sugli switch — protezione contro server DHCP falsi
- Blocca le richieste DNS wpad al perimetro — affinché i dispositivi non cerchino WPAD nelle reti esterne
- Per i dipendenti remoti, disabilita WPAD tramite politiche VPN o GPO quando lavorano al di fuori dell'ufficio
- Monitora le richieste a wpad.dat — richieste inaspettate possono segnalare un attacco
WPAD contro configurazione manuale: confronto degli approcci
Prima di implementare WPAD, è utile capire in quali situazioni è davvero giustificato, e quando è meglio optare per una configurazione manuale o politiche di gruppo. Ogni approccio ha i suoi vantaggi e limitazioni.
| Parametro | WPAD | Configurazione manuale | GPO (politiche di gruppo) |
|---|---|---|---|
| Scalabilità | ✅ Eccellente | ❌ Scarsa | ✅ Eccellente |
| Supporto per dispositivi non Windows | ✅ Sì | ✅ Sì | ⚠️ Solo Windows |
| Sicurezza | ⚠️ Ci sono rischi | ✅ Alta | ✅ Alta |
| Flessibilità delle regole di instradamento | ✅ Massima | ❌ No | ⚠️ Limitata |
| Velocità di modifica delle impostazioni | ✅ Immediata | ❌ Manualmente su ogni PC | ⚠️ Al prossimo aggiornamento GPO |
| Funzionamento al di fuori della rete aziendale | ⚠️ Rischi nelle reti pubbliche | ✅ Stabile | ✅ Stabile |
La strategia ottimale per la maggior parte degli ambienti aziendali è un approccio combinato: WPAD per i dispositivi in ufficio nel dominio e configurazione manuale forzata (tramite GPO o MDM) per i portatili dei dipendenti remoti. Questo offre flessibilità nella gestione senza compromettere la sicurezza.
È anche importante considerare che per compiti in cui l'anonimato e l'affidabilità sono cruciali — ad esempio, quando si lavora con servizi esterni o si monitorano i concorrenti — un proxy aziendale tramite WPAD potrebbe non essere sufficiente. In tali casi, si utilizzano anche proxy residenziali, che forniscono indirizzi IP di utenti domestici reali e riducono significativamente il rischio di blocchi da parte di servizi esterni.
Alternative a WPAD per reti aziendali
WPAD non è l'unico modo per gestire centralmente le impostazioni del proxy in una rete aziendale. A seconda dell'infrastruttura, delle dimensioni dell'azienda e dei requisiti di sicurezza, possono essere adatti altri approcci. Esaminiamo le principali alternative.
1. Distribuzione diretta del file PAC tramite GPO
In un ambiente Active Directory, è possibile utilizzare le politiche di gruppo per forzare l'impostazione dell'URL del file PAC nei browser Internet Explorer ed Edge (tramite le impostazioni di Internet Explorer Maintenance o Administrative Templates). Il vantaggio è il controllo completo su quali dispositivi riceveranno le impostazioni, senza rischi di attacchi WPAD. Lo svantaggio è che funziona solo per dispositivi Windows nel dominio.
2. Proxy trasparente (Transparent Proxy)
L'hardware di rete (router, firewall) intercetta il traffico HTTP/HTTPS e lo reindirizza attraverso un server proxy senza alcuna configurazione sui dispositivi client. Gli utenti e le applicazioni non sono nemmeno a conoscenza dell'esistenza del proxy. Questo è conveniente, ma richiede il supporto per l'ispezione SSL per il traffico HTTPS, il che comporta requisiti aggiuntivi per l'infrastruttura PKI.
3. Sistemi MDM per dispositivi mobili
Per smartphone e tablet su iOS e Android, i sistemi di gestione dei dispositivi mobili (MDM) — ad esempio, Microsoft Intune, Jamf o VMware Workspace ONE — consentono di inviare centralmente le impostazioni del proxy. Questo è più affidabile di WPAD per i dispositivi mobili che spesso operano al di fuori della rete aziendale.
4. VPN aziendale con instradamento forzato
Invece di un server proxy, tutto il traffico dei dipendenti remoti viene instradato attraverso un gateway VPN aziendale. Sul gateway vengono applicate politiche di filtraggio e ispezione del traffico. Questo approccio offre un alto livello di sicurezza, ma richiede un'infrastruttura VPN e può aumentare i ritardi per gli utenti in altre regioni.
Per compiti che vanno oltre l'infrastruttura aziendale — ad esempio, quando i dipendenti del marketing monitorano i prezzi dei concorrenti o testano campagne pubblicitarie da diverse regioni — gli strumenti aziendali spesso non sono sufficienti. In tali casi, si utilizzano proxy di data center per compiti di scraping rapidi o proxy mobili per lavorare con social media e piattaforme pubblicitarie.
Checklist: come scegliere l'approccio alla gestione del proxy
- ✅ Solo dispositivi Windows nel dominio → GPO + file PAC
- ✅ Ambiente misto (Windows + Mac + Linux + mobile) → WPAD + DHCP
- ✅ Elevate esigenze di sicurezza → Proxy trasparente o VPN
- ✅ Dispositivi mobili → MDM (Intune, Jamf)
- ✅ Dipendenti remoti → VPN + instradamento forzato
- ✅ Lavoro con servizi esterni, pubblicità, scraping → Fornitori di proxy esterni
Conclusione
WPAD è uno strumento potente per la gestione centralizzata delle impostazioni del proxy nelle reti aziendali. Un WPAD correttamente configurato tramite DHCP e DNS libera gli amministratori di sistema dalla necessità di configurare manualmente ogni dispositivo e consente di applicare istantaneamente le modifiche all'intera infrastruttura. La chiave per un'implementazione di successo è comprendere il meccanismo di funzionamento, configurare correttamente il file PAC e adottare misure di sicurezza obbligatorie: DHCP Snooping, HTTPS per la distribuzione del PAC, blocco delle richieste WPAD al di fuori del perimetro di rete.
È importante ricordare che WPAD affronta il problema dell'instradamento del traffico all'interno della rete aziendale, ma non sostituisce soluzioni proxy specializzate per lavorare con servizi esterni. Se il tuo team si occupa di monitorare i concorrenti, testare pubblicità da diverse regioni o lavorare con marketplace, ti consigliamo di considerare ulteriormente proxy residenziali — forniscono indirizzi IP reali di utenti domestici e un rischio minimo di blocchi da parte delle piattaforme esterne.
```