Proxy web

Il proxy web è un server che si interpone fra i PC della LAN e i siti Internet. I client effettuano le richieste al proxy che comunica con i siti esterni, quindi trasmette le risposte al client.

I vantaggi del proxy web sono due:

  • possibilità di filtrare i contenuti

  • ridurre l'utilizzo della banda facendo cache delle pagine visitate

Il proxy può essere attivato per le zone green e blue. Le modalità supportate sono:

  • Manuale: tutti i client devono essere manualmente configurati

  • Autenticato: gli utenti devono inserire nome utente e password per poter navigare

  • Trasparente: tutti i client sono automaticamente forzati ad usare il proxy per le connessioni HTTP

  • Trasparente SSL: tutti i client sono automaticamente forzati ad usare il proxy per le connessioni HTTP e HTTPS

Modalità autenticata

Prima di abilitare il proxy web in modalità autenticata, assicurarsi di aver configurato un account provider locale o remoto.

Quando viene installato Samba Active Directory o il server è attestato ad un dominio remoto Active Directory, le postazioni Windows possono utilizzare l'autenticazione integrata Kerberos. Su tutti i client Windows è necessario configurare il proxy utilizzando l'FQDN del server.

Tutti gli altri client possono utilizzare il meccanismo di basic authentication.

Nota

L'autenticazione NTLM è deprecata e non è più supportata.

Configurazione client

Il proxy è sempre in ascolto sulla porta 3128. Quando si utilizzano le modalità Manuale o Autenticato, tutti i client devono essere esplicitamente configurati per utilizzare il proxy. La configurazione è accessibile dal pannello impostazioni del browser. La maggior parte dei client verranno comunque configurati automaticamente attraverso il protocollo WPAD. In questo caso è utile attivare l'opzione Blocca porta HTTP e HTTPS per evitare il bypass del proxy.

Se il proxy è installato in modalità trasparente, tutto il traffico web proveniente dai client viene intercettato dal firewall e indirizzato attraverso il proxy. Nessuna configurazione è necessaria sui singoli client.

Nota

Per rendere accessibile il file WPAD dalla rete ospiti, aggiungere l'indirizzo della rete blue nel campo Consenti host per il servizio httpd nella pagina Servizi di rete.

Proxy SSL

In modalità trasparente SSL, il proxy implementa la cosiddetta tecnica "peek and splice": stabilisce la connessione SSL con i siti remoti e verifica la validità dei certificati senza decifrare il traffico. Quindi il server può filtrare gli URL richiesti utilizzando il filtro web e ritornare la risposta al client.

Nota

Non è necessario installare alcun certificato sui client, è sufficiente abilitare il proxy SSL.

Nota

Se c'è il web proxy è attivo sulla rete blue questo consente ai devices della blue di raggiungere i devices della green sui protocolli http e https. Per evitare questo comportamento è sufficiente creare un bypass per destinazione inserendo la rete greeen in formato CIDR come spiegato in precedenza.

Bypass

In alcuni casi può essere necessario fare in modo che il traffico originato da specifici ip della rete o verso alcune destinazioni non passi per il proxy HTTP/HTTPS, ma sia instradato direttamente; il traffico in questione non sarà più sottoposto a proxy.

Il proxy consente di creare:

  • bypass per domini

  • bypass per sorgente

  • bypass per destinazione

Bypass per domini

I bypass per i domini possono essere configurati dalla sezione Domini senza proxy. Tutti i domini elencati all'interno di questa pagina possono essere acceduti direttamente dai client LAN. Nessun filtro antivirus o dei contenuti viene applicato a questi domini.

Ogni dominio elencato sarà espanso anche per i relativi sotto-domini. Ad esempio, aggiungendo nethserver.org verranno bypassati anche www.nethserver.org, mirror.nethserver.org, e così via.

Nota

Tutti i client della LAN devono utilizzare il server stesso come DNS, direttamente o come forwarder.

Bypass per origine e destinazione

Un bypass per origine consente l'accesso diretto a tutti i siti HTTP/HTTPS da host selezionati, gruppi host, intervalli IP e CIDR di rete. I bypass per origine sono configurabili dalla sezione Host senza proxy.

Un bypass per destinazione consente l'accesso diretto da qualsiasi client della LAN a siti HTTP/HTTPS ospitati su host specifici, gruppi host o CIDR di rete. I bypass per destinazione sono configurabili dalla sezione Siti senza proxy.

Queste regole di bypass vengono configurate anche all'interno del file WPAD.

Regole di priorità e di instradamento

Le regole del firewall per il routing del traffico su un provider specifico o per la modifica della priorità del traffico vengono applicate solo al traffico di rete che attraversa il gateway. Queste regole non si applicano se il traffico passa attraverso il proxy perché il traffico viene generato dal gateway stesso.

In uno scenario in cui il proxy web è abilitato in modalità trasparente e il firewall contiene una regola per abbassare la priorità di un host specifico, la regola si applica solo ai servizi non HTTP, come SSH.

La scheda Regole consente la creazione di regole di priorità e di instradamento anche per il traffico intercettato dal proxy.

L'interfaccia web consente di creare regole per il traffico HTTP/S per:

  • aumentare la priorità di un host o una rete

  • abbassare la priorità di un host o di una rete

  • Instradare la sorgente su un provider specifico con failover automatico se il provider dovesse andare fuori servizio

  • forzare la sorgente su uno specifico provider senza failover automatico

