• Aucun résultat trouvé

MISE EN PLACE D UN SERVEUR PROXY

N/A
N/A
Protected

Academic year: 2022

Partager "MISE EN PLACE D UN SERVEUR PROXY"

Copied!
13
0
0

Texte intégral

(1)

MISE EN PLACE D’UN SERVEUR PROXY

HATARBACH MOUSSA

BTS SIO SISR 2015-2016

(2)

Sommaire

Sommaire _________________________________________________________________________________________________ 2 Contexte ____________________________________________________________________________________________________________ 1 Objectifs ____________________________________________________________________________________________________________ 1 Prérequis pour la mise en place du serveur Proxy ______________________________________________________________ 1 Mise en place de squid3 ___________________________________________________________________________________________ 1 Squid _____________________________________________________________________________________________________________ 1 Installation ______________________________________________________________________________________________________ 1 Configuration____________________________________________________________________________________________________ 1 Mise en place de SquidGuard _____________________________________________________________________________________ 1 SquidGuard ______________________________________________________________________________________________________ 1 Installation ______________________________________________________________________________________________________ 1 Configuration____________________________________________________________________________________________________ 1 Authentification ____________________________________________________________________________________________________ 1 Authentification avec le programme ncsa_auth ______________________________________________________________ 1

(3)

CONTEXTE

Dans l’ecole ESICAD, à plusieurs moments nous avons remarqué des abus produit par les utilisateurs en naviguant sur des sites non productifs pour les élèves. Donc une solution de mise en place d'un serveur proxy pour stopper tous les abus a été décidée.

OBJECTIFS

Mettre en place un serveur proxy Squid sous linux afin de contrôler l’usage d’Internet et d’effectuer des blocages sur certains sites sensibles.

PREREQUIS POUR LA MISE EN PLACE DU SERVEUR PROXY

- Windows serveur 2012 R - Active directory

- Squid3 et SquidGuard -…

(4)

MISE EN PLACE DE SQUID3

Squid

Squid assure les fonctions de :

cache, pour optimiser la bande passante ;

identification des utilisateurs, nous en verrons une simpliste et une nettement plus complexe ;

filtrage d'accès « basique », mais déjà intéressant.

Installation

 Mettre à jour la distribution Debian :

apt-get update && apt-get upgrade

 Installation du proxy Squid3 : apt-get install squid3

Configuration

 Sauvegarde du fichier de configuration par défaut avant de le modifier:

cp /etc/squid3/squid.conf /etc/squid3/squid.conf.save

 Pour plus de clarté, retirer les commentaires du fichier de configuration :

cat squid.conf.save | egrep -v -e '^[:blank:]*#|^$' > squid.conf

 Edition du fichier de configuration pour ajouter les modifications :

(5)

nano /etc/squid3/squid.conf

 Nous avons créé une ACL nommée « lan » représentant notre réseau local (acl lan src 172.16.1.0/24), et lui avons donné l'autorisation de passer le proxy (http_access allow lan).

acl lan src 172.16.1.0/24 #ACL pour autoriser notre réseau http_access allow lan #Autoriser l’ACL « lan »

 Masquer notre adresse IP dans le header http :

forwarded_for off

 Log d’erreur en français :

error_directory /usr/share/squid3/errors/French

 Rejet de tous les ports différents de ceux déclarés dans les ACLs :

http_access deny !Safe_ports

 Empêcher les personnes extérieures au réseau de passer par le proxy :

http_access deny all

 Emplacement des fichiers de logs

cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log

cache_store_log /var/log/squid/store.log

 Intégration du module de SquidGuard

url_rewrite_program /usr/bin/squidGuard -c /etc/squid3/squidGuard.conf

 Indication du port d’écoute par défaut http_port 3128

(6)

MISE EN PLACE DE SQUIDGUARD

SquidGuard

SquidGuard propose un filtrage très puissant d'accès au web, en fonction :

de groupes d'utilisateurs, définis de diverses manières. Ici, nous nous baserons sur des IP ou des groupes d'IP, mais il est possible d'utiliser l'identification des utilisateurs mise en place sur Squid ;

de listes de domaines et d'URI qui serviront à définir soit des cibles autorisées, soit des cibles interdites (listes blanches, listes noires) ;

de plages horaires pendant lesquelles l'accès sera autorisé ou interdit.

Et bien d'autres choses encore, que nous ne verrons pas ici.

Installation

 Taper la commande suivante pour installer SquidGuard : apt-get install squidguard

Configuration

 L'installation a créé un répertoire /var/lib/squidguard/db, mais il est vide. Il est destiné à contenir nos listes noires et blanches.

 Téléchargement de la blacklist

(7)

wget http://dsi.ut-capitole.fr/blacklists/download/blacklists.tar.gz

 Extraction du fichier :

tar -xzf blacklists.tar.gz

 Copie du dossier Blacklist dans le répertoire de squidguard :

