Rapport Squid

Télécharger au format doc, pdf ou txt
Télécharger au format doc, pdf ou txt
Vous êtes sur la page 1sur 12

Rapport sur le mini-projet :

service mandataire squid


Master Rseaux et Systmes Offshoring.

Noms et Prnoms: Farouk Abdou Oudalbaye Ahmat


Plan: I. II. III. IV. V. VI. Prsentation gnrale Installation et configuration de Squid Les contrles daccs ACL Installation et configuration SquidGuard Authentification client Ouverture lextrieur

VII. Conclusion

I.

Prsentation gnrale:

Dans un rseau local, on peut avoir envie de mettre une machine qui fasse l'intermdiaire entre notre rseau et Internet. Le serveur proxy (ou serveur mandataire) permet de d'envoyer les requtes et de recevoir les rponses la place de ses clients. Ces requtes peuvent tre des requtes de divers protocoles, les plus utilises tant le HTTP, HTTPS et FTP, SSL.

Les clients deviennent invisibles pour linternet. Si un client est derrire un proxy, les autres machines sur internet penseront quil sagit du serveur proxy. Les avantages: 1. Utilisation dun cache

Le cache permet de stocker un certain nombre de fichiers pendant que vous naviguez sur Internet pour permettre d'afficher la page plus rapidement si vous retournez sur le mme site une autre fois. En gnral, les navigateurs Web utilisent un cache interne moins volumineux. Un serveur cache-proxy permet de faire la mme chose un plus grand niveau: Il est ddi au stockage des fichiers et pages Internet les plus visites.

2. Filtrage Le serveur proxy peut galement servir suivre toutes les entres et sorties en crant des journaux d'activits (logs) qui enregistrent chaque requte que font les clients. Au niveau des clients on peut lister un certain nombre de sites autoriss (liste blanche) ou des sites qui ne le sont pas (liste noire). Au niveau des serveurs, l'analyse des rponses en fonction de certains critres s'appelle le filtrage de contenu (mots cls, adresses IP, noms de domaines, ...).

3. Authentification client

Puisque le serveur Proxy se trouve entre le rseau local et Internet, il peut imposer que le client s'authentifie pour se connecter (login et mot de passe).

4. Reverse proxy Le proxy invers ne sert pas de relais aux clients de son LAN mais ceux qui viennent d'Internet et ont besoin d'avoir accs certains serveurs internes.

II.

Installation et configuration de SQUID :

1. Installation et configuration : Pour installer SQUID, il faut taper la commande : apt-get install
squid.

On suivra les ventuels problmes avec les commandes:


Tail /var/log/squid/cache.log Tail /var/log/syslog

Ensuite, on va crer un fichier de configuration squid.conf allg des commentaires pour pouvoir facilement le modifier.
Cd /etc/squid

On cre une copie sous le nom squid.conf.distrib : cp squid.conf squid.conf.originale On enlve les commentaires, puis on ne prend que les lignes avec 2 caractres :

Cat squid.conf |egrep v ^# | egrep .. > squid.conf.new cp squid.conf.new squid.conf

