14.2. Note operative

E' possibile proteggere da occhi indiscreti la nostra rete utilizzando Squid. Per motivi legati alla sicurezza è fondamentale anonimizzare l'indirizzamento IP della LAN/WAN ed eventualmente proteggere altre informazioni come quelle relative al client web utilizzato dagli utenti.

Con il TAG forwarded_for Squid può includere il Vostro indirizzo IP o il nome dell'host che inoltra con le sue richieste HTTP, il valori sono [on|off]. La situazione generica è molto simile a questa

X-Forwarded-For: 192.168.2.3 
  

è comunque possibile disabilitare questa funzione per far apparire un messaggio generico unitamente all'inoltro della richiesta http verso il server web del tipo

X-Forwarded-For: unknown 
  

per disabilitare l'inoltro dell'indirizzo IP da cui parte la richiesta diretta verso il server web Il TAG da abilitare è

forwarded_for off 
  

se correttamente configurato Squid può anonimizzare le intestazioni inoltrate tramite la richiesta HTTP, per eseguire questa misura di sicurezza deve essere utilizzando il TAG anonymize_headers. Nel caso che analizzeremo in seguito, verrà modificato l'header relativo allo User-Agent ovvero il browser web utilizzato dagli utenti della rete che sono a valle del proxy. Utilizzo

anonymize_headers allow|deny header_name 
  

l'opzione anonymizer_headers consente di eseguire configurazioni molto accurate: è infatti possibile specificare esattamente quali intestazioni autorizzare. Ci sono due metodi per utilizzare questa features

  1. specificare le intestazioni autorizzate

  2. dettagliare gli header permessi.

Per riprodurre le opzioni di base, già previste nelle vecchie versioni di Squid con il l'opzione http_anonymizer standard dovrà essere utilizzato il seguente TAG

anonymize_headers deny From Referer Server 
anonymize_headers deny User-Agent WWW-Authenticate Link 
  

per riprodurre la vecchia funzione http_anonymizer paranoid è invece necessario utilizzare il seguente TAG

anonymize_headers allow Allow Authorization Cache-Control 
anonymize_headers allow Content-Encoding Content-Length 
anonymize_headers allow Content-Type Date Expires Host 
anonymize_headers allow If-Modified-Since Last-Modified 
anonymize_headers allow Location Pragma Accept 
anonymize_headers allow Accept-Encoding Accept-Language 
anonymize_headers allow Content-Language Mime-Version 
anonymize_headers allow Retry-After Title Connection 
anonymize_headers allow Proxy-Connection 
  

Nota: non è possibile utilizzare ambedue le regole allow e deny. Tutte le linee anonymize_headers devono avere sempre lo stesso secondo argomento. La regola base è che tutte le intestazioni sono autorizzate, quindi nessuna funzionalità di anonymizing viene eseguita, con questo TAG è anche possibile anonimizzare lo user-agent ovvero il browser web

anonymize_headers deny User-Agent 
  

vediamo ora il TAG fake_user_agent. Se viene resa anonima l'intestazione dello User-Agent utilizzando TAG anonymize_headers molti server web potrebbero rifiutare la richiesta HTTP inoltrata da Squid. Per evitare questo disdicevole inconveniente è possibile utilizzare degli artifizi, ecco un esempio concreto

fake_user_agent Nutscrape/1.0 (Commodore Vic20; 8-bit) 
# ( da un'idea di Paul Southworth - pauls@etext.org ) 
  

vediamo, dopo aver effettuato la cura intensiva, come si presenta il nostro browser sul web

Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */* 
Accept-Encoding: gzip 
Accept-Language: it,en 
Accept-Charset: iso-8859-1,*,utf-8 
User-Agent: Nutscrape/1.0 (Commodore Vic20; 8-bit) 
Via: 1.0 proxy.merlino.bbs:3128 (Squid/2.3.STABLE1) 
X-Forwarded-For: unknown 
Host: www.delegate.org 
Cache-Control: max-age=259200 
Connection: keep-alive