Cos'è Proxy.pac
Il file .pac, comunemente proxy.pac (Proxy Auto-Configuration) è uno script di autoconfigurazione del browser, basato sulla funzione javaScript FindProxyForURL(url, host) che restituisce un risultato basato su condizioni definite dal gestore del sistema di proxy, che un moderno browser è in grado di interpretare in tempo reale, comportandosi di conseguenza.
Viene utilizzato quando è necessario discriminare la modalità di navigazione in modo da specificare, al browser, quale proxy utilizzare oppure se connettersi in modo “diretto”.
La centralizzazione della configurazione tramite proxy.pac consente di ridurre la necessità di configurazioni manuali distribuite su ciascun dispositivo degli utenti, semplificando la gestione e manutenzione delle configurazioni e minimizzando il rischio di errore.
Eccone un esempio:
function FindProxyForURL(url, host) { if (isPlainHostName(host)) { return "DIRECT"; } // NAME HOSTS --> DIRECT if ((host=="domainname.it")|| (host=="domainname.com")) { return "DIRECT"; } // NAME HOSTS --> PROXY if ((host=="abcd.domainname.it")|| (host=="efgh.subdomain.domainname.it")) { return ProxyServer(url); } // IP HOSTS --> DIRECT if ((host=="10.60.50.141") || // Servizio XYZ; (host=="10.32.1.103")) // Servizio ZXY; { return "DIRECT"; } // IP HOSTS --> PROXY A if ((host=="10.128.64.50") || // Servizio A (host=="10.51.8.50") || // Servizio B (host=="10.51.76.202")) // Servizio C { return ProxyServer(url); } // IP HOSTS --> PROXY B; if ((host=="XXX.201.99.120") || (host=="YYY.223.212.242") || (host=="ZZZ.221.99.154")) { return "PROXY aa.bbb.ccc.d:8080; DIRECT"; } //LOCAL DOMAIN NAME --> DIRECT if (dnsDomainIs(host, "subdomain.mydomain.it") || dnsDomainIs(host, "subdomain.mydomain.com") || dnsDomainIs(host, "internaldomain.loc") || dnsDomainIs(host, "otherdomain.it")) { return "DIRECT"; } //PRIVATE NETWORK --> DIRECT if (isInNet(host, "10.0.0.0", "255.0.0.0") || isInNet(host, "127.0.0.0", "255.0.0.0") || isInNet(host, "172.16.0.0", "255.240.0.0") || isInNet(host, "192.168.0.0", "255.255.0.0")) { return "DIRECT"; } // otherwise use Proxy Server else function ProxyServer(url); function ProxyServer(url) { return "PROXY cache.internaldomain.it:3128; DIRECT"; }
Considerazioni finali
Il file proxy.pac rappresenta uno strumento essenziale per la gestione delle configurazioni proxy nelle reti aziendali. La sua flessibilità e capacità di automatizzare la configurazione del proxy consentono alle organizzazioni di implementare politiche di sicurezza efficaci, ottimizzare la larghezza di banda e semplificare la gestione delle configurazioni client. Con una corretta implementazione e manutenzione, il file proxy.pac può contribuire significativamente all’efficienza operativa e alla sicurezza della rete aziendale