Proxy Server con filtraggio dei contenuti della navigazione: differenze tra le versioni

m
rimossa dalle guide da controllare
(Aggiunto template autori)
m (rimossa dalle guide da controllare)
 
(4 versioni intermedie di 3 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|Squeeze}}
== Introduzione ==
== Introduzione ==
In diversi contesti di rete, si pensi ad esempio ad una rete LAN aziendale o ai laboratori informatici di scuole medie inferiori, può essere importante implementare un sistema il più possibile automatico per il controllo e il filtraggio di alcuni contenuti web considerati dall'amministratore inappropriati al contesto. Si considerino a titolo di esempio le seguenti necessità:
In diversi contesti di rete, si pensi ad esempio ad una rete LAN aziendale o ai laboratori informatici di scuole medie inferiori, può essere importante implementare un sistema il più possibile automatico per il controllo e il filtraggio di alcuni contenuti web considerati dall'amministratore inappropriati al contesto. Si considerino a titolo di esempio le seguenti necessità:
Riga 57: Riga 58:
Iptables si configura generalmente costruendo degli script di regole da attivare all'avvio della macchina gateway. Le regole logiche definite al paragrafo precedente conducono alla stesura di uno script simile al seguente.
Iptables si configura generalmente costruendo degli script di regole da attivare all'avvio della macchina gateway. Le regole logiche definite al paragrafo precedente conducono alla stesura di uno script simile al seguente.
<br/>
<br/>
Lo script, chiamato <tt>firebox.sh</tt>, servirà quindi per gestire il firewall tramite iptables, con funzionalità di nat (masquerade) e di forwarding. Può ovviamente essere modificato e espanso per specifiche esigenze. Creeremo e salveremo il file nella directory <tt>/etc/init.d/</tt>.
Lo script, chiamato <code>firebox.sh</code>, servirà quindi per gestire il firewall tramite iptables, con funzionalità di nat (masquerade) e di forwarding. Può ovviamente essere modificato e espanso per specifiche esigenze. Creeremo e salveremo il file nella directory <code>/etc/init.d/</code>.
<pre>
<pre>
# nano /etc/init.d/firebox.sh
# nano /etc/init.d/firebox.sh
Riga 111: Riga 112:
La nostra macchina Debian è ora un gateway per tutta la rete LAN.
La nostra macchina Debian è ora un gateway per tutta la rete LAN.
<br/>
<br/>
Come ultima cosa modifichiamo il file <tt>/etc/hosts</tt>, aggiungendo:
Come ultima cosa modifichiamo il file <code>/etc/hosts</code>, aggiungendo:
<pre>
<pre>
127.0.0.1      localhost
127.0.0.1      localhost
Riga 127: Riga 128:
# apt-get install clamav-daemon clamav-freshclam
# apt-get install clamav-daemon clamav-freshclam
</pre>
</pre>
La configurazione di ClamAV è contenuta nella directory <tt>/etc/clamav</tt>, ma per i nostri scopi sono più che sufficienti le impostazioni di default. FreshClam aggiornerà le definizioni dei virus su base oraria; se vogliamo modificare questo comportamento dobbiamo agire sul file:
La configurazione di ClamAV è contenuta nella directory <code>/etc/clamav</code>, ma per i nostri scopi sono più che sufficienti le impostazioni di default. FreshClam aggiornerà le definizioni dei virus su base oraria; se vogliamo modificare questo comportamento dobbiamo agire sul file:
<pre>
<pre>
# nano /etc/clamav/freshclam.conf
# nano /etc/clamav/freshclam.conf
Riga 151: Riga 152:
# apt-get install squid3 squidclient
# apt-get install squid3 squidclient
</pre>
</pre>
Il proxy Squid si configura attraverso il suo file di configurazione <tt>/etc/squid3/squid.conf</tt>, che ora creeremo in base alle nostre esigenze:
Il proxy Squid si configura attraverso il suo file di configurazione <code>/etc/squid3/squid.conf</code>, che ora creeremo in base alle nostre esigenze:
<pre>
<pre>
mv /etc/squid3/squid.conf /etc/squid3/squid.conf.original
mv /etc/squid3/squid.conf /etc/squid3/squid.conf.original
Riga 229: Riga 230:
# apt-get install squidguard
# apt-get install squidguard
</pre>
</pre>
Quindi recuperiamo i files delle blackist, le scompattiamo in <tt>/var/lib/squidguard/db/…</tt> e generiamo il database delle liste:
Quindi recuperiamo i files delle blackist, le scompattiamo in <code>/var/lib/squidguard/db/…</code> e generiamo il database delle liste:
<pre>
<pre>
# cd /var/lib/squidguard/db/
# cd /var/lib/squidguard/db/
# wget ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz
# wget http://www.shallalist.de/Downloads/shallalist.tar.gz
# tar xzf blacklists.tar.gz
# tar xzf shallalist.tar.gz
# chown -R proxy:proxy blacklists
# chown -R proxy:proxy blacklists
# ln -s /etc/squidguard/squidGuard.conf /etc/squid3/squidGuard.conf
# ln -s /etc/squidguard/squidGuard.conf /etc/squid3/squidGuard.conf
# su proxy
# squidGuard -d -c /etc/squid3/squidGuard.conf -C all
# squidGuard -d -c /etc/squid3/squidGuard.conf -C all
</pre>
</pre>
Riga 382: Riga 382:
# chmod +x /usr/lib/cgi-bin/squidGuard.cgi
# chmod +x /usr/lib/cgi-bin/squidGuard.cgi
</pre>
</pre>
e infine decommentiamo la riga per attivare il proxy trasparente nel nostro script <tt>firebox.sh</tt>:
e infine decommentiamo la riga per attivare il proxy trasparente nel nostro script <code>firebox.sh</code>:
<pre>
<pre>
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
Riga 413: Riga 413:
# apt-get install dansguardian
# apt-get install dansguardian
</pre>
</pre>
Il file principale di configurazione è <tt>/etc/dansguardian/dansguardian.conf</tt>. Apportiamovi alcune modifiche:
Il file principale di configurazione è <code>/etc/dansguardian/dansguardian.conf</code>. Apportiamovi alcune modifiche:
<pre>
<pre>
# mv /etc/dansguardian/dansguardian.conf /etc/dansguardian/dansguardian.conf.original
# mv /etc/dansguardian/dansguardian.conf /etc/dansguardian/dansguardian.conf.original
Riga 477: Riga 477:
maxagechildren = 500
maxagechildren = 500
</pre>
</pre>
Da notare la riga: <tt>contentscanner = '/etc/dansguardian/contentscanners/clamav.conf'</tt>, che dice a DansGuardian di effettuare una scansione dei files attraverso l'antivirus ClamAV, installato in precedenza.
Da notare la riga: <code>contentscanner = '/etc/dansguardian/contentscanners/clamav.conf'</code>, che dice a DansGuardian di effettuare una scansione dei files attraverso l'antivirus ClamAV, installato in precedenza.
<br/>
<br/>
Infine modifichiamo la riga in <tt>firebox.sh</tt> da
Infine modifichiamo la riga in <code>firebox.sh</code> da
<pre>
<pre>
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
Riga 496: Riga 496:
# chown -R root:root /etc/dansguardian/lists
# chown -R root:root /etc/dansguardian/lists
</pre>
</pre>
Così facendo abbiamo scompattato il file scaricato dentro la directory <tt>/etc/dansguardian/lists</tt>; verrà creata una sottodirectory chiamata blacklists contenente tutte le liste, immediatamente utilizzabili.
Così facendo abbiamo scompattato il file scaricato dentro la directory <code>/etc/dansguardian/lists</code>; verrà creata una sottodirectory chiamata blacklists contenente tutte le liste, immediatamente utilizzabili.
<br/>
<br/>
Per rendere attive le blacklist scaricate dobbiamo aprire i files bannedsitelist e bannedurllist e decommentare le categorie di siti che intendiamo filtrare.
Per rendere attive le blacklist scaricate dobbiamo aprire i files bannedsitelist e bannedurllist e decommentare le categorie di siti che intendiamo filtrare.
Riga 507: Riga 507:


=== I filtri di DansGuardian ===
=== I filtri di DansGuardian ===
I files che permettono di agire sui filtri di DansGuardian, che in questo articolo descriveremo solo brevemente, si trovano tutti nella directory <tt>/etc/dansguardian</tt> e seguono questa convenzione:
I files che permettono di agire sui filtri di DansGuardian, che in questo articolo descriveremo solo brevemente, si trovano tutti nella directory <code>/etc/dansguardian</code> e seguono questa convenzione:
* i file che cominciano per banned si riferiscono all'azione di "negare l'accesso";
* i file che cominciano per banned si riferiscono all'azione di "negare l'accesso";
* i file che iniziano per exception si riferiscono all'azione di "consentire l'accesso".
* i file che iniziano per exception si riferiscono all'azione di "consentire l'accesso".
Riga 541: Riga 541:
Quindi installiamo il modulo DG Webmin dal [http://dgwebminmodule.sourceforge.net/ sito ufficiale].
Quindi installiamo il modulo DG Webmin dal [http://dgwebminmodule.sourceforge.net/ sito ufficiale].
<br/>
<br/>
Una volta scaricato, andiamo in ''Webmin - Webmin configuration'' e installiamo il modulo; quindi configuriamo il modulo installato, cambiando il path dell'eseguibile DansGuardian da <tt>/sbin/dansguardian</tt> a <tt>/usr/sbin/dansguardian</tt>.
Una volta scaricato, andiamo in ''Webmin - Webmin configuration'' e installiamo il modulo; quindi configuriamo il modulo installato, cambiando il path dell'eseguibile DansGuardian da <code>/sbin/dansguardian</code> a <code>/usr/sbin/dansguardian</code>.


== Calamaris, il generatore di report per Squid ==
== Calamaris, il generatore di report per Squid ==
Riga 548: Riga 548:
# apt-get install calamaris
# apt-get install calamaris
</pre>
</pre>
Ad installazione completata possiamo passare alla configurazione. Per prima cosa creiamo la directory calamaris in <tt>/var/www</tt> e le sottodirectory daily, weekly e monthly, in cui andranno salvati rispettivamente i report giornalieri, settimanali e mensili:
Ad installazione completata possiamo passare alla configurazione. Per prima cosa creiamo la directory calamaris in <code>/var/www</code> e le sottodirectory daily, weekly e monthly, in cui andranno salvati rispettivamente i report giornalieri, settimanali e mensili:
<pre>
<pre>
# mkdir -p /var/www/calamaris
# mkdir -p /var/www/calamaris
Riga 568: Riga 568:
http://192.168.10.254/calamaris
http://192.168.10.254/calamaris
</pre>
</pre>
Per ricevere i report direttamente via email (oltre ad ottenere il loro salvataggio nelle dir precedentemente create), possiamo modificare come segue il file cron.conf posizionato in <tt>/etc/calamaris</tt>:
Per ricevere i report direttamente via email (oltre ad ottenere il loro salvataggio nelle dir precedentemente create), possiamo modificare come segue il file cron.conf posizionato in <code>/etc/calamaris</code>:
<pre>
<pre>
daily:vostro.indirizzo@email.it:/var/www/calamaris/daily/index.html:both:'Squid giornaliero'
daily:vostro.indirizzo@email.it:/var/www/calamaris/daily/index.html:both:'Squid giornaliero'
Riga 596: Riga 596:
[[Categoria:Altri servizi di rete]]
[[Categoria:Altri servizi di rete]]
[[Categoria:Network tools]]
[[Categoria:Network tools]]
[[Categoria: Proxy]]
3 581

contributi