Authentification Squid Active Directory

Authentification Squid Active Directory

L’authentification Active Directory utilise le mode ntlm.

Le mode NTLM permet d’effectuer une identification silencieuse. Les navigateurs exécutés dans une session Windows connectée au domaine Active Directory envoient les jetons d’identification en tâche de fond aux proxy.
Ainsi, avec ce mode, les utilisateurs n’ont pas à s’identifier sur le proxy pour naviguer sur Internet, le proxy dispose déjà des informations d’identifications.

Les avantages de cette méthode

  • Les utilisateurs sont identifiés avec leur compte Active Directory sur le proxy et dans les évènements d’accès.
  • Les règles de filtrages Web peuvent être créées en fonction d’un utilisateur ou d’un groupe Active Directory.

Les Inconvénients

  • Uniquement les postes de travail connectés au domaine Windows et compatibles NTLM peuvent utiliser le proxy.
  • Les ordinateurs hors du domaine ( tablettes , ordiphones, iTunes, serveurs, applications Java) ne peuvent utiliser le proxy car ils ne pourront pas d’identifier, car Ceci nécessite des règles d’autorisation spécifiques pour autoriser les nœuds hors domaine.

Installation des paquets

Pour rejoindre le domaine, il va falloir installer les paquets suivants sur notre serveur proxy :

« apt install samba krb5-user libpam-krb5 ntpdate winbind ».

  • Samba : servira à faire le lien entre des machines Linux et Windows ;
  • krb5-user et libpam-krb5 : sont les bibliothèques liées à Kerberos, le protocole d’authentification utilisé par Active Directory ;
  • ntpdate : permet de synchroniser les horloges machines pour Kerberos ;
  • winbind : est le composant de samba communiquant avec Active Directory.

Synchronisation de l’heure locale

Kerberos nécessite que l’heure locale soit synchronisée avec celle de votre Domain Controller

Taper la commande « ntpdate172.16.2.2 »

Configuration de kerberos

Éditer le fichier /etc/krb5.conf et configurer comme suit :

Par la suite nous allons tester les paramètres kerberos à l’aide de la commande :

« kinit administrateur » et renseigner le mot de passe du compte administrateur.

La commande « klist » permet de voir les tickets kerberos en cache.

Configuration de samba

Avant de procéder à la configuration, stopper les services Winbind et Samba :

« service
winbind stop"
"
service smbd stop"

 Éditer le fichier /etc/samba/smb.conf et rajouter les lignes suivantes :

[global]
               workgroup = epbooktic
               realm = epbooktic.local
               security = ads
               encryptpasswords = yes
               password server = srv-virt.epbooktic.local
               idmap uid = 10000-20000
               idmap gid = 10000-20000
               winbind enum groups = yes
               winbind enum users = yes
               winbind use default domain = yes

Ensuite redémarrer les services winbind et samba.

"service
smbd start"
"
service winbind start"

NB: si les service winbind ne démarre pas essayer de joindre la machine dans le domaine à l’aide de la commande « net join -U administrateur » et ensuite redémarrer le service

Rejoindre le domaine

Afin d’intégrer notre serveur proxy dans le domaine nous allons taper la commande suivante :

« net join –U
administrateur »

Si vous obtenez le message suivant :

Allez dans le fichier « /etc/hosts » et modifiez comme suit:

Tests

Effectuer des tests afin de voir si tout s’est déroulé correctement

« net
ads testjoin »

Devrait retourner « Join is OK ».

Pour afficher la liste des groupes d’Active Directory : « wbinfo –g »

Pour afficher la liste des utilisateurs d’Active Directory : « wbinfo –u »

Tester la connexion au DC (Domain Contollers), qui devrait être fonctionnelle avec la commande

« /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic »

Rentrer un login suivi du mot de passe d’un utilisateur d’Active Directory:

Cela devrait retourner OK (Ctrl–C pour quitter).

Modification de squid

Éditez le fichier/etc/squid/squid.conf de configuration de Squid et rajouter les lignes suivantes :

auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 5
auth_param
basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param
basic children 5
auth_param basic realm epbooktic
auth_param
basic credentialsttl 2 hours

Dans la partie acl rajouter

« acl ntlm proxy_auth REQUIRED »   //Dans la partie http_access, rajouter:

« http_access allow ntlm »

Par la suite redémarrer le service squid.

Pour autoriser l’accès à une page Web juste à un groupe spécifique de votre active directory il faut ajouter le paramètre

require-membership-of au ligne ci-dessus.

auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of=DOMAINE.LOCAL\\groupead
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of=DOMAINE.LOCAL\\groupead

admin7498

Laissez votre message