Dans ce billet je présente une procédure simple afin de rendre accessible du contenu WEB après une authentification sur un AD avec le protocole NTLM.
Ce protocole est une méthode d’authentification à utiliser dans un réseau Microsoft Active Directory.
NTLM utilise un mécanisme de question réponse, le client envoie une requête, le proxy lui répond avec une demande d’authentification et le client lui renvoie la même requête avec ces identifiants de connexion.
Vous devez avoir un serveur apache fonctionnel. Je détail le tout depuis une configuration sous Debian 6. Je possède un active directory, dns et DHCP déjà configuré et testé.
Téléchargez les sources avec la commande ci-dessous
apt-get install libapache2-authenntlm-perl
Ajoutez et adaptez votre fichier de virtualhost 000-default en y ajoutant ce « directory » (voir imprime ecran ci-dessous)
-
Vous devez modifier plusieurs lignes suivant votre configuration :
- Directory « /var/www/intranet » : URL vers le dossier contentant vos pages web
- PerlAddVar ntdomain : le premier est votre nom de domaine complet, puis le nom NETBIOS de votre controleur de domaine windows
- PerlSetVar defaultdomain : Le nom de domaine complet
PerlAuthenHandler Apache2::AuthenNTLM
AuthType ntlm,basic
AuthName paipartners
require valid-user
PerlAddVar ntdomain "SRV1.PPEGR5.LOCAL SRV1PPEGR5"
PerlSetVar defaultdomain SRV1.PPEGR5.LOCAL
PerlSetVar splitdomainprefix 1
</Directory>
Pensez à redémarrer apache avec la commande :
Pensez également à créer cette clée dans le registre de chaque PC client. Donc depuis regedit.exe, insérez y une nouvelle clé DWORD 32 bits avec la valeur 1. (Détails sur l’utilité de cette clé)
Sur votre page d’index du site, vous pouvez retourner l’utilisateur courant avec ce code PHP :
echo "Bonjour" . $_SERVER['REMOTE_USER'] . " !";
?>
Le module est également disponible pour windows : mod_authnz_sspi sur .apachehaus.net
Ajoutez : LoadModule authnz_sspi_module modules/mod_authnz_sspi.so dans votre httpd.conf
En référence sur l’article travaux pratique de bts sio vous pouvez utiliser cette configuration IP sur votre serveur WEB:
Réseau Orange
iface eth0 inet static
address 172.16.1.49
netmask 255.255.255.0
gateway 172.16.1.254
dns-domain 10.0.0.100
dns-nameservers 10.0.0.100
Réseau Vert
iface eth0 inet static
address 10.0.0.42
netmask 255.0.0.0
gateway 10.0.0.254
dns-domain 10.0.0.100
dns-nameservers 10.0.0.100