cp -R blacklists/* /var/lib/squidguard/db/

 Faire une copie du fichier de configuration de SquidGuard :

cp /etc/squidguard/squidGuard.conf /etc/squidguard/squidGuard.back

Il faut indiquer à SquidGuard où trouver la base de données des listes ainsi que l'endroit où l'on désire récupérer les logs.

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

 SquidGuard sait autoriser ou non l'accès en fonction de plages horaires, si nécessaire. Si des plages horaires sont définies, nous pourrons écrire des règles d'accès spécifiques dans les plages et hors des plages. Par exemple, nous pouvons autoriser un accès plus ou moins restreint tous les soirs entre 18 h et 20 h dans la semaine et entre 10 h et 20 h les samedis et dimanches, et tout bloquer en dehors de ces plages, mais pour certains utilisateurs seulement.

#

# TIME RULES:

# abbrev for weekdays:

# s = sun, m = mon, t =tue, w = wed, h = thu, f = fri, a = sat

(8)

time workhours {

weekly mtwhf 08:00 - 16:30 date *-*-01 08:00 - 16:30

 SquidGuard sait, à la volée, modifier les URL demandées par les clients dans certaines conditions. Ce n'est probablement pas une fonction primordiale.

#

# REWRITE RULES:

#

#rew dmz {

# s@://admin/@://admin.foo.bar.no/@i

# s@://foo.bar.no/@://www.foo.bar.no/@i

#}IME RULES:

 Les sources sont là pour définir des groupes de clients. Les sources définies par des adresses IP sont les plus simples à mettre en place.

Lorsque l'identification des clients est requise, il devient également possible de définir des noms d'utilisateurs dans les sources.

#

# SOURCE ADDRESSES:

#

#src admin {

(9)

# ip 1.2.3.4 1.2.3.5

# user root foo bar

# within workhours

#}

#src foo-clients {

# ip 172.16.2.32-172.16.2.100 172.16.2.100 172.16.2.200

#}

#src bar-clients {

# ip 172.16.4.0/26

#}

 Les destinations, comme leur nom l'indique, définissent des ensembles de domaines, d'URL ou d'expressions régulières à appliquer aux URL.

#

# DESTINATION CLASSES:

#dest good { }

dest local { }

#dest adult {

# domainlist adult/domains

(10)

# expressionlist adult/expressions

# redirect www.google.com

#}

 Enfin, les ACL permettent de définir quelle source peut aller (ou ne pas aller) vers quelle(s) destination(s). Un « ! » veut dire « NOT » (non).

acl {

admin {

pass any }

default {

pass none

redirect www.google.com }

}

 Création d’un lien symbolique du fichier de configuration squidGuard.conf dans /etc/squid3/ :

ln -s /etc/squidguard/squidGuard.conf /etc/squid3/

 Application des droits :

chown -R proxy:proxy /var/log/squid3 /var/lib/squidguard

 Génération de la base de données : squidGuard -C all

 Vérification de la configuration de Squid3 :

(11)

squid3 -z

 Vérifier que tout est ok : /var/log/squid3/squidGuard.log

 Et pour finir, paramétrer le navigateur internet pour utiliser le proxy Squid :

AUTHENTIFICATION

Création des utilisateurs

 Construire un fichier d’utilisateurs

# touch /etc/squid3/users

(12)

 Nous le remplissons ensuite avec la commande htpasswd, normalement fournie dans le paquet apache-common. A répéter autant de fois que nécessaire avec des vrais noms d'utilisateurs et des vrais mots de passe…

# htpasswd -b /etc/squid3/users <nom de l'utilisateur> <mot de passe>

 Vérifions que çeci fonctionne, en lançant « à la main » le module

d'authentification /usr/lib/ncsa_auth. Nous entrerons alors dans une boucle où il faudra entrer sur une ligne un nom d'utilisateur et son mot de passe, séparés par une espace :

# /usr/lib/squid3/ncsa_auth /etc/squid3/users moussa root

OK

Configurer Squid pour réclamer l’identification

 Nous devons commencer par fournir quelques directives de type auth_param dans le fichier squid.conf :

auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/users auth_param basic children 5

auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours

program, indiquez le chemin du module ncsa_auth, suivi du chemin du fichier des utilisateurs, séparés par une espace.

(13)

children, 5 est une valeur usuelle. Si vous avez de nombreux utilisateurs, il sera peut-être nécessaire d'augmenter ce nombre.

realm, n'est rien d'autre qu'un texte qui apparaîtra dans la fenêtre de demande d'identification.

credentialsttl, durée de vie de l'identification. A condition bien sûr que le navigateur ne soit pas fermé avant.

 Il nous faut maintenant créer une “acl” supplémentaire, pour obliger l'identification :

acl Users proxy_auth REQUIRED

 Puis n'autoriser l'accès que si le client est dans notre réseau et que l'identification est réussie :

http_access allow LocalNet Users

 Squid demande une authentification avec la connexion :

Références

Documents relatifs

Évidemment, cela pourrait être amené à changer selon l’évolution de la pandémie dans notre région et au non- respect de la procédure.. Merci de

3) Préciser la température de changement d’état de l’eau dans chacun des DOC.1 à 4.. Exemple : eau liquide placée au

Il est interdit d’offrir de l’alcool à titre gratuit à des mineurs dans les débits de boissons et tous commerces ou lieux publics.. Il est interdit de se trouver en état

Deux parcours sont possibles dans la spécialité REVI : REVI - IR (ingénierie de la recherche) ou REVI - VDI (veille documentaire internationale). Pour les étudiants intégrant le

Gaël est derrière Rachid.. Gaël est

Le centre de leadership en petite enfance Les Coccinelles offre des services de qualité visant à l’épanouissement global de l’enfant et facilitant l’intégration de l’enfant

Avec pour décor une simple table, seul en scène, Romain Daroles est une façon de conférencier qui présente, livre en main, devant une salle de classe ou un auditoire de théâtre,

Au moment de la rencontre avec Emma, il écrit la Sonatine pour violoncelle et piano qui témoigne de ses affinités pour la musique de Brahms et de Dohnanyi, mais qui