Filtro contenuti

Il filtro contenuti analizza il traffico web ed è in grado di bloccare siti pericolosi o contenenti virus. I siti proibiti sono selezionati da una lista di categorie che è possibile anche scaricare da sorgenti esterne e salvare sul sistema.

Il sistema consente di creare un numero illimitato di profili. Ciascun profilo è composto da tre parti:

  • Chi: il client associato al profilo. Può essere un utente, un gruppo di utenti, un host, un gruppo di host, una zona o un ruolo (es. green, blue, ecc).

  • Cosa: quali siti può vedere il client associato al profilo E' un filtro creato nella pagina Filtri.

  • Quando: il profilo può essere sempre attivo o essere valido solo in alcuni periodi. Le condizioni temporali possono essere create nella sezione Condizioni temporali.

Si consiglia di procedere in questo ordine per la configurazione del filtro contenuti:

  1. Selezionare una lista di categorie dalla pagina Blacklist ed avviare il download

  2. Creare una o più condizioni temporali (opzionale)

  3. Creare eventuali categorie personalizzate (opzionale)

  4. Creare un nuovo filtro o modificare quello di default

  5. Creare un nuovo profilo associato ad un utente o un host, selezionare quindi un filtro e una condizione temporale (se abilitata)

Il sistema prevede un profilo di default che viene applicato a tutti i client qualora non rientrino in nessun altro profilo.

Filtri

Un filtro consente di:

  • bloccare l'accesso a categorie di siti

  • bloccare l'accesso ai siti raggiunti usando l'indirizzo IP (consigliato)

  • filtrare gli URL con espressioni regolari

  • bloccare file con specifiche estensioni

  • abilitare blacklist e whitelist globali

Ogni filtro può lavorare in due modalità:

  • Permetti tutto: consente l'accesso a tutti i siti, ad eccezione di quelli esplicitamente bloccati

  • Blocca tutto: blocca l'accesso a tutti i siti, ad eccezione di quelli esplicitamente consentiti

Nota

La lista delle categorie compare solo al termine del download della lista selezionata nella pagina Blacklist.

Report

Installando il modulo nethserver-lightsquid il sistema genererà automaticamente i report di navigazione web.

LightSquid è un analizzatore di log per Squid leggero e veloce che ogni giorno genera un nuovo report HTML, riassumendo le abitudini di navigazione degli utenti del proxy. L'interfaccia di Lightsquid è accessibile dal tab Applicazioni della Dashboard.

Eliminare i vecchi report

I report di LightSquid vengono salvati come directory di file di testo all'interno del percorso /var/lightsquid/. Poiché tutti i report vengono conservati per sempre, la dimensione della directory può aumentare notevolmente nel corso degli anni.

Per eliminare i report più vecchi di un 1 anno, eseguire:

find /var/lightsquid/  -maxdepth 1 -mindepth 1 -type d -name '????????' -mtime +360 -exec rm -rf {} \;

Cache

Nel pannello Cache è presente un form per configurare i parametri di cache:

  • La cache può essere abilitata o disabilitata (disabilitata di default)

  • Dimensione cache disco: valore massimo della cache di squid sul disco (in MB)

  • Dimensione minima oggetto: può essere lasciato a 0 per mettere in cache tutto, ma può essere alzato se gli oggetti piccoli non sono desiderati in cache (in kB)

  • Dimensione massima oggetto: gli oggetti più grandi di questa dimensione non vengono salvati in cache. Se si preferisce la velocità al salvataggio della banda, può essere impostato ad un valore basso (in kB)

Il pulsante Svuota cache funziona anche se il proxy è disabilitato, potrebbe essere utile per liberare spazio su disco.

Siti senza cache

A volte il proxy non è in grado di fare cache di alcuni siti mal costruiti. Per escludere uno o più domini dalla cache, usare l'opzione NoCache.

Esempio:

config setprop squid NoCache www.nethserver.org,www.google.com
signal-event nethserver-squid-save

Porte sicure

Le porte sicure sono una lista di porte accessibili attraverso il proxy. Se una porta non è all'interno della lista delle porte sicure, il proxy si rifiuterà di collegarsi al server. Per esempio, dato un servizio HTTP che gira sulla porta 1234, tale servizio non sarebbe accessibile usando il proxy.

L'opzione SafePorts è una lista di porte separata da virgole. Le porte elencate saranno aggiunte alla lista preconfigurata di porte sicure.

Per esempio, per aprire l'accesso alle porte 446 e 1234:

config setprop squid SafePorts 446,1234
signal-event nethserver-squid-save

Log

I log di Squid vengono conservati in formato compresso per 5 settimane, per gestire l'utilizzo dello spazio su disco. I log del proxy Web sono molto dettagliati e sono una insostituibile risorsa per approfondire gli eventuali problemi. Le attività di navigazione Web sono registrate in formato aggregato e leggibile attraverso Lightsquid.

Negli ambienti in cui sia necessario conservare i log per più di 5 settimane, è possibile modificare manualmente la configurazione di logrotate /etc/logrotate.d/squid. E' inoltre necessario rammentare di aggiungere /etc/ logrotate.d/squid al backup della configurazione usando l'inclusione personalizzata.

echo '/etc/logrotate.d/squid' >> /etc/backup-config.d/custom.include