Configuration SquidGuard

Suite à une remarque tout à fait pertinente de Alain Laclef, voici un exemple de configuration possible avec squidguard pour un squidguard.conf correct.
ATTENTION : ceci n'est qu'un exemple de configuration et surtout pas une recommandation.

La licence d'utilisation

Contrat Creative Commons
Cette création est mise à disposition sous un contrat Creative Commons.

Description

dbhome /var/lib/squidguard/db/blacklists
logdir /var/lib/squidguard/log

src postes_enfant {
	ip		192.168.1.1-192.168.1.10
}

src postes_ouverts_bibliotheques {
	ip		192.168.1.11-192.168.1.20
}

src postes_controles_bibliotheques {
	ip		192.168.1.21-192.168.1.30
}

src postes_adminitratifs {
	ip		192.168.1.31-192.168.1.40
}

#
#	Spécificité UT1 : nous mettons dans ce fichier (src/machines_infectees) la liste des machines infectées
#		que des dispositifs internes ont détecté
#
src postes_infectes {
	iplist		src/machines_infectees
}

dest adult 
{
	domainlist	adult/domains
	urllist		adult/urls
	expressionlist	adult/expressions
}

destination agressif 
{
        urllist         agressif/urls
        domainlist      agressif/domains
}

destination audio-video 
{
        urllist         audio-video/urls
        domainlist      audio-video/domains
}

destination blog 
{
        urllist         blog/urls
        domainlist      blog/domains
}

destination cleaning 
{
        urllist         cleaning/urls
        domainlist      cleaning/domains
}

destination dangerous_material	 
{
        urllist         dangerous_material/urls
        domainlist      dangerous_material/domains
}

destination drogue 
{
        urllist         drogue/urls
        domainlist      drogue/domains
}

destination financial 
{
        domainlist      financial/domains
}

destination forums 
{
        urllist         forums/urls
        domainlist      forums/domains
}
destination gambling 
{
        urllist         gambling/urls
        domainlist      gambling/domains
}

destination hacking 
{
        urllist         hacking/urls
        domainlist      hacking/domains
}

destination mobile-phone 
{
        urllist         mobile-phone/urls
        domainlist      mobile-phone/domains
}

destination publicite 
{
        urllist         publicite/urls
        domainlist      publicite/domains
}

destination radio 
{
        urllist         radio/urls
        domainlist      radio/domains
}

destination redirector 
{
        urllist         redirector/urls
        domainlist      redirector/domains
}

destination strict_redirector 
{
        urllist         strict_redirector/urls
        domainlist      strict_redirector/domains
}
destination strong_redirector 
{
        urllist         strong_redirector/urls
        domainlist      strong_redirector/domains
}

destination tricheur 
{
        urllist         tricheur/urls
        domainlist      tricheur/domains
}

destination warez {
        urllist         warez/urls
        domainlist      warez/domains
}

destination webmail
{
        urllist         webmail/urls
        domainlist      webmail/domains
}

destination games
{
        urllist         games/urls
        domainlist      games/domains
}

destination mixed_adult
{
        urllist         mixed_adult/urls
        domainlist      mixed_adult/domains
}

destination filehosting
{
        urllist         filehosting/urls
        domainlist      filehosting/domains
}

destination reaffected
{
        urllist         reaffected/urls
        domainlist      reaffected/domains
}

destination sexual_education
{
        urllist         sexual_education/urls
        domainlist      sexual_education/domains
}

destination shopping
{
        urllist         shopping/urls
        domainlist      shopping/domains
}

destination dating
{
        urllist         dating/urls
        domainlist      dating/domains
}

destination marketingware
{
        urllist         marketingware/urls
        domainlist      marketingware/domains
}
destination astrology
{
        urllist         astrology/urls
        domainlist      astrology/domains
}
destination sect
{
        urllist         sect/urls
        domainlist      sect/domains
}

destination celebrity
{
        urllist         celebrity/urls
        domainlist      celebrity/domains
}

destination manga
{
        urllist         manga/urls
        domainlist      manga/domains
}

destination child
{
        urllist         child/urls
        domainlist      child/domains
}

destination malware
{
        urllist         malware/urls
        domainlist      malware/domains
}

