Linux tips and tricks/Transparent proxy: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 1:
{{Linux tips and tricks}}
Con l'espressione ''transparent proxy'' si intende il filtraggio e l'eventuale blocco o redirezione dei pacchetti TCP/IP finalizzato a particolari obiettivi, fra cui:
* proteggere
* impedire al personale di un'azienda o di un ente di perdere tempo frequentando siti non connessi con l'attività lavorativa
* migliorare l'utilizzo della banda disponibile, bloccando l'accesso a siti non connessi con l'attività lavorativa
Line 10 ⟶ 11:
Gli ingredienti che permettono di realizzare tutto questo sono, in definitiva:
* un insieme di blacklist che elenchino i siti e le URL da bloccare o meno, ma anche frasi che, trovate in una pagina, facciano sì che essa sia bloccata
* un software di filtraggio, o ''url rewriter'', che, servendosi delle blacklist, possa dirottare una richiesta verso una pagina
* un software proxy, che si occupa essenzialmente di passare le URL al software di filtraggio oppure, quando è lo stesso software di filtraggio a ricevere le richieste direttamente, a
* la utility iptables, utilizzata per definire le regole che, in maniera trasparente, dirottano tutto il traffico web attraverso il proxy o il software di filtraggio, indipendentemente dalla volontà degli utenti
* il supporto Netfilter nel kernel, necessario alla utility iptables, almeno per quanto riguarda una serie di funzionalità
Il sistema può sembrare complesso, ma tutto si riduce a qualche configurazione. Nel seguito, dopo alcune nozioni preliminari, sarà illustrata prima una soluzione basata su squid e squidGuard, rispettivamente come proxy e come filtratore, e poi una soluzione
== Nozioni preliminari ==
=== Le blacklist ===
Il sito del software di filtraggio ''squidGuard'', illustrato più avanti, elenca alcune fonti di [http://www.squidguard.org/blacklists.html blacklist], sia gratuite che commerciali. Per cominciare la cosa migliore è fare riferimento alla prima fonte ([http://squidguard.mesd.k12.or.us/blacklists.tgz MESD]), liberamente scaricabili e distribuibili.
Line 52 ⟶ 55:
Bloccare il dominio ''amazon.com'' sarebbe assurdo, vista la sua importanza. Ma siccome Amazon consente ai suoi utenti iscritti di pubblicare materiale pornografico, con un elenco di URL è possibile bloccare l'accesso a questo materiale senza bloccare l'accesso ad Amazon.
Le dimensioni notevoli delle liste obbligano i software di rewriting a gestirle in forma indicizzata.
# squidGuard -C all▼
Naturalmente, se le blacklist vengono modificate per sbloccare dei siti o per bloccarne di nuovi, il comando va eseguito nuovamente. Ma questo di solito si fa solo quando si installa una versione aggiornata delle blacklist.
Line 123 ⟶ 122:
Il blocco successivo definisce una ''destinazione'', da intendere come un raggruppamento di URL e domini distinto dal altri per qualche caratteristica. Nel caso specifico, si volevano distinguere i siti porno, creando una ''dest'' di nome appunto ''porn''. Nel blocco, la dichiarazione ''domainlist'' indica la blacklist per i domini da bloccare, mentre la dichiarazione ''urllist'' indica la blacklist per le URL. I valori usati sono percorsi relativi al percorso ''dbhome'' definito all'inizio del file.
Di volta in volta che, nella configurazione di squidGuard, si fa riferimento ad una nuova blackist, bisogna indicizzarla, convertendola nel formato ''db'' del Berkeley Database. A questo scopo si usa il comando:
▲ # squidGuard -C all
È possibile, nonché opportuno prima di procedere, verificare la validità della configurazione di squidGuard simulando l'accesso ad una delle URL o dei domini bloccati. Ad esempio, il comando seguente simula esattamente quello che avverrebbe se il proxy, di cui parleremo più avanti, segnalasse a squidGuard una particolare URL per sapere se bloccarla o meno:
Line 231 ⟶ 234:
# iptables -t nat -A OUTPUT --dport www -m owner ! --uid-owner proxy -j REDIRECT --to-ports 8080
Come si vede, il traffico web, eccetto quello prodotto dall'utente ''proxy'' che, di norma, esegue il processo tinyproxy, viene dirottato sulla porta 8080 su cui è in ascolto appunto DansGuardian. Sappiamo poi come va a finire: DansGuardian riscrive o meno la URL, e in ogni caso la passa a tinyproxy sulla porta 3129 perché sia inoltrata all'esterno.
[[Categoria:Linux tips and tricks|Transparent proxy]]
|