Voila je vous avait fait il y a maintenant un petit moment un tutoriel permettant d’installer un proxy filtrant graçe au couple SQUID/SQUIDGUARD, mais maintenant ça fait super longtemps et depuis mes besoin ont évolué c’est pourquoi je décide de faire un nouveau tuto afin d’obtenir ceci :
Un proxy cache avec authentification NTLM (SQUID3) : comprenez un serveur mandataire qui va me permettre de faire du cache (amélioration de l’utilisation de la bande passante internet) et de filtrer le fait que mes utilisateurs font parti de l’Active Directory ou non.
Un filtrage par scoring + blacklist des sites non désirés (DANSGUARDIAN) : l’utilisation du scoring permet de palier au gros défaut des blacklistes, les nouveaux sites, en effet si on ne maintient pas scrupuleusement à jour nos blackliste les nouveau sites indésirables sont légions au bout de quelques temps.
L’ajout d’un filtrage Antivirus (CLAMAV) : L’internet étant un endroit dangereux il peut être toujours bienvenu de protéger efficacement son réseau !
La suppression des popups de pubs et autre encart qui polluent la navigation (ADZAPPER) : A la manière du meilleur plugin pour Firefox jamais inventé j’ai nommer ADBlock cette installation va permettre de supprimer les pubs pour tout vos utilisateurs, sur internet après quelques recherches la plupart des personnes ayant installer ce type de produit constate une diminution de l’utilisation de bande passante de l’ordre de 30% !
Comme à mon habitude j’ai choisi d’installer mon serveur proxy sur la distribution Ubuntu Server, il s’agit de la version la plus récente actuellement Ubuntu 11.10 64bits.
- Installation de Kerberos – Mise en place de l’Authentification Active Directory
De façon a identifier nos utilisateurs nous allons devoir utiliser l’authentification NTLM, celle authentification sera tout à fait transparente pour l’utilisateur à partir du moment ou celui-ci sera loggué dans le domaine, pour tout autre user il faudra que celui-ci fournisse son login/mdp de façon à se connecter (de plus se seront les noms des utilisateurs qui remonterons dans les logs).
Le temps est essentiel pour Kerberos, il faut absolument que votre serveur n’ai pas trop de différence avec son KDC (Contrôleur de domaine) dans ma configuration j’ai un serveur NTP dans mon domaine mais il est aussi possible de synchroniser tout ça avec internet. éditez le fichier /etc/default/ntpdate
http://pastebin.com/embed_iframe.php?i=uts42tXE
Ensuite nous allons synchroniser l’heure avec notre serveur NTP une première fois
sudo /usr/sbin/ntpdate-debian
Et enfin afin d’éviter une désynchronisation du temps nous allons créer une tache cron qui synchronisera l’heure au redémarrage du serveur et à 18 heures chaque jours pour cela éditer votre cron “sudo crontab -e” et insérez ceci :
http://pastebin.com/embed_iframe.php?i=2a5TvRLRVoila nous sommes pret à lancer l’installation de Kerberos et de l’authentification AD à proprement parler :
sudo apt-get install krb5-user
Ensuite éditez le fichier /etc/krb5.conf selon votre réseau :
Nous allons ensuite éditez ce fichier de conf afin qu’il prenne en compte notre installation:
http://pastebin.com/embed_iframe.php?i=Va0PKwB7Nous allons ensuite tester que la connexion avec le DC fonctionne correctement, dans un premier temps nous allons demander un TGT au DC :
sudo kinit Utilisateur@MONDOMAINE
Password for Utilisateur@MONDOMAINE: ****
Puis nous allons voir si le Ticket nous à bien été attribué:
http://pastebin.com/embed_iframe.php?i=4GmD0Fyb
Enfin nous allons rejoindre notre domaine AD pour ceci nous allons avoir besoin de deux paquet supplémentaire :
sudo apt-get install winbind samba
Voici la configuration de Samba (vous pouvez effacer le fichier et le recréer comme suis) dans /etc/samba/smb.conf
http://pastebin.com/embed_iframe.php?i=ib8UGe8M
Ensuite nous allons redémarrer les services samba et winbind :
sudo service smbd restart
sudo /etc/init.d/winbind restart
Puis nous allons joindre la machine au domaine avec un compte administrateur du domaine:
sudo net join ads -U Administrateur -S ServeurCD.MonDomaine
Using short domain name – MONDOMAINE
Joined ‘MaMachine’ to realm ‘MONDOMAINE’
Une fois la machine bien intégrer dans votre domaine vous pouvez tester votre configuration en utilisant les commandes wbinfo -u pour obtenir la liste des utilisateurs de votre domaine et wbinfo -g pour celle des groupes AD.
- Installation de SQUID3 – Mise en place du Proxy/Cache
Pour installer squid rien de plus simple :
sudo apt-get install squid3
Ajouter l’utilisateur qui lance squid pour accéder au service winbind, il doit accéder au répertoire /var/run/samba/winbindd_privileged
sudo usermod -a -G winbindd_priv proxy
Nous allons ensuite faire les modifications nécessaire dans le fichier /etc/squid3/squid.conf je vous conseille d’effectuer les quelques commandes suivante afin de vider le fichier de conf de ses commentaires et de ne garder que l’essentiel avant de l’éditer :
http://pastebin.com/embed_iframe.php?i=BMbf1F0C
Éditez ensuite votre fichier squid.conf comme celui-ci:
http://pastebin.com/embed_iframe.php?i=gMLQwNgK
Attention ! la ligne redirect_program est pour le moment commenter il faudra la décommenter lors de l’installation d’adzapper, de plus j’utilise ntlm_auth de façon a identifier tout les utilisateurs de mon AD, il est aussi possible de limiter la recherche à un seul groupe dans votre AD (l’utilisateur fait partie de “Groupe-Proxy” alors il a accès au proxy) Pour cela il faut rajouter quelque lignes au paramètre auth_param:
http://pastebin.com/embed_iframe.php?i=RdURQfSE
Redémarrer ensuite le service squid et nous allons passer à l’intérgration de DansGuardian + ClamAV.
- Installation de DansGuardian + ClamAV : Mise en place du filtrage par scoring, dans l’Antivirus et des Blacklistes.
Pour installer les paquets nécessaires:
sudo apt-get install dansguardian clamav clamav-freshclam clamav-base libclamav6
Nous allons ensuite à la manière de Squid vider le fichier de configuration de Dansguardian de tout ses commentaires et ne conserver que le Nécessaire:
http://pastebin.com/embed_iframe.php?i=uCUnvJDM
Puis nous allons éditez le fichier de configuration de DansGuardian avec les paramètres suivant:
http://pastebin.com/embed_iframe.php?i=9HEU5Wcr
La configuration de DansGuardian réside sur deux fichiers de configuration le premier que nous venons d’éditer configure surtout le system/demon et le filtrage antivirus grâce à ClamAV le deuxième quand à lui va configurer les lists d’expressions, de domaines et d’urls qui seront prise en compte par le filtrage, il faudra l’éditer comme ceci /etc/dansguardian/dansguardianf1.conf (à noter que j’ai aussi vider ce fichier de conf des commentaires)
http://pastebin.com/embed_iframe.php?i=qxkULApX
Comme nous pouvons le voir les listes sont contenu dans /etc/dansguardian/lists si vous aller dans ce répertoire vous verrez une bonne dizaine de fichiers vous permettant de filtrer votre accès c’est assez simple de compréhension, par exemple le fichier bannedextensionlist répertorie toute les extensions que vous ne voulez pas autoriser à passer par le proxy : si par exemple vous rajouter .exe à cette liste vos utilisateurs ne seront plus en mesure de télécharger d’exécutable à travers votre proxy.
Il est aussi possible d’intégrer à cette configuration des blacklistes compatibles avec Squidguard comme celle de l’université de Toulouse qui et maintenu depuis maintenant 10 ans Blackliste Toulouse UT1 voici comment télécharger la blackliste et prendre en compte une certaine catégorie dans le filtrage :
http://pastebin.com/embed_iframe.php?i=cN9DRrHz
Vous aller alors obtenir un répertoire blackliste contenant d’autres répertoires qui eux contiennent des fichiers contenant des listes d’urls, de domaine, d’expressions interdites. Dans notre exemple nous voulons prendre en compte la liste de domaine concernant les sites de jeux, notre pour cela il suffit d’éditer le fichier bannedsitelist dans /etc/dansguardian/lists/ et de décommenter la ligne suivante:
.Include</etc/dansguardian/lists/blacklists/games/domains>
Redémarrer DansGuardian et tenter de vous connecter au travers du proxy (adresse_ip_proxy:8080, connection Dansguardian>Squid) à http://www.jeuxvideo-flash.com/ vous devriez obtenir:
- Installation d’Adzapper : Mise en place du filtrage des pubs:
Adzapper va vous permettre de filtrer les pubs pour tout le monde, il s’agit d’un script perl qui va filtrer la plupart des domaines publicitaires du web, pour l’instant je ne maitrise pas encore assez son fonctionnement pour vous expliquer comment rajouter un domaine au scripts mais d’ici quelques jours je pense pouvoir rajouter des domaines dans le filtre. Voici les quelques commandes nécessaire à l’installation :
Tout d’abord télécharger Adzapper dans le répertoire d’installation de Squid:
http://pastebin.com/embed_iframe.php?i=ertEVuGD
Ensuite il va falloir éditer le fichier /etc/squid3/update-zapper pour l’adapter à l’installation de Squid3:
http://pastebin.com/embed_iframe.php?i=JbCTnjY0
Puis il faut ensuite exécuter ce script :
sudo sh update-zapper
Cela va vous créer un fichier squid_redirect dans /etc/squid3 c’est par ce fichier qu’il va falloir faire passer la redirection de Squid, pour cela il suffit d’éditer le fichier squid.conf et de décommenter le ligne Adzapper dont nous parlions un peu plus haut ! Redémarrer les services Squid, ensuite tenter de vous connecter à n’importe quel site présentant habituellement des encarts de “pubs”, ceux-ci seront automatiquement remplacer par des images “this ad zapped”. Il est possible de supprimer totalement ces images “this ad zapped” en modifiant un peu le fichier squid_redirect, je vous ferait passer les modifications si besoin dans les commentaires de ce billets.
Voila vous avez désormais un proxy fonctionnel, qui filtre la plupart des sites, virus et publicités ennuyeuses pour votre navigation et celle de vos utilisateurs !
