Procédure d`installation

Transcription

Procédure d`installation
Procédure d’installation
Mise en œuvre d’un serveur mandataire
Frédéric Bazin
Dans cette procédure, nous allons installer pas à pas un serveur mandataire (proxy) avec
Squid. Nous utiliserons l’authentification, puis, avec SquidGuard on ajoutera une blacklist.
Pour installer Squid, il suffit d’exécuter la commande suivante :
apt-get install squid3
Remarque : Squid3 est obligatoire si vous voulez faire un proxy avec authentification.
Une fois installé, il faut maintenant configurer Squid, pour cela éditez le fichier squid.conf :
vi /etc/squid3/squid.conf
Remarque: Le fichier de configuration de Squid comporte de nombreuses lignes (surtout des
commentaires), il est donc préférable de supprimer les commentaires après avoir fait une
copie de sauvegarde du fichier d’origine :
cd /etc/squid3/
mv squid.conf squid.conf.sav
cat squid.conf.sav | grep -v ^# | grep -v ^$ > squid.conf
Dans le fichier squid.conf, il faut autoriser l’accès aux différent réseaux, pour cela rechercher
la partie concernant la déclaration des acl et ajouter les lignes correspondante à la
configuration des différents réseau :
Acl
Acl
Acl
Acl
Acl
vlan src 172.18.0.0/30
utilisateurs src 192.168.20.0/24
serveur src 172.16.0.0/24
to_utilisateurs dst 192.168.20.0/24 ::1
to_serveur dst 172.16.0.0/24 ::1
Ensuite, quelques lignes plus bas avant la dernière ligne « http_access deny all » ajouter les
lignes suivantes :
http_access allow vlan
http_access allow utilisateurs users
http_access allow serveur
Remarque:
- Les ACL sont des ACcess Lists qui permettent de définir un nom de domaine, IP,
ports ou encore une plage horaire.
- Http_access permettent de définir les accès (access|deny) en fonction de vos ACL.
Puis redémarrer le serveur pour prendre en compte les modifications :
/etc/init.d/squid3 restart
A partir de maintenant, le proxy squid est opérationnel, mais n’est pas securisé. Pour ce faire
nous allons utiliser la méthode d’authentification via htpasswd.
1
Il faut tout d’abord, dans le dossier « squid3 », créer les utilisateurs en exécutant les
commandes suivantes :
mkdir access
(création du dossier « Access »)
cd access
(se deplace dans le dossier « Access »)
touch users
(création du fichier « users »)
htpasswd -m users user password(création de l’utilisateur)
Le -m permet d’encrypter le mot de passe en md5.
Maintenant que votre user est créé, il faut que squid fasse appel à ce fichier pour cela,
rajouter les lignes suivantes au début du fichier :
auth_param basic program /usr/lib/squid3/ncsa_auth
/etc/squid3/access/users
auth_param basic children 5
auth_param basic realm Authentification requise
auth_param basic credentialsttl 1 days
Remarque : Si elles ne sont pas au début du fichier, l’authentification ne fonctionne pas.
Il faut maintenant définir la bonne ACL et les autorisations :
acl users proxy_auth REQUIRED
http_access allow users
Puis redémarrer le serveur pour prendre en compte les modifications :
/etc/init.d/squid3 restart
A partir de maintenant, le proxy est sécurisé, il fonctionne mais ne bloque aucun sites.
Pour remédier a ce problème, il suffit d’installer SquidGuard
apt-get install squidguard
Une fois installer, deux solutions possibles, soit créer sa propre liste de sites sensibles ou en
télécharger une sur internet.
Dans notre cas, nous allons récupérer la liste sur internet et décompresser l’archive dans
« /var/lib/squidguard/db/ » :
wget ftp://ftp.univtlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.ta
r.gz
tar zxvf blacklists.tar.gz -C /var/lib/squidguard/db/
cd /var/lib/squidguard/db
mv blacklists/* .
/usr/bin/squidGuard -C all
chown -R proxy: /var/lib/squidguard/db/
2
Remarque : Le temps de compilation des blacklists avec la commande « squidGuard -C all »
est très long (plus de 10mn)
Maintenant, il faut indique à Squid d’utiliser la blacklist en ajoutant les deux lignes suivantes
dans son fichier de configuration « /etc/squid3/squid.conf » :
redirect_program /usr/bin/squidGuard
redirect_children 5
Pour simplifier l’utilisation du fichier de configuration de SquidGuard, il est préférable de
supprimer les commentaires après avoir fait une copie de sauvegarde du fichier d’origine :
cd /etc/squid/
mv squidGuard.conf squidGuard.conf.sav
cat squidGuard.conf.sav | grep -v ^# | grep -v ^$ >
squidGuard.conf
J’ai ajouté les lignes suivantes dans /etc/squid/squidGuard.conf pour filtrer réseaux sociaux
(facebook, twitter, …) et les sites de radios (fun radio, nrj, …)par exemple :
dest adult {
domainlist
adult/domains
urllist
adult/urls
expressionlist adult/expressions
}
dest social_networks {
domainlist
social_networks/domains
urllist
social_networks/urls
redirect
http://www.sfr.fr
}
dest social_networks {
domainlist
radio/domains
urllist
radio/urls
}
acl {
default {
pass
!social_networks !radio !adult
redirect
http://www.orange.fr
}
}
Puis redémarrer le serveur pour prendre en compte les modifications :
/etc/init.d/squid restart
3

Documents pareils

Mise en place d`un proxy Squid avec authentication Active Directory

Mise en place d`un proxy Squid avec authentication Active Directory On repart au charbon, en commençant par installer SquidGuard : aptitude install squidguard

Plus en détail

TP Squid/SquidGuard - Direction du Système d`Information (DSI)

TP Squid/SquidGuard - Direction du Système d`Information (DSI) #redirect http://www.univ-perp.fr/cgi-bin/squidguard.cgi?client-address=\%a

Plus en détail

Mise en place d`un proxy authentifiant avec

Mise en place d`un proxy authentifiant avec Ayant également à ma disposition une base de données MySQL sur laquelle sont stockées les informations des utilisateurs, j'ai également testé l'outil mysql_auth . Vous trouverez la dernière version...

Plus en détail