Capitolo 22. Una configurazione operativa

Con la versione 2.0 dello Squid-Book si apre anche una sezione aperta ai contributi degli utenti che intendono partecipare alla diffusione delle informazioni pubblicando le loro configurazioni. Le configurazioni possono essere inoltrare nella mail-box dell'autore del Book Stefano Tagliaferri.

Di seguito si riporta una configurazione funzionante che consente di effettuare sia blocchi di rete che autorizzazione, autenticazione ed accounting, i commenti alla configurazione sono a cura di Federico Lombardo.

http_port 3128 # porta di utilizzo della cache
icp_port 3130 # porta di utilizzo per le connessioni ICP 
#
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY # Questa ACL fa in modo che gli oggetti
                    # in questione non vengano registrati nella cache
cache_mem  96 MB                   
# memoria max utilizzata dal processo che amministra la cache
maximum_object_size 8192 KB        
# Grandezza massima di un oggetto registrato nella cache 
cache_dir ufs /squidcache0 7500 16 256 
# storage e filesystem system dedicato alla cache 
cache_dir ufs /squidcache1 7500 16 256     
# storage e filesystem dedicato alla cache 
cache_access_log /var/log/squid/access.log 
cache_log /var/log/squid/cache.log 
cache_store_log /var/log/squid/store.log  
# file di log e percorsi 
emulate_httpd_log on               
# formato dei log compatibile con la struttura "httpd" 
mime_table /etc/squid/mime.conf    
# ubicazione del file di configurazione che specifica i mimetypes 
pid_filename /var/run/squid.pid    
# ubicazione del file pid 
ftp_user netmaster@nomeazienda.com 
# nome utente utilizzato per le connessioni ftp anonime 
dns_nameservers 192.168.1.8 192.168.1.7      
# DNS da utilizzare per la risoluzione dei nomi 
authenticate_program /usr/lib/squid/msntauth 
# programma utilizzato per autenticare gli utenti 
authenticate_children 15                      
# numero massimo di autenticatori lanciati alla partenza di squid 
refresh_pattern  ^ftp:  1440 20% 10080 
refresh_pattern  ^gopher: 1440 0% 1440 
refresh_pattern  .  0 20% 4320               
# direttive che specificano ogni quando un pattern va riverificato 
reference_age 6 months 
acl password proxy_auth REQUIRED  
# acl per la richiesta un'autenticazione valida 
acl all src 0.0.0.0/0.0.0.0 
acl manager proto cache_object 
acl localhost src 127.0.0.1/255.255.255.255 
acl locallan src 192.168.1.0/255.255.255.0 
acl localla1 src 192.168.2.1 
acl localla2 src 192.168.4.0/255.255.255.0 
acl porn url_regex "/etc/squid/block/porn.block.txt" 
acl notporn url_regex "/etc/squid/block/porn.unblock.txt" 
acl SSL_ports port 443 563 
acl Safe_ports port 80 21 443 563 70 210 1025-65535 
acl Safe_ports port 280  # http-mgmt 
acl Safe_ports port 488  # gss-http 
acl Safe_ports port 591  # filemaker 
acl Safe_ports port 777  # multiling http 
acl CONNECT method CONNECT        
# discrimina il metodo CONNECT secondo le specifiche HTTP/1.1 
acl snmpManager src 192.168.1.14/255.255.255.255 
acl snmppublic snmp_community public 
acl ftpblock url_regex -i \.mp3$ \.asx$ \.avi$ \.mpeg$ \.mpg$ \.qt$ \
\.ram$ \.rm$ \.iso$ \.wav$ 
# fa in modo che non vengano fatti scaricare i file di quelle desinenze 
http_access allow password 
http_access allow manager localhost 
http_access deny manager 
http_access deny !Safe_ports 
http_access deny CONNECT !SSL_ports 
http_access allow localhost 
http_access allow notporn 
http_access deny porn 
http_access deny ftpblock 
http_access allow password
http_access deny all 
icp_access allow all 
miss_access allow all 
proxy_auth_realm Enterprise Nome_Azienda web Gateway 
cache_mgr netmaster@nome_azienda.com 
visible_hostname proxy.nome_azienda.com 
unique_hostname proxy.nome_azienda.com 
forwarded_for off 
snmp_port 3401 
snmp_access allow snmpManager 
snmp_access allow snmppublic localhost 
snmp_access allow snmppublic locallan 
snmp_access deny all