Introduzione
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
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 } }
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 {