destination press
{
        urllist         press/urls
        domainlist      press/domains
}

destination phishing
{
        urllist         phishing/urls
        domainlist      phishing/domains
}

destination remote-control
{
        urllist         remote-control/urls
        domainlist      remote-control/domains
}

#
#	Spécifique : Si vous avez un squidguard au moins égal à 1.3, on peut réécrire les requêtes google
#			Attention, les versions récentes de squidguard pourraient ne pas être compatibles
#
rewrite search_engine
        {
        s@(.*\.google\..*/(custom|search|images|groups|news)?.*q=.*)@\1\&safe=strict@i
        s@(.*\..*/yandsearch?.*text=.*)@\1\&fyandex=1@i
        s@(.*\.yahoo\..*/search.*p=.*)@\1\&vm=r@i
        s@(.*\.live\..*/.*q=.*)@\1\&adlt=strict@i
        s@(.*\.msn\..*/.*q=.*)@\1\&adlt=strict@i
        s@(.*\.bing\..*/search.*q=.*)@\1\&adlt=strict@i
        }

acl {

	#
	#	Spécifique : ne pas reproduire chez vous sans précaution. On bloque les machines infectées.
	#
        machines_infectees {
                pass cleaning none
                redirect 302:http://www.univ.fr/vous_etes_infectes.php?clientaddr=%a
                }

	#
	#	Pour les enfants en bas âge : uniquement les sites dans child (catégorie à compléter), et les mises à jour de sécurité
	#
	postes_enfant { 
		pass child cleaning none
		redirect http://192.168.1.21/cgi-bin/squidGuard.cgi?clientaddr=%a&srcclass=%s&targetclass=%t&url=%u	
	 	}

	#
	#	Les postes non contrôlés d'une bibliothèque
	#	On interdit tout hormis :
	#		Les sites de nettoyage des postes
	#		Une liste blanche (plutôt spécifique à l'Université, mais utilisable ailleurs)
	#
	postes_ouverts_bibliotheque {
		rewrite search_engine
		pass cleaning !malware !adult liste_bu none
		redirect http://192.168.1.21/cgi-bin/squidGuard.cgi?clientaddr=%a&srcclass=%s&targetclass=%t&url=%u	
		}

	#
	#	Les postes contrôlés d'une bibliothèque
	#	On interdit la plupart des catégories repérées hormis la presse, l'éducation sexuelle, les nettoyages des postes
	#	On bloque fortement les proxies (strong_redirector), cela signifie, en particulier,
	#		que l'on vérifie les termes demandés à google.
	#
	postes_controles_bibliotheque {
		rewrite search_engine
		pass cleaning !malware sexual_education !adult !agressif !audio-video !blog !dangerous_material !drogue !financial !forums !gambling !hacking !mobile-phone !publicite !radio !strong_redirector !tricheur !warez !webmail !games !mixed_adult !filehosting !reaffected !shopping !dating !marketingware !astrology !sect !celebrity !manga all
		redirect http://192.168.1.21/cgi-bin/squidGuard.cgi?clientaddr=%a&srcclass=%s&targetclass=%t&url=%u	
		}

	#
	#	Les postes administratifs
	#	On interdit certaines catégories (pour des raisons de "productivité")
	#	Les proxies anonymes (redirector) sont interdits, mais pas les proxies comme google-translate.
	#
	postes_administratifs {
		pass cleaning !malware sexual_education !adult !agressif !dangerous_material !drogue !gambling !hacking !mobile-phone !redirector !tricheur !warez !games !mixed_adult !reaffected !shopping !dating !marketingware !astrology !sect !celebrity !manga all
		redirect http://192.168.1.21/cgi-bin/squidGuard.cgi?clientaddr=%a&srcclass=%s&targetclass=%t&url=%u	
	}

	#
	#	Pour le reste (clients non définis) ==> uniquement la liste blanche et les sites de désinfections
	#
	default {
		rewrite search_engine
		pass cleaning !adult !malware liste_bu none
		redirect http://192.168.1.21/cgi-bin/squidGuard.cgi?clientaddr=%a&srcclass=%s&targetclass=%t&url=%u
	}
}