2. Utilisation
Utiliser ce proxy pour se connecter Internet Edition Prfrences (Rseaux) Paramtres Host : 127.0.0.1 (nous utilisons le proxy local) Port : 3128 Utiliser le mme proxy pour tous les protocoles : HTTP => web classique SSL => HTTPS FTP => FTP (en fait le navigateur contacte le proxy en HFTP, c'est le proxy qui parle en FTP) Gopher => Ancien protocole qui est l'anctre du WWW Socks => L'utilisation du proxy dsactive l'utilisation du SOCKS. C'est l'un ou l'autre.

On teste: http://cri.univ-tlse1.fr/hidden/test On voit alors apparaitre 2 lignes supplmentaires : - Via : qui va indiquer le proxy que nous utilisons (avec la version) - X-Forwarded-For : qui va indiquer pour qui nous faisons le proxy, dans le cas prsent 127.0.0.1, mais, si l'on offre le service pour une autre machine, on verra son IP apparaitre.

Modification des informations: header_access User-Agent deny all header_access Via deny all header_access X-Forwarded-For deny all Puis on redmarre notre proxy: /etc/init.d/squid reload
Vous voyez bel et bien quon na plus dinformation sur les en-ttes (Via, X-ForwardedFor, etc) comme prcdemment :

III.

Les Contrles daccs :

Les ACL sont des rgles que le serveur applique. Cela permet par exemple d'autoriser ou d'interdire certaines transactions.

On peut autoriser ou interdire en fonction du domaine, du protocole, de l'adresse IP, du numro de port, d'un mot, on peut aussi limiter sur des plages horaires. La syntaxe d'une ACL est la suivante : acl aclname acltype string[string2] http_access allow|deny [!]aclname acltype peut prendre comme valeur : src (pour la source) : indication de l'adresse IP du client sous la forme adresse/masque. On peut aussi donner une plage d'adresses sous la forme adresse_IP_debut - adresse_IP_findst (pour la destination) : idem que pour src, mais on vise l'adresse IP de l'ordinateur cible. srcdomain : Le domaine du client dstdomain : Le domaine de destination. url_regex : Une chane contenu dans l'URL (on peut utiliser les jokers ou un fichier). urlpath_regex : Une chane compare avec le chemin de l'URL . proto : Pour le protocole.

Une fois ceci fait, on signale squid d'utiliser squidGuard. Pour cela, on Modifie : /etc/squid/squid.conf url_rewrite_program /usr/bin/squidGuard

IV.

Installation et configuration de SQUIDGUARD:

On installe SquidGuard avec la commande: apt-get install squidguard


Une fois ceci fait, on signale squid d'utiliser squidGuard. Pour cela, on Modifie dans le fichier de configuration squid.conf ( /etc/squid/squid.conf ) en ajoutant ce qui suit au dbut du fichier de configuration : url_rewrite_program /usr/bin/squidGuard

La configuration doit se faire avant l'installation des bases de donnes. Le fichier de configuration est : /etc/squid/squidGuard.conf

Configuration du logiciel :

La configuration par dfaut est utilisable, mais sans filtrage. On garde le dbhome tel quel. On garde les lignes src telles quelles, car nous utiliserons le fonctionnement par dfaut (source defaut), on modifie par contre les dfinitions de destinations dest adult { # On remarque que le rpertoire dest # est ajout la configuration par dfaut domainlist dest/adult/domains urllist dest/adult/urls # Si l'on souhaite une redirection redirect http://www.yahoo.fr } dest malware { domainlist dest/malware/domains urllist dest/malware/urls redirect http://www.yahoo.fr } Puis on applique acl { default { # On refuse les sites adultes et les malwares, on accepte le reste pass !adult !malware all # On fournit une url de redirection par dfaut. redirect http://www.google.fr } }

Installation de la bases de filtrage :


On rapatrie une base de filtrage et on l'installe avec les commandes: cd /var/lib/squidguard/db wget http://cri.univ-tlse1.fr/blacklists/download/blacklists.tar.gz # On dcompacte, un rpertoire blacklists est alors cre tar zxvf blacklists.tar.gz # On cre un lien symbolique pour garder la notion de dest ln -s blacklist dest La structure des fichiers textes contenant la liste est cre. Squidguard peut fonctionner tel quel (il recompilera les bases en mmoire au dmarrage), mais cela ralentira considrablement tout dmarrage ou redmarrage. Il faut donc crer les bases de donnes avant le lancement. En ligne de commande, tapez : /usr/bin/squidGuard -C all chown -R proxy:proxy /var/lib/squidguard/db /etc/init.d/squid reload Cette commande va compiler les bases de donnes qui sont utilises dans le squidGuard.conf. Comme la commande a ete faite par root, les fichiers domains.db et urls.db lui appartiennent, il faut changer le propritaire. On peut alors relancer le squid. Reste alors tester, partir du navigateur l'url http ://www.playboy.fr qui va se transformer en http ://www.yahoo.fr

V.

Authentification client :

Pour pouvoir tre authentifi par Squid il faut tout d'abord crer notre fichier d'utilisateurs. Pour cela, effectuez les commandes suivantes :
touch /etc/squid/users

Pour crer le fichier en ajoutant un utilisateur :


htpasswd -c /etc/squid/users <nom de l'utilisateur>

Pour les utilisateurs suppplmentaires, au-del du premier :


htpasswd /etc/squid/users <nom de l'utilisateur>

Il faut rptter la dernire opration autant de fois que vous avez d'utilisateur. Sachez que les mots de passe sont crypts avec la mthode crypt Pour vrifier que le fichier est correct et fonctionnera avec Squid utilisez la commande suivante :
/usr/lib/squid/ncsa_auth /etc/squid/users

Rentrez votre login et votre mot de passe de la manire suivante :


<login> <mot de passe>

Si la rponse est OK tout est bon, si la rponse est ERR vrifiez votre fichier users. Pour sortir de la boucle appuyez sur ctrl + C

Configuration de Squid
ditez le fichier /etc/squid/squid.conf de configuration de Squid,

dans la partie TAG: auth_param, dcommenter les lignes suivantes : auth_param et remplacer les ci besoin par celles ci-dessous :
basic basic basic basic program /usr/lib/squid/ncsa_auth /etc/squid/users children 5 realm Squid proxy-caching web server credentialsttl 2 hours

auth_param auth_param auth_param auth_param

children : 5 est une valeur usuelle. Si vous avez de nombreux utilisateurs, il sera peut-tre ncessaire d'augmenter ce nombre. realm : texte qui apparatra dans la fentre de demande d'identification. credentialsttl : dure de vie de l'identification. Ensuite, dans la partie acl rajouter la ligne suivante :

acl Users proxy_auth REQUIRED

Enfin, dans la partie http_access rajouter la ligne suivante :


http_access allow GroupePC Users

GroupePC reprsente le groupe de machine que vous avez autoris avoir accs votre proxy, pour plus de renseigner il faut se rfrer au site de Squid Pour finir il faut relancer Squid :
sudo /etc/init.d/squid restart

Et voila le rsultat :

VI.

Ouverture lextrieur :

on accepte de fournir le service l'exterieur, et pour cela on va inserer une regle iptables: iptables -A INPUT -p tcp --dport 3128 --sport 1024:65535 -s 192.168.30.0/25 -j ACCEPT

Ouverture du squid.
Pour ouvrir le squid filtrant l'exterieur, il faut autoriser cet acces qui est ferme par defaut: acl clients_autorises ip 192.168.30.0/25

On applique alors cette acl la restriction http_access http_access allow clients_autorises http_access deny all

Ouverture du squidguard.

Une fois ceci fait, on va s'occuper des restrictions squidGuard : src clients_autorises { ip 192.168.30.0/25 }

VII. Conclusion : Le squid est lun des serveurs les plus utiliss
par les administrateurs rseaux et les fournisseurs daccs internet. En outre il faudrait savoir quil peut aussi tre configur comme reverse proxy assurant le filtrage en entre dun serveur. Ainsi son utilisation devient plus quune ncessit pour tout administrateur soucieux de la scurit de son rseau.

Vous aimerez peut-être aussi