Facebook de Neoflow.fr Rejoignez-nous sur Facebook ! GooglePlus de Neoflow.fr Ajoutez-nous à vos cercles ! Twitter de Neoflow.fr Suivez-nous sur Twitter ! Youtube de Neoflow.fr Abonnez-vous à notre chaine ! Neoflow.fr



Publié par Neaj le 20/05/2012 (2063 lus)

L'authentification des utilisateurs avec Squid

Dans ce tutoriel, nous allons apprendre à mettre en place un système d'authentification des utilisateurs lorsque ceux-ci souhaitent accéder à Intenet Pour cela, il est nécessaire d'avoir un serveur Squid opérationnel et non transparent .

    

1. L'authentification de l'utilisateur :

Pour mettre en place une authentification, il est nécessaire que votre proxy ne soit pas transparent (une demande d'authentification alors que le serveur est censé être invisible est un peu contre-productive). Abandonnez donc l'idée de l'authentification des utilisateurs si votre proxy est transparent.

  
Il existe différents types d'authentification des utilisateurs avec SQUID, voici une petit liste des modes d'authentification que nous pouvons utiliser : yp_auth, smb_auth (samba), sasl_auth, ncsa_auth, msnt_auth, squid_ldap_auth (LDAP), ntlm_auth, ... Ce n'est pas une liste exhaustive et nous ne traiterons dans ce tutoriel que de l'authentification la plus basique : ncsa_auth.
 
Cette méthode d'authentification utilise des fichiers de type .htpasswd ou les mots de passe ne sont pas en clair mais hashés dans un fichier à part.

   

2. Le fichier utilisateurs :

Dans ce fichier nous allons inscrire nos utilisateurs et leurs mots de passe (hashés)

touch /etc/squid3/utilisateurs   # Le nom du fichier vous est libre
htpasswd -c /etc/squid3/utilisateurs [Utilisateur] 

  

Si la commande htpasswd n'est pas disponible, procédez à l'installation du package qui le contient :

apt-get install apache2-utils

Puis entrez le mot de passe de l'utilisateur.

Pour les curieux, si vous regardez dans votre fichier "utilisateurs" vous verrez votre utilisateur et son mot de passe hashé :

 

Vous pouvez aussi vérifier la présence de votre utilisateur en lancant le module d'authentification avec pour cible votre fichier "utilisateurs"

/usr/lib/squid3/ncsa_auth /etc/squid3/utilisateurs 

 

 

Nous voyons que pour un utilisateur correct, le retour est "OK" et pour un utilisateur incorrecte, le retour est "ERR - *".

 

3. La configuration squid :

Il faut maintenant modifier la configuration du serveur proxy squid afin que celui ci laisse les utilisateurs s'identifier et agisse en conséquence

Les lignes de configuration permettant l'authentification sont les suivantes :

# Chemin vers le module ncsa_auth et vers le fichier utilisateurs
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/utilisateurs
# Nombre d'authentification simultanées possibles
auth_param basic children 10 
# Contenu texte qui apparaitra sur la fenêtre d'identification
auth_param basic realm Merci de vous identifier sur notre proxy
# Temps de vie de l'authentification, s'éteind prématurément si le navigateur est fermé
auth_param basic credentialsttl 3 hours 

  

Maintenant, il faut créer l'ACL qui forcera l'authentification :

acl utilisateurs proxy_auth REQUIRED

 

Puis n'autoriser que les utilisateurs authentifié à passer le proxy :

http_access allow localnet utilisateurs

 

Vous pouvez maintenant redémarrer et tester cette configuration :

service squid3 restart

 

Voila ce que vous devriez avoir au redémarrage de votre naviguateur :

 

L'authentification ncsa permet simplement d'identifier les utilisateurs et de bloquer l'accès aux autres. Avec d'autres modes d'identification tel que l'utilisation d'un annuaire LDAP, il est possible d'affecter tel ou tel droits à un groupe d'utilisateurs.


Navigation

Article précédent L'analyse des logs Squid avec Calamaris Mise en place d'une solution d'analyse des logs : SARG Article suivant

Commentaire(s)
Pour obtenir de l'assistance technique, des conseils ou pour échanger sur le sujet, inscrivez-vous gratuitement sur notre site puis créez un nouveau sujet dans le forum. Nous préférons utiliser le forum afin de mieux organiser les discussions. Utilisez les commentaires uniquement pour ajouter un complément d'information au tutoriel ou pour remercier l'auteur du tutoriel. Merci de votre compréhension.
 
Anonymes
Posté le: 13/03/2013 07:50
Hello,

J'ai écrit un article similaire mais avec Squid 2 et non Squid 3 ici : http://nicolas.landier.org/2013/03/10 ... e-internet-from-anywhere/
Répondre
Flo
Posté le: 13/03/2013 09:04
Administrateur
Bonjour,

Merci pour le lien ça pourra peut être servir à certaines personnes. Rédigé en anglais en plus à ce que je vois ^^

Bonne journée.
Répondre

Les commentaires appartiennent à leurs auteurs. Nous ne sommes pas responsables de leur contenu.