Blanche de Peuterey.com

Mettre l’Internet au service des petites structures et de la famille

Le fichier squidGuard.conf

Accueil > Articles > Le fichier squidGuard.conf

J’ai expliqué dans un article précédent comment installer un réseau géré par un serveur sous linux, avec un filtre parental. Depuis, j’ai abandonné Xubuntu, pour revenir à une Debian 6.0 stable, et tout va bien.

Je ne sais comment est installé votre serveur, mais il peut être pratique de gérer le serveur depuis un ordinateur du réseau. Je vous conseille de le faire par SSH, et d’utiliser Putty

Vous pouvez également utiliser, pour modifier les différents fichiers de configuration, un éditeur de texte plus convivial que VI. (je vous assure, ça change la vie...). IL y a un très bon article qui vous explique comment utiliser un éditeur de texte avec SSH.

Le fichier squidGuard.conf

Les préliminaires était faites, concentrons-nous sur le sujet de notre article : le fichier de conf de squidGuard. J’ai eu quelques problèmes, autant les mettre part écrit pour éviter d’avoir à rechercher une prochaine fois.

 Tout d’abord, n’utilisez pas le module SquidGuard de Webmin, il contient des erreurs depuis la version 2.6 de Squid.

 Le plus compliqué pour moi a été de comprendre la gestion des plages horaires.

A supposer que vous souhaitiez interdire l’accès au net en dehors de certaines heures. Vous définissez votre plage horaire, et vous dites dans vos ACL ce qui doit passer pendant ces plages horaires. Il faut également préciser comment SquidGuard doit se comporter en dehors des plages horaires.

D’où la présence du "else" dans votre ACL, que l’on peut résumer ainsi :

Voilà comment squidGuard doit ce comporter DANS la plage horaire (within), et si on n’est pas dans cette plage horaire (else) voila comment il doit se comporter.

dans vos ACL, vous aurez donc quelque chose du genre :

	Veymont within jour{
	pass good !porn !adult !publicite !warez !violence
	redirect http://localhost/index.html
	}else{
	pass none
	redirect http://localhost/index.html
	}

Je vous laisse ici le fichier squidGuard.conf complet :

# CONFIG FILE FOR SQUIDGUARD
#

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

#
{{# TIME RULES:}}
# abbrev for weekdays: 
# s = sun, m = mon, t =tue, w = wed, h = thu, f = fri, a = sat

time jour {
	weekly smtwhfa 06:00 - 22:00
	date *-*-01  08:00 - 16:30
}


#
# SOURCE ADDRESSES:
#

#Ici, vous définissez votre réseau. Vous pouvez également définir, par adresse MAC, une seule machine (si vous voulez une gestion spécifique pour cette machine)

src Veymont {
	ip	192.168.0.100-192.168.0.200
}

#DESTINATIOON CLASSES

dest good {
}

dest local {
}
dest adult {
	domainlist adult/domains
	urllist adult/urls
}
dest publicite {
	domainlist publicite/domains
	urllist publicite/urls
}
dest warez {
	domainlist warez/domains
	urllist warez/urls
}

dest porn {
	domainlist porn/domains
	urllist porn/urls
}
dest violence {
	domainlist violence/domains
	urllist violence/urls
}

#ACL

acl {

	Veymont within jour{
	pass good !porn !adult !publicite !warez !violence
	redirect http://localhost/index.html
	}else{
	pass none
	redirect http://localhost/index.html
	}

	default {
	pass none
	redirect http://localhost/index.html
	}
}

Et comme cela, ça marche !

Lorsque vous tentez de naviguer sur une page qui se trouve dans les blacklists, ou en dehors de la plage horaire définie par exemple, SquiGuard redirige votre requête vers http://localhost/index.html

La redirection peut se faire vers n’importe quoi ; J’ai pris ici un fichier qui se trouve sur mon serveur, mais cela peut être un fichier qui se trouve ailleurs ; L’essentiel est qu’il y ait un fichier vers lequel rediriger la requête. Sinon, SquidGuard ne filtre rien !

Ces articles peuvent vous intéresser

D'autres articles avec le mot clé « Linux »