Dans ce tutoriel nous allons installer un proxy nommé Squid, qui est un logiciel opensource et nous allons coupler celui-ci avec Dansguardian qui est un logiciel de filtrage. Notez que le principal concurrent de Dansguardian est Squidguard. La différence entre les deux est que Dansguardian va vous permettre de faire du filtrage sur le contenu d’une page alors que Squidguard est limité aux URL.
Proxy
Fonctionnement
Un proxy est un système qui va relayer les requêtes entre des clients et des serveurs. Les clients ne sont pas directement connectés à internet, c’est notre serveur proxy qui l’est.
Maintenant que notre requête a été transférée, le serveur contacté nous renvoi les données. Ces données arrivent sur le serveur proxy qui va envoyer l’information au demandeur.
Avantages
La mise en place d’un proxy présente plusieurs avantages. Tout d’abord il va accélérer la navigation des utilisateurs grâce au cache, vous allez ainsi gagner en bande passante. Deuxième avantage, un proxy va générer des logs sur la navigation des utilisateurs, ce qui va vous permettre d’avoir une historisation des connexions faites pas vos utilisateurs. Enfin il améliore la sécurité du système d’information car les clients ne sont pas directement connectés à internet.
Inconvénients
Le serveur proxy étant « le point de passage » de vos équipements vers internet, si vous avez un problème sur celui-ci, l’ensemble de vos équipements seront impactés. Ils auront des lenteurs ou dans le pire des cas ne pourront plus accéder à internet.
Mise en place Proxy/Filtrage
Squid
Installation
Lors de ce tutoriel, je vais utiliser la distribution Debian-9.3.0 cliquez ici pour la télécharger. Vous pouvez consulter mon article sur l’installation d’un Debian si vous avez besoin d’aide. Utilisez un compte ayant les privilèges super utilisateur pour réaliser les différentes étapes. Commencez par mettre à jour votre système:
apt-get update apt-get upgrade
Configurez une adresse IP fixe sur votre serveur, éditez le fichier « interfaces »:
nano /etc/network/interfaces
Ajoutez les lignes suivantes au fichier en adaptant le nom de l’interface et les IP à votre serveur.
auto ens33 iface ens33 inet static address 192.168.43.100 netmask 255.255.255.0 gateway 192.168.43.1 dns-nameservers 8.8.8.8
Redémarrez ensuite le service réseau afin d’appliquer les changements.
/etc/init.d/networking restart
La commande ifconfig, pour vérifier que la configuration réseau a été prise en compte n’est plus installée par défaut sur Debian. Vous pouvez soit installer le paquet net-tools (apt-get install net-tools) pour utiliser ifconfig, soit utiliser la commande ci-dessous:
ip a l
Installez Squid avec la commande suivante:
apt-get install squid
Éditez le fichier de configuration.
nano /etc/squid/squid.conf
Par défaut Squid n’autorise aucun équipement à l’utiliser. Nous devons créer une ACL afin d’autoriser le réseau local à utiliser le serveur. Ajoutez les lignes suivantes dans le fichier afin de permettre à vos machines d’utiliser le serveur, adapter les lignes à votre cas. (X.X.X.X -> IP réseau, Y.Y.Y.Y -> Masque).
acl monreseau src X.X.X.X/Y.Y.Y.Y http_access allow monreseau
Redémarrez le serveur Squid afin que les modifications soient prises en compte.
systemctl restart squid
Test sur client
Allez dans les paramètres du navigateur, dans la partie proxy, cochez « Configuration manuelle du proxy », renseignez l’ip de votre serveur et renseignez le port 3128 qui est le port par défaut de Squid:
Allez sur un site afin de tester le bon fonctionnement.
Sur votre serveur entrez les commandes suivantes:
cd /var/log/squid tail -f access.log
Vous allez consulter la liste de toutes les connexions qui sont passées par votre proxy.
Blocage de site avec Squid
Sachez qu’il est possible de bloquer des sites directement avec Squid. Pour cela éditez le fichier squid.conf:
nano /etc/squid/squid.conf
Nous allons créer une seconde ACL afin de bloquer l’ensemble des URL qui contiennent « facebook.com ». Ajoutez les lignes suivantes dans le fichier juste avant l’ACL qui autorise votre réseau:
acl facebook url_regex facebook http_access deny facebook
Redémarrer le serveur Squid afin que les modifications soient prises en compte.
systemctl restart squid
Tentez d’accéder au site bloqué, la connexion sera refusée par le proxy:
Bloquer des URL dans Squid est possible mais cela peut s’avérer très long et compliqué à maintenir. C’est pourquoi il est intéressant d’utiliser des outils de filtrage tel que Squidguard ou DansGuardian pour intégrer des blacklists ou des mots bannis.
DansGuardian
Installation
Nous allons passer à l’installation de DansGuardian qui va nous permettre de bloquer du contenu à nos utilisateurs:
apt-get install dansguardian
Éditez le fichier de configuration:
nano /etc/dansguardian/dansguardian.conf
Dans ce fichier, commentez la ligne UNCONFIGURED:
#UNCONFIGURED
Modifier les lignes ci-dessous:
proxyport: 3128 language = 'french' filterport = 8888 daemonuser = 'root' daemongroup = 'root'
Proxyport est le port utilisé par Squid et en langue renseignez français. Le paramètre Filterport va être le port que vous attribuez à Dansguardian, par défaut 8080, mais ce port est utilisé par beaucoup d’outils, je vous conseille de le modifier. Je lui affecte la valeur 8888.
Éditez le second fichier de configuration:
nano /etc/dansgguardian/dansguardianf1.conf
Cherchez le paramètre « naughtynesslimit » celui-ci est par défaut très restrictif (50). Réglez ce paramètre à 150.
naughtynesslimit = 150
Redémarrez DansGuardian pour appliquer les modifications.
systemctl restart dansguardian
Mise en place des blacklists existantes
Nous allons mettre en place les blacklists de l’université de Toulouse. Vous trouverez sur ce site de nombreuses blacklists sur différents domaines. Dans ce tutoriel nous allons mettre en place la blacklist bitcoin.
Placez vous dans le bon répertoire:
cd /etc/dansguardian/lists/blacklists
Téléchargez le fichier, il est possible que le lien change, vérifiez sur le site de l’université pour avoir le nouveau.
wget ftp://ftp.ut-capitole.fr/pub/reseau/cache/squidguard_contrib/bitcoin.tar.gz
Décompressez le fichier
tar zxvf bitcoin.tar.gz
Nous devons indiquer à l’outil qu’il doit prendre en compte cette liste, pour cela allez dans le répertoire suivant:
cd /etc/dansguardian/lists
Éditez le fichier:
nano bannedsitelist
Ajoutez la ligne suivante au fichier:
.Include</etc/dansguardian/lists/blacklists/bitcoin/domains>
A cet endroit:
Faites de même avec le fichier URL. Éditez:
nano bannedurllist
Ajoutez la ligne suivante au fichier:
.Include</etc/dansguardian/lists/blacklists/bitcoin/urls>
Redémarrez DansGuardian pour appliquer les modifications:
systemctl restart dansguardian
Test sur client
Nous allons maintenant tester sur un client. Tout d’abord retournez dans les paramètres du navigateur, dans proxy. Modifier le port en indiquant celui de DansGuardian.
Essayez d’accéder à une IP présente dans /etc/dansguardian/lists/blacklists/bitcoin/urls ou d’accéder à un lien présent dans /etc/dansguardian/lists/blacklists/bitcoin/domains. Vous devriez être bloqué:
Vous pouvez également créer vos propres blacklists. Créez un fichier avec des URL ou des IP, puis refaites les étapes précédentes pour ajouter une ligne faisant référence à votre blacklist.
Grâce à ce tutoriel, vous savez désormais ce qu’est un proxy ainsi que les avantages à en mettre un en place. La mise en place de Squid et DansGuardian n’a plus de secret pour vous. Vous savez mettre en place des blacklists existantes mais aussi créer les vôtres.
Bonjour,
Actuellement en alternance administrateur infrastructure et cloud je me suis servit de votre procédure pour la configuration d’une borne wifi. Super procédure et site, félicitation. Pour le proxy squid le proxy transparent serait un bon ajout je pense.
C.
Bonjour,
Merci beaucoup pour votre retour 🙂
Très bonne idée pour le proxy transparent, je verrais pour faire un article sur le sujet.
Bonjour
je suis vraiment intéresser de votre article sur le proxy je suis étudiant, je passe mon stage dans une grande entreprise, alors jusqu’à maintenant je pas encore trouver du sujet pour mon travail de fin de cycle et votre article m’intéresse beaucoup, je compte faire de ceci comme Travail de fin de cycle.
Bonjour,
Merci pour votre message, super si l’article vous sert pour vos études 🙂
Tutos au top ! Juste que Dansguardian n’étant plus soutenu depuis 2012 je suis passé par e2guardian son successeur ! 🙂
Ping : Squid DansGuardian – TOOLS BOX CPTG