sabato 19 luglio 2014

squidGuard permette di reindirizzare l'utente ad una pagina specifica ogni volta che prova ad accedere ad alcuni domini.

Maria Susana Diaz | 01:19 |

squidGuard è un plug-in che permette di controllare i siti che vengono visitati dagli utenti di squid.

squidGuard permette di reindirizzare l'utente ad una pagina specifica ogni volta che prova ad accedere ad alcuni domini che sono presente all'interno di una blacklist, una lista contenente i domini da bloccare. Questo plug-in serve, quindi, per filtrare i contenuti che attraversano il server proxy.

Preparativi.

È necessario aver abilitato il componente universe dei repository ufficiali. Inoltre, assicurarsi di aver installato il server proxy.

Installazione.

Per installare il programma è sufficiente installare il pacchetto squidguard presente nel componente universe dei repository ufficiali.

Configurazione.

Configurazione di squid.

Per poter utilizzare squidGuard bisogna modificare il file di configurazione di squid in modo da indicare al programma dove risiede squidGuard. Per aprire il file di configurazione è sufficiente digitare il seguente comando:

sudo nano /etc/squid/squid.conf

squidguard_logo

Aggiungere la seguente riga per poter iniziare ad utilizzare squidGuard:

redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf

Per impostare i permessi per l'accesso al server è necessario decommentare le seguenti righe presenti nella sezione «http_access» del file di configurazione (circa alla riga 1860):

acl our_networks src 192.168.1.0/24 192.168.2.0/24
http_access allow our_networks

Una volta modificate tali righe, sono stati abilitati tutti gli utenti della rete LAN, o meglio quelli che hanno un indirizzo IP compreso tra 192.168.1.1 e 192.168.1.255 e tra 192.168.2.1 e 192.168.2.255.

Configurazione di squidGuard.

Per creare i database contenenti i siti che verranno bloccati è sufficiente digitare i seguenti comandi:

sudo mkdir /var/lib/squidguard/db/weapons/
sudo nano /var/lib/squidguard/db/weapons/domains

Aggiungere alla lista i seguenti domini:

israeli-weapons.com
uws.com
glock.com

Salvare il file e chiudere l'editor, dunque impostare i giusti permessi con il seguente comando:

sudo chown proxy:proxy -R /var/lib/squidguard/db

Aprire il file di configurazione di squidGuard con il seguente comando:

sudo nano /etc/squid/squidGuard.conf

Cercare la seguente riga all'interno del file:

logdir /var/log/squid

Una volta trovata, cancellarla insieme a tutto il resto che segue tale riga e inserire il seguente testo:

dest weapons {
        domainlist weapons/domains
}

acl {
        default {
                pass !weapons
                redirect http://yourip/block.html
        }
}

squidguard1

Per rendere i file del database leggibili da squidGuard è sufficiente digitare il seguente comando:

sudo squidGuard -C all

Assicurarsi che l'utente proxy sia il possessore dei file. A tale scopo è sufficiente digitare il seguente comando:

sudo chown proxy:proxy -R /var/lib/squidguard/db

Ora non resta che creare la pagina .html alla quale verranno reindirizzati gli utenti che avranno tentato di connettersi ad alcuni dei domini che sono stati elencati nel file /var/lib/squidguard/db/weapons/domains. Digitare il seguente comando

sudo nano /var/www/block.html

Il percorso /var/www è la directory principale predefinita del server web apache. Adattare il precedente comando alla propria configurazione.

Infine attivare di squid e squidGuard con il seguente comando:

squid -k reconfigure

Risoluzione dei problemi.

Per avviare squid in modalità verbosa è sufficiente digitare il seguente comando:

squid -NCd1

Nel caso di modifiche alla configurazione, per riavviare squid e squidGuard con le nuove impostazioni è sufficiente digitare il seguente comando:

squid -k reconfigure

Problemi con squid.

All'avvio del server squid può capitare di ottenere il seguente errore:

FATAL: Could not determine fully qualified hostname

Per risolvere tale problema è sufficiente impostare il valore del tag «visible_hostname» all'interno del file di configurazione come da esempio:

visible_hostname localhost

È frequente che avvengano degli errori durante queste fasi. Di seguito sono riportate alcuni consigli per poterli risolvere. Prima di tutto cercare quali e quanti processi sono attivi con il seguente comando:

ps -e | grep squid

Il risultato di questo comando dovrebbe mostrare 2 processi di squid e 5 di squidGuard. Se cosi non fosse è necessario riavviare Squid con il seguente comando:

squid -k reconfigure

Se ancora non venissero visualizzati i 7 processi di cui sopra è utile controllare il file di log /var/log/squid/squidGuard.log.

All'interno del file in questione sarà possibile vedere quali problemi si sono verificati durante l'avvio del servizio.

Problemi con squidGuard.

Il file di configurazione non è posizionato nel giusto percorso

Assicurarsi che squidGuard sia avviato con questa riga nel file di configuazione di squid:

redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf

I file dei database non sono posizionati nella directory specificata

Controllare che la seguente riga sia fra le prime del file di configurazione di squidGuard:

/var/lib/squidguard/db

Il proprietario dei file di log, dei file di configurazione o dei database non è corretto

Tali file dovrebbero appartenere all'utente e al gruppo proxy, che è definito di default per squid. Per verificare tali permessi è sufficiente digitare i seguenti comandi:

sudo chown proxy:proxy /etc/squid/squidGuard.conf
sudo chown -R proxy:proxy /var/lib/squidguard/db
sudo chown -R proxy:proxy /var/log/squid/

Permessi dei file sbagliati

Per correggere i permessi è sufficiente digitare i seguenti comandi:

sudo chmod 644 /etc/squid/squidGuard.conf
sudo chmod -R 640 /var/lib/squidguard/db
sudo chmod -R 644 /var/log/squid/
sudo find /var/lib/squidguard/db -type d -exec chmod 755 \{\} \; -print
sudo chmod 755 /var/log/squid

Errore di sintassi nel file di configurazione

È probabile che sia presente una parentesi graffa mal posizionata nel file /etc/squid/squidGuard.conf. L'errore dovrebbe essere qualcosa di simile al seguente esempio:

dest weapons
   {

Correggere il testo come segue:

dest weapons {

squidGuard-blocked

Se ti è piaciuto l'articolo, iscriviti al feed per tenerti sempre aggiornato sui nuovi contenuti del blog:

Trovato questo articolo interessante? Condividilo sulla tua rete di contatti in Twitter, sulla tua bacheca su Facebook, in Linkedin, Instagram o Pinterest. Diffondere contenuti che trovi rilevanti aiuta questo blog a crescere. Grazie!

LINKEDIN