Product SiteDocumentation Site

5.2. La sicurezza in Squid

Squid is one of the most popular proxy/cache server, and there are some security issues that should be taken into account. Squid's default configuration file denies all users requests. However the Debian package allows access from 'localhost', you just need to configure your browser properly. You should configure Squid to allow access to trusted users, hosts or networks defining an Access Control List on /etc/squid/squid.conf, see the http://www.deckle.co.za/squid-users-guide/Main_Page for more information about defining ACLs rules. Notice that Debian provides a minimum configuration for Squid that will prevent anything, except from localhost to connect to your proxy server (which will run in the default port 3128). You will need to customize your /etc/squid/squid.conf as needed.
The recommended minimum configuration (provided with the package) is shown below:
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 SSL_ports port 443 563
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443 563     # https, snews
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
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 Safe_ports port 901         # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
(...)
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
# Only allow purge requests from localhost
http_access allow purge localhost
http_access deny purge
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
http_access allow localhost
# And finally deny all other access to this proxy
http_access deny all
#Default:
# icp_access deny all
#
#Allow ICP queries from everyone
icp_access allow all
Dovreste configurare Squid anche basandovi sulle vostre risorse di sistema, inclusa la memoria cache (opzione cache_mem), la posizione dei file nella cache e la quantità di spazio che occuperanno sull'hard disk (opzione cache_dir).
Da notare che, se non correttamente configurato, qualcuno potrebbe inoltrare un messaggio di posta tramite Squid, poiché i protocolli HTTP e SMTP sono abbastanza simili. La configurazione predefinita di Squid nega l'accesso alla porta 25. Se desiderate permettere connessioni alla porta 25 aggiungetela alla lista delle Safe_ports. Comunque, questo NON è raccomandato.
Impostare e configurare correttamente il server proxy/cache è solo una parte di lavoro per mantenere il vostro sito sicuro. Un altro compito necessario è l'analisi dei log di squid per assicurarsi che tutto vada come dovrebbe. Ci sono alcuni pacchetti in Debian GNU/Linux che potrebbero aiutare un amministratore a farlo. I seguenti sono disponibili in Debian 3.0 e Debian 3.1 (sarge):
  • calamaris - Analizzatore di log per i file dei proxy Squid ed Oops.
  • modlogan - Un analizzatore modulare dei file di log.
  • sarg - Genera rapporti sull'analisi di Squid.
  • squidtaild - Un programma per monitorare i log di Squid.
Quando utilizzate Squid in Accelerator Mode, questo funziona anche come web server. Utilizzando questa opzione la complessità del codice aumenta, rendendolo meno leggibile. La configurazione predefinita di Squid non prevede il funzionamento come web server, dunque non vi dovete preoccupare di ciò. Notate che se desiderate usare questa funzione dovete essere certi che sia veramente necessaria. Per trovare più informazioni riguardo l'Accelerator Mode in Squid vedete la http://www.deckle.co.za/squid-users-guide/Accelerator_Mode