Squid-Book oltre le FAQ

Stefano Tagliaferri <squid(at)merlinobbs.net>

Diario delle Revisioni
Revisione 4.33 14 Dicembre 2005
utilizzare le ACL per bloccare msn-messanger
Revisione 4.32 20 Novembre 2005
Core developers, nuove opzioni di configurazione relative a Squid 2.5-STABLE12
Revisione 4.31 30 Aprile 2005
backport proxy anonimizzante
Revisione 4.30 12 Ottobre 2004
Squid, NTLM e Windows Update V5, specifiche dei protocolli HTTP, FTP, SSL/TSL e Gopher, definizione di latency, bandwidth e serverload, bloccare gli spyware e le web TV, approfondimenti e ulteriori dettagli per monitorare Squid, file descriptors con linux, il file di configurazione, prelevare i sorgenti utilizzando il CVS, ulteriore revisione ed aggiornamento del documento
Revisione 4.20 25 Luglio 2004
Aggiornamento della versione di Squid, alcuni aggiornamenti sull'helper ntlm_auth
Revisione 4.10 23 Maggio 2004
Correzioni ed integrazioni varie relativamente agli schemi di autenticazione Basic ed NTLM, note sull'inserimento delle macchine UNIX® nei domini Windows, proxy trasparente con ipfw(8) ed ipf(8), WCCP
Revisione 4.00 24 Aprile 2004
Nuova riorganizzazione documento, il capitolo "Controllare Squid" è stato integrato con il paragrafo dedicato al cache manager, rivisitato il capitolo dedicato alle ACL al quale sono state aggiunte le funzionalità dei nuovi helper external ACL squid_unix_group, ip_user_check e win32_check_group, altre informazioni sulla compilazione, avviare una versione compilata con Red Hat Linux, IRCACHE e GARR, i modelli di cache store, il tuning del file system, acceleratore SSL, alcune aggiunte relative al capitolo dedicato ai delay pools, troubleshooting con il file access.log, codici di stato, metodi di richiesta e codici gerarchici.
Revisione 3.60 27 Marzo 2004
Nuova riorganizzazione documento, il capitolo "Hardware consigliato per Squid" è stato integrato nel capitolo Configurare Squid, lavorare con il codice sorgente di Squid, istruzioni per scegliere l'ambiente di lavoro ottimale, compilare ed installare Squid, disponibilità dei pacchetti precompilati, il Cache Manager, Ad Zapping con Squid
Revisione 3.50 6 Marzo 2004
Introduzione a Squid: il concetto di webcache, i vantaggi di un sistema webcache tra performance, policy e sicurezza, elementi che compongono le ACL, ACL basate sul MAC address. Configurare WPAD con ISC DHCP, WPAD round robin, ulteriori riferimenti, revisioni ed aggiornamenti alla versione 2.5.STABLE5 (supporto NTLMv2)
Revisione 3.40 23 Gennaio 2004
Problemi comuni riscontrati con il sistema di autenticazione NTLM, descrizione delle funzionalità del nuovo helper external acl "squid_ldap_group", integrazione delle istruzioni per l'avvio multipiattaforma, integrazione delle istruzioni per l'avvio con GNU Debian Linux e i sistemi Windows, nuova riorganizzazione ed adeguamento
Revisione 3.30 3 Gennaio 2004
Riorganizzazione ed adeguamento del capitolo relativo ai sistemi di autenticazione, riorganizzazione ed adeguamento del capitolo relativo ai controlli di accesso a cura di Guido Serassio, aggiornamento della storia dello Squid-Book con relativo riepilogo degli autori, addendum al capitolo relativo al controllo di accesso, aggiornamento del capitolo relativo all'avviamento di Squid
Revisione 3.22 9 Novembre 2003
HTCP e Cache Digest, privacy ed anonimato, TrendMicro InterScan Web Security Suite e Squid di Stefano Tagliaferri, annotazioni sull'utilizzo di wb-group 1.20, alcuni cenni sull' Autenticazione con Samba 3.x, ampliamento della sezione sulle Cache gerarchiche di Guido Serassio
Revisione 3.21 14 Settembre 2003
Alcune annotazioni sull'utilizzo delle acl e dei controlli di accesso
Revisione 3.20 19 Agosto 2003
Correzioni al paragrafo relativo alle pubblicazioni su carta e al paragrafo dei riferimenti, ulteriore integrazione al capitolo relativo a MRTG e Squid, rielaborazione dello schema e dei riferimenti sulla questione dell'autenticazione, integrazione del paragrafo relativo ai controlli di accesso sui siti web ed altro.
Revisione 3.10 26 Giugno 2003
Grazie al grande contributo di Antonio Fragola a.k.a. MrShark è stato possibile rilasciare la versione "portabile" dello Squid-Book, apportate piccole modifiche alla Licenza utilizzo, revisione globale di tutti i capitoli.
Revisione 3.00 8 Giugno 2003
I log di Squid e la loro analisi, salvaguardare la privacy con Junkbuster e Privoxy, aggiornato la La storia di questo documento, Squid Proxy Server, Configurare SNMP e le FAQ per il controllo accesso ai siti web.
Revisione 2.01 25 Aprile 2003
GARR Network's FTP Archive diviene mirror ufficiale dello Squid-Book.
Revisione 2.00 7 Aprile 2003
Autenticazione con NTLM nei domini Windows NT o in Active directory (Federico Lombardo - note per la compilazione di Guido Serassio), commenti alle configurazioni operative e inserimento di nuove configurazioni fornite dagli utenti di Squid. Il capitolo 19 è stato totalmente trasformato: gli utilizzi estremi ora sono security ed utilizzi estremi (determinante il contributo di Federico Lombardo, le verifiche sono a cura dell'autore del libro)
Revisione 1.30 12 Gennaio 2003
Differenze tra rel. 2.4 e 2.5 (Federico Lombardo), schemi di autenticazione (Guido Serassio)
Revisione 1.29 16 Novembre 2002
Modificato il capitolo con il quale si spiega cosa è Squid (aggiornato con il link relativo al porting per la piattaforma Win32)
Revisione 1.28 1 Novembre 2002
Modificato il capitolo dedicato alle funzionalità di reverse proxy (aggiunta di esempi reali sul funzionamento dei reverse proxy)
Revisione 1.27 15 Ottobre 2002
Rilascio della prima versione pubblica in formato HTML

Squid-Book oltre le FAQ (Squid-2.5-STABLE12) - L'unica guida in lingua italiana a Squid Proxy Server Copyright © 1999 - 2005 Stefano Tagliaferri



Split HTML - Single HTML


Sommario
1. Informazioni
1.1. Pubblicazioni su carta
1.2. Note sul libro
1.3. Note sull'autore
1.4. Altre annotazioni
1.5. Licenza d'utilizzo
1.6. Riferimenti
1.7. Convenzioni utilizzate
2. La storia di Squid e dello Squid-Book
2.1. Preambolo
2.2. Il Core Development Team
2.3. Un programma libero
2.4. Mailing lists
2.5. Le origini dello Squid-Book
2.6. Chi sviluppa oggi lo Squid-Book
2.7. Squid, il software libero e la situazione Italiana
3. Cosa è Squid
3.1. Preambolo
3.1.1. L'architettura Web
3.1.2. Clients e Servers
3.1.3. Proxies
3.1.4. Oggetti web
3.1.5. URL
3.1.6. Un sistema di webcache
3.2. Fattori basilari che intervengono nella trasmissione dei dati
3.2.1. Tempo di latenza (latency)
3.2.2. Capacità di banda (bandwidth)
3.2.3. Utilizzo delle risorse del server (server load)
3.3. Come lavora un apparato di webcache
3.4. Riduzione delle esigenze di banda
3.5. Fattori che determinano il risparmio di banda
3.5.1. contenuti pagina web
3.5.2. numero degli utenti
3.5.3. tipologia degli utenti
3.5.4. tipo di webcache utilizzata
3.5.5. tipologia della rete
3.6. Controllo e sicurezza
3.7. Una piccola panoramica su HTTP
3.8. Una piccola panoramica su FTP
3.9. Una piccola panoramica su SSL/TSL
3.10. Una piccola panoramica su Gopher
3.11. Una piccola panoramica su WWWCACHE
3.12. Cosa sono le cache gerarchiche
3.12.1. Internet Cache Protocol (ICP)
3.12.2. Cache Array Routing Protocol (CARP)
3.12.3. Hyper Text Caching Protocol (HTCP)
3.12.4. Cache Digest
3.13. Concludendo
4. I sistemi operativi che supportano Squid
4.1. Preambolo
4.2. Piattaforme specifiche
4.3. Sistemi UNIX®
4.3.1. GNU Linux
4.3.2. FreeBSD
4.4. Sistemi Windows
4.5. Sistemi OS/2
5. Differenze tra Squid 2.4 e Squid 2.5
5.1. Preambolo
5.2. Autenticazione
5.3. SSL Gatewaying
5.4. Link Satellitari
5.5. modifiche al file squid.conf
5.6. Considerazioni
6. Casi di studio
6.1. Sistemi in test
6.2. Sistemi in produzione
7. Configurare ed installare Squid
7.1. Preambolo
7.2. Scegliere il Sistema Operativo
7.3. Regole da rispettare
7.3.1. Utilizzo della memoria RAM
7.3.2. Tipo di CPU
7.3.3. Simmetric Multi Processor (SMP)
7.3.4. Sottosistema dischi e tecnologie
7.3.5. Sistemi in RAID
7.4. Il sistema ottimale
7.5. I file sorgenti di Squid
7.5.1. Accesso al CVS
7.5.1.1. Squid current
7.5.1.2. Squid vecchie versioni
7.5.1.3. verificare il CVS appena prelevato
7.5.2. Prelevare Squid
7.5.3. Compilare Squid
7.5.4. eseguire lo script di configurazione
7.5.5. eseguire nuovamente lo script di ./configure
7.5.6. Applicare le patch
7.5.7. Versione giornaliera autogenerata
7.5.8. Opzioni di configurazione
7.6. Il problema dei file descriptor
7.6.1. Determinare il numero corretto di file descriptor
7.6.2. File descriptor con Linux
7.6.3. File descriptor con Solaris
7.6.4. File descriptors con FreeBSD
7.6.4.1. MAXFILES
7.6.4.2. MBUF
7.6.5. File descriptors con Windows
7.6.6. File handles con OS/2
7.7. Il problema dell'insieme delle porte
7.8. Installare Squid dai sorgenti
7.8.1. Perchè installare Squid dai sorgenti
7.8.2. I comandi più importanti
7.8.3. L'albero delle directory di Squid
7.8.4. Pulire gli eseguibili dalle informazioni di debug
7.8.5. Altre informazioni per installare correttamente Squid dai sorgenti
7.9. Disponibilità di pacchetti precompilati
7.9.1. Package per i vari ambienti UNIX®
7.9.2. Package per Win32 ed OS/2
8. Postinstallazione
8.1. Preliminari
8.2. Opzioni offerte dal comando squid(8)
8.3. Il file di configurazione
8.4. Numero delle porte
8.5. Definire una cache gerarchica
8.6. Files di log, memoria e cache
8.6.1. Files di log principali
8.6.2. Files di log accessori
8.6.3. Formati dei files di log
8.6.4. Ruotare i files di log
8.6.5. Disabilitare i files di log
8.6.6. Mime tipe e file di processo
8.6.7. Memoria e cache_dir
8.7. Parametri amministrativi
8.8. Utente e Gruppo (UID e GID)
8.9. Controlli di accesso
8.10. Redirect
8.11. La configurazione di startup (squid.conf)
9. Il Cache Store di Squid
9.1. Preambolo
9.2. Alcune problematiche legate al tipo di filesystem
9.3. Eseguire l'ottimizzazione del file system
9.4. Riservare correttamente lo spazio al Cache Storage
9.5. Le componenti del Cache Store
9.6. Disk Storage
9.6.1. ufs storage
9.6.2. aufs storage
9.6.3. awin32 storage
9.6.4. diskd storage
9.6.4.1. Tuning dei parametri Q1 e Q2
9.6.4.2. Configurare la coda dei messaggi (message queues)
9.6.4.3. Coda dei messaggi con BSD
9.6.4.4. Coda dei messaggi con Linux
9.6.4.5. Coda dei messaggi con Solaris
9.6.4.6. Configurare la memoria condivisa (shared memory)
9.6.4.7. Memoria condivisa con BSD
9.6.4.8. Memoria condivisa con Linux
9.6.4.9. Memoria condivisa con Solaris
9.6.5. null storage
9.6.6. coss storage
9.6.7. Scelta del Disk storage più adatto
9.6.8. Esempi di configurazione
9.6.8.1. Configurare diskd con FreeBSD
9.6.8.2. Configurare ufs (multipiattaforma)
9.6.8.3. Configurare aufs con Linux
9.6.8.4. Configurare awin32 con Windows
9.7. Memory storage
9.7.1. Parametri di configurazione
9.8. Memory e Cache Replacement Policy
9.8.1. Parametri di configurazione
9.9. Indicazione dimensionamento del cache store
10. Controlli di accesso
10.1. Preambolo
10.2. Elementi che compongono le ACL
10.3. Capire il funzionamento delle ACL
10.4. Utilizzare le ACL per autenticare degli utenti
10.5. External ACL
10.5.1. wb_group
10.5.2. Utilizzo di wbinfo_group con Samba 3
10.5.3. win32_check_group
10.5.4. squid_ldap_group
10.5.5. squid_unix_group
10.5.6. ip_group_check
10.6. Controllo d'accesso sui siti web
10.6.1. Controlli di accesso e URL filtering
10.6.2. Definire una lista di siti visitabili
10.6.3. Raggiungere direttamente domini o siti predefiniti
10.6.4. Bloccare gli spyware
10.6.5. Bloccare web radio e TV
10.6.6. Bloccare msn-messanger (Yahoo Messanger)
10.6.7. No cache
10.7. ACL basate sul MAC address
11. Autenticazione degli utenti
11.1. Preambolo
11.2. Schemi di autenticazione
11.2.1. Basic authentication
11.2.2. NTLM authentication
11.2.3. Digest authentication
11.3. Parametri di Configurazione
11.4. Basic Authentication
11.4.1. Configurazione in Squid 2.5
11.4.2. Configurazione in Squid 2.4
11.4.3. helper NCSA
11.4.3.1. Generare il DB degli utenti
11.4.4. helper PAM
11.4.4.1. Red Hat Linux
11.4.4.2. Unix Standard
11.4.5. helper LDAP
11.4.5.1. Esempi di configurazione
11.4.6. helper Winbindd
11.4.7. helper MSNT
11.5. NTLM Authentication
11.5.1. Configurazione
11.5.2. Autenticazione NTLM nativa
11.5.2.1. helper SMB (ntlm_auth)
11.5.2.2. helper fakeauth & no_check
11.5.2.3. helper Windows win32_ntlm_auth
11.5.3. Autenticazione NTLM con Samba 2.2.x
11.5.3.1. Compilazione helpers
11.5.3.2. Configurazione di Samba2
11.5.3.3. helper wb_ntlmauth
11.5.4. Autenticazione NTLM con Samba3
11.5.4.1. helper esterno Samba 3.x ntlm_auth
11.5.4.2. Inserire nel dominio la macchina Samba 3.0
11.5.5. Problemi comuni con NTLM
11.5.5.1. Java runtime
11.5.5.2. ftp
11.5.5.3. Windows Update V5 (Windows XP-SP2)
11.5.5.4. Windows 2003
11.5.5.5. Utenti non autenticati
11.6. Digest Authentication
11.6.1. Configurazione
11.6.1.1. helper digest_pw_auth
12. Avviare Squid
12.1. Preambolo
12.2. Istruzioni multipiattaforma
12.2.1. Controllare il file di configurazione
12.2.2. Prepariamo lo spazio dedicato alla cache
12.2.3. Avviare Squid manualmente
12.2.4. Avviamo Squid come processo
12.3. Avviare Squid automaticamente con il boot del sistema
12.3.1. Avviare Squid utilizzando la tabella di inittab
12.3.2. Avviare Squid utilizzando il file rc.local
12.3.3. Avviare Squid con i sistemi *BSD (init.d e rc.d)
12.3.4. Fermare Squid
12.4. Avviare una versione compilata su Red Hat Linux
12.5. RedHat, Fedora Core e Mandrake Linux
12.6. Debian GNU/Linux
12.7. FreeBSD
12.8. OS/2 o EComStation
12.9. Windows NT/2000/XP/2003
13. Monitorare il funzionamento di Squid
13.1. Controlliamo la nostra cache
13.2. Analizziamo le informazioni
13.2.1. Request rate
13.2.2. Response time
13.2.3. bandwidth
13.2.4. stato delle connessioni
13.2.5. Altri fattori
13.2.6. Gli strumenti di controllo offerti da Squid
13.3. Due parole su SNMP
13.3.1. Configurare l'agent SNMP di Squid
13.3.2. Net-snmp
13.3.3. Controllare i processi utilizzando Net-snmp
13.3.3.1. process size
13.3.3.2. page fault rate
13.3.3.3. HTTP request rate
13.3.3.4. ICP request rate
13.3.3.5. Denied requests
13.3.3.6. HTTP service time
13.3.3.7. DNS service time
13.3.3.8. File descriptor aperti
13.3.3.9. Utilizzo della CPU
13.3.3.10. Spazio su disco
13.3.3.11. Hit ratio
13.4. MRTG e Squid
13.5. Risorse in rete per utilizzare Squid con MRTG
13.6. Il Cache Manager
13.6.1. Configurare cachemgr.cgi con Apache
13.6.2. Configurare cachemgr.cgi con IIS 6
13.6.3. Impostare la password di accesso al Cache Manager
13.6.4. Definire una ACL per consentire l'accesso al Cache Manager
13.6.5. Interrogare il Cache Manager utilizzando la linea di comando
13.6.5.1. Process size
13.6.5.2. Page Fault Rate
13.6.5.3. HTTP Request Rate
13.6.5.4. ICP Request Rate
13.6.5.5. DNS Service Time
13.6.5.6. File Descriptors
13.6.5.7. CPU Usage
14. Privacy
14.1. Preambolo
14.2. Note operative
14.3. Internet Junkbuster
14.3.1. Definizioni ed albero delle directory, file di configurazione
14.3.2. Verificare il funzionamento di Junkbuster
14.4. Privoxy
14.4.1. files di configurazione di Privoxy
14.5. Ad Zapping con Squid
14.5.1. Differenze con Junkbuster e Privoxy
14.5.2. Vantaggi della ridirezione
14.5.3. Prerequisiti di Ad Zapping
14.5.4. installare Ad Zapping
14.6. Fornire agli utenti un servizio di Web Caching anonimo
15. Comunicare con altri proxy server
15.1. Preambolo
15.2. Esempi e relazioni tra webcache
15.3. Alcune informazioni su IRCACHE
15.4. Alcune informazioni sul Servizio di Cache Nazionale GARR
16. Proxy trasparente
16.1. Preambolo
16.2. Concetto di inline cache
16.2.1. L'applicazione che esegue il filtro dei pacchetti
16.2.2. Alcune annotazioni
16.2.3. Filtraggio con GNU Linux
16.2.4. Filtraggio con FreeBSD
16.2.4.1. utilizziamo ipfw
16.2.5. Filtraggio con altri sistemi UNIX®
16.2.5.1. utilizziamo ipf
16.2.6. Esempi di inline cache con Linux
16.2.6.1. Configurare il proxy trasparente con Linux kernel 2.0.x
16.2.6.2. Configurare il proxy trasparente con Linux kernel 2.2.x
16.2.6.3. Configurare il proxy trasparente con Linux kernel 2.4.x e 2.6.x
16.2.7. Abilitare inline cache con Squid
16.2.8. L' ipmasquerade con LINUX kernel 2.2.x/2.4.x
16.3. Gli switch di livello quattro
16.4. WCCP (Web Cache Coordination Protocol)
16.4.1. Configurare WCCP con Cisco IOS
16.4.2. Configurare WCCP con Squid
16.4.3. Abilitare l'interfaccia GRE con FreeBSD
16.4.4. Abilitare l'interfaccia GRE con Linux
16.5. Policy di routing con i router Cisco
17. Reverse proxy
17.1. Server HTTPD e content caching
17.2. Reverse Proxy
17.3. SSL Reverse Proxy
17.4. Esempi e situazioni reali
17.4.1. Reverse Proxy di Server web o cluster HA installati su una macchina differente
17.4.2. Reverse Proxy di server web installato sulla stessa macchina che esegue Squid
17.4.3. Reverse Proxy per domini multipli
17.4.4. SSL Reverse Proxy di un server web o di un cluster HA installato su una macchina differente
18. Proxy load balancer
18.1. Preambolo
18.2. WPAD protocol
18.3. DHCP e configurazione automatica del browser
18.4. Fail over e load balancer
19. Limitazione della banda per classi
19.1. Preambolo
19.2. Squid ed i Delay pools
19.2.1. Limitare la banda per singole connessioni a 128 kbps
19.2.2. Limitare la banda totale a 512 kbps
19.2.3. Limitare la banda con una linea a 2 Mbps
19.3. Limitare il download di alcuni files
20. Security ed utilizzi estremi
20.1. Preambolo
20.2. Squid come ultima risorsa
20.3. Squid e la sicurezza
20.3.1. Sicurezza in quanto Servizio
20.4. Squid ed Antivirus
20.4.1. InterScan Web Security Suite
20.5. Sicurezza come interazione con il sistema operativo ospitante
20.5.1. Sistemi UNIX®, cloni e BSD
20.5.2. La modalità chroot() nei sistemi UNIX® cloni o BSD
20.6. Squid e Daemontools
20.7. Sistemi Windows
20.8. Sistemi OS/2
21. La analisi dei log di Squid
21.1. Preambolo
21.2. I log nativi
21.3. Log in altri formati
21.4. Troubleshooting con il file cache.log
21.4.1. Utilizzare tail(8) ed xterm(8)
21.4.2. Livelli di debug
21.5. I codici di stato di Squid
21.6. Codici di Stato HTTP
21.7. Metodi di richiesta supportati
21.8. Codici gerarchici per il peering con altre webcache
21.9. Strumenti di analisi dei Log
21.9.1. Calamaris
21.9.2. Webalizer
21.9.3. Sarg
21.9.4. Squeezer2
21.9.5. Yaala
21.9.6. SquidAlyser
21.9.7. Logrep
21.9.8. LIRE
21.9.9. Squidefender
22. Una configurazione operativa
23. Colophon
24. GNU Free Documentation License
25. Elenco dei mirror autorizzati