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 Inconvénients
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 ».
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