dott. Marco [email protected]
Squid Web Proxy Cache
Politiche delle Reti Politiche delle Reti e Sicurezzae Sicurezza
Squid Web Proxy Cache 2
Agenda
Proxy Sever
Cos’è Squid
Come si configura
Installazione
Monitorare Squid
Squid Web Proxy Cache 3
Il Proxy (1/2)
Il proxy è un intermediario in una comunicazione web.
E’ un applicazione che risiede fra il client ed il server di origine.
Squid Web Proxy Cache 4
Il Proxy (2/2)
Controllare gli accessi alla rete ACL
Gestire la banda Limitazioni di navigazione Controllo dei download
Utilizzare strumenti di cache
Aumentare la sicurezza della rete Il proxy è un filtro tra noi ed internet. Gli attacchi che utilizzano una porta diversa da quella del
proxy sono inefficaci.
Squid Web Proxy Cache 5
Configurazione dei Client
I client devono essere configurati per poter utilizzare il Proxy Server.
Configurazione Manuale L’utente dovrà inserire nel browser l’indirizzo IP e la porta
su cui il proxy è in ascolto
Auto-Configurazione del Proxy Il browser esegue un Javascript. L’utente deve indicare al
browser dove risiede lo script.
Web Proxy Auto Discovery (WPAD) Nessuna configurazione necessaria, è il traffico di rete ad
essere direttamente indirizzato al proxy DHCP, SLP, DNS
Squid Web Proxy Cache 6
Squid (1/3)
Squid è un Web Proxy Server che fornisce funzionalità di Caching e Proxing
Le cache gerarchiche ed il protocollo Internet Cache Protocol (ICP) possono essere paragonati ai tentacoli utilizzati da un calamaro per fare suo tutto quello che lo interessa. http://www.squid-cache.org
Squid Web Proxy Cache 7
Squid (2/3)
Consente di stabilire regole per la politica di utilizzo delle risorse internet.
Politiche di accesso per classi di indirizzi IP (o singoli)
Limitazioni per gruppi di utenti (o singoli)
Definire un database di siti internet accessibili o vietati
Definire un elenco di parole chiave in grado di identificare i siti da rendere irraggiungibili
Controllo degli accessi
Controllo contenuti
Squid Web Proxy Cache 8
Squid (3/3)
Possono essere attivate funzionalità di Cache
Definizione della topologia (Gerarchica/Mesh/Singola)
Dimensionamento delle cache
Regole di memorizzazione degli oggetti
Squid Web Proxy Cache 9
Squid e le Cache
Web caching: meccanismo che consente di memorizzare temporaneamente tutti gli oggetti richiesti dai browser in locazioni più vicine al richiedente (cache server) rispetto alla sorgente dell’informazione (web server di origine)
Le richieste future dello stesso oggetto potranno essere soddisfatte direttamente dal cache server riducendo il tempo di latenza
Squid Web Proxy Cache 10
Web Cache: Topologia (1/2)
Cache Autonoma: composta da una singola unità a cui potrà accedere un numero limitato di utenti.
Cache Gerarchica: se è strutturata ad albero e c’è una precisa distinzione tra i livelli occupati dai nodi.
Squid Web Proxy Cache 11
Web Cache: Topologia (2/2)
Cash Mesh: nel caso in cui la topologia è destrutturata. In questo caso le cache sono tutte allo stesso livello.
Cache Cluster: gruppo di cache separate configurate per comportarsi come un singolo server.
Squid Web Proxy Cache 12
Scambio dei Pacchetti
Client
Proxy Cache
Internet
Squid Web Proxy Cache 13
Protocolli
Lo scopo principale dei protocolli di intercache è quello di aiutare le cache nelle decisioni di instradamento delle richieste
ICP (Internet Cache Protocol)
CARP (Cache Array Routing Protocol)
HTCP (Hypertext Caching Protocol)
Squid Web Proxy Cache 14
Configurare Squid
Il file di configurazione di Squid è squid.conf
Tutte le linee contengono una serie di numeri/chiavi o valori che vanno a costituire una regola di configurazione
Opzioni principali Opzioni di Rete Opzioni per le cache Gestione file di Log Opzioni per programmi esterni (autenticazione) Parametri amministrativi Controlli di accesso
Squid Web Proxy Cache 15
Opzioni di Rete
I seguenti tag indicano su quali porte squid è in ascolto per il protocollo HTTP e ICP.
# TAG: http_port http_port 3128
# TAG: icp_port icp_port 3130
Squid Web Proxy Cache 16
Opzioni per le Cache
Definizione delle Cache# TAG: cache_peer cache_peer 192.168.0.154 parent 3128 3130
login=quov:36598 cache_peer 192.168.0.118 sibling 3128 3130
login=ocram:32098
Le Cache vicine non vengono consultate se nell’URL compiono le parole elencate # TAG: hierarchy_stoplist hierarchy_stoplist cgi-bin ?
Si determinano gli oggetti che non devono mai essere cachati # TAG: no_cache acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY
Squid Web Proxy Cache 17
File di Log
Transazioni effettuate dai client # TAG cache_access_log
cache_access_log /var/log/squid/access.log
Informazioni sullo stato della cache # TAG cache_log
cache_log /var/log/squid/cache.log
Attività eseguite dallo storage manager di Squid # TAG cache_store_log
cache_store_log /var/log/squid/store.log
Informazioni relative alle tipologie dei browser utilizzati dagli utenti # TAG useragent_log
useragent_log /var/log/squid/useragent.log
Squid Web Proxy Cache 18
Opzioni per Programmi Esterni
Per l’ autenticazione del proxy ci si può avvalere di un programma esterno indicando diversi parametri
schema usato per l’autenticazione
la directory dove risiede il programma
la directory del file contente lo username e la password da controllare
# TAG: auth_param auth_param basic program /usr/lib/squid/ncsa_auth /usr/lib/squid/passwd auth_param basic children 30 auth_param basic realm Squid proxy-caching web
server auth_param basic credentialsttl 2 hour
Squid Web Proxy Cache 19
ACL - Access Control List (1/3)
Le Access Control List consentono di definire regole per:
impedire o consentire agli utenti di accedere a determinati siti o a determinati contenuti
limitare l'utilizzo di particolari protocolli di rete,
consentire o negare l’uso della banda per operazioni di download ecc.
acl Safe_ports port 80acl Safe_ports port 21acl password proxy_auth REQUIRED acl nnconsentiti url_regex “/nnconsentiti.txt"
http_access deny !Safe_ports http_access deny nnconsentiti http_access allow password
Squid Web Proxy Cache 20
ACL - Access Control List (2/3)
Formato utilizzato da Squid acl nomeacl tipoacl valore
Alcuni tipi riconosciuti da Squid Src: indirizzo IP del sorgente (client) dst: indirizzo IP del server di destinazione url_regex: espressione regolare che identifica una
URL Port: seleziona e specifica il numero di porta per il
server di destinazione proxy_auth: autenticazione degli utenti attraverso
un processo esterno
Squid Web Proxy Cache 21
ACL - Access Control List (3/3)
Le regole ACL vengono rigorosamente applicate nell'ordine nel quale sono state scritte
Non appena squid trova una ACL che "metcha" con la richiesta del client la esegue ignorando le ACL successive
Le regole vanno quindi scritte con molta attenzione
Squid Web Proxy Cache 22
Installazione
Problemi!?!?!?!?
Una soluzione si trova sempre…
Squid Web Proxy Cache 23
Avvio di Squid
Squid Web Proxy Cache 24
Configurazione manuale del proxy
Squid Web Proxy Cache 25
Prova di navigazione
Squid Web Proxy Cache 26
Configurazione post Installazione
Squid Web Proxy Cache 27
Gestione permessi – Abilitare la navigazione a tutti
Squid Web Proxy Cache 28
Gestione permessi – Negare l’accesso ad un Host (1/3)
Squid Web Proxy Cache 29
Gestione permessi – Negare l’accesso ad un Host (2/3)
Squid Web Proxy Cache 30
Gestione permessi – Negare l’accesso ad un Host (3/3)
Squid Web Proxy Cache 31
Gestione permessi – Accesso alla rete temporizzato (1/2)
Squid Web Proxy Cache 32
Gestione permessi – Accesso alla rete temporizzato (2/2)
Squid Web Proxy Cache 33
Gestione permessi – Richiesta di autenticazione degli utenti (1/3)
Squid Web Proxy Cache 34
Gestione permessi – Richiesta di autenticazione degli utenti (2/3)
Squid Web Proxy Cache 35
Gestione permessi – Richiesta di autenticazione degli utenti (3/3)
Squid Web Proxy Cache 36
Programma di autenticazione (1/2)
Squid Web Proxy Cache 37
Programma di autenticazione (2/2)
Squid Web Proxy Cache 38
Creazione utenti (1/2)
Squid Web Proxy Cache 39
Creazione utenti (2/2)
Squid Web Proxy Cache 40
Login
Squid Web Proxy Cache 41
Analisi dei log: Calamaris
Calamaris è un tool in grado di analizzare i files di log, prodotti da Squid. E’ in grado di creare statistiche di utilizzo riguardanti:
Status-report per richieste UDP e TCP
Request-Method (GET, HEAD etc. etc.)
Tipi dei file richiesti
Performance della cache ora per ora
Richieste TCP per host
Squid Web Proxy Cache 42
Analisi dei log: Webalizer
Nasce per generare reports per i log dei server web, può funzionare egregiamente anche per la gestione dei log di Squid
Webalizer è particolarmente indicato per i file di grosse dimensioni poichè è molto veloce nell'elaborazione del file di log
Istogramma accessi giornalieri Istogramma accessi per ora Statistiche mensili, giornaliere ed orarie per: Pagina,
File, Kbytes,Contatti Statistiche delle Top per quello che riguarda: Utenza,
URL e Kbytes
Squid Web Proxy Cache 43
FINE!!!