Authentification NTLM sur GLPI (Apache/Debian)

Administration des Réseaux, Adminstration Server Linux, Debian, Windows Seven No Comments »

imagesUtiliser l’authentification via LDAP/Active Directory c’est bien, mais il faut retaper son login/mot de passe à chaque fois.

Une solution est d’utiliser l’authentification NTLM au niveau d’Apache

La suite de ce tuto/mémo par du principe que votre installation de GLPI fonctionne déjà

Version:

  • Apache : 2.2.22
  • Debian 7.1

Installation des paquets nécessaire :

aptitude install libapache2-authenntlm-perl

Et ensuite on active le module apache

a2enmod authnz_ldap

Configuration:

La configuration d’apache est assez simple

vi /etc/apache2/conf.d/glpi

Ensuite on l’édite comme ceci:

Alias /glpi /usr/share/glpi
Alias /helpdesk /usr/share/glpi

PerlModule Apache2::AuthenNTLM


  DirectoryIndex index.php
  Options FollowSymLinks
  PerlAuthenHandler Apache2::AuthenNTLM
  AuthType ntlm,basic
  AuthName paipartners
  require valid-user
  PerlAddVar ntdomain "mondomaine.com dc1 dc2"
  PerlSetVar defaultdomain mondomaine.com
  PerlSetVar splitdomainprefix 1
  PerlSetVar ntlmdebug 0
  PerlSetVar ntlmauthoritative off

Dans un premier temps, il est utile de mettre ntlmdebug à 1 voir 2 pour avec des logs

Configuration du client

Sur Windows 7 il faut modifier ou créer une clé registre

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
 "LmCompatibilityLevel"=dword:00000001

Si le GLPI ne se trouve pas dans l’intranet, il faut également l’ajouter aux sites de confiances de IE

Configuration de GLPI

Il faut se rendre en super-admin dans :

Accueil >Configuration >Authentification >Autre méthode d’authentification

Et ajouter dans « Champs de stockage de l’identifiant dans la requête HTTP »

REMOTE_USER

Ensuite on termine par un reload d’Apache

apache2ctl restart

 

 

 

Installation et configuration d’un serveur OpenLDAP sous Debian

Administration des Réseaux, Adminstration Server Linux, Debian 15 Comments »

ldapworm

OpenLDAP est une implémentation libre du protocole LDAP développée par The OpenLDAP Project.
Lightweight Directory Access Protocol (LDAP) est à l’origine un protocole permettant l’interrogation et la modification des services d’annuaire.

Nous allons utiliser le serveur LDAP afin de centraliser les informations utilisateurs des sites et services du serveur. En effet la plus par des services telles que les serveur web, ftp, proxy peuvent s’authentifier sur un serveur LDAP, mais également les CMS les plus populaires.

Avant de commencer l’installation on va vérifier le hostname de la machine

# hostname -f
server.majorxtrem.be

Vous devez obtenir quelque chose de similaire, si ce n’était pas le cas éditer le fichier /etc/hostname afin d’avoir :  nomdelamchine.domaine.com

On commence l’installation par le traditionnel apt-get

apt-get install slapd ldap-utils

Durant l’installation on vous demande simplement le password admin du serveur .

Vous tapez ensuite la commande slappasswd, elle va vous permettre de générer un password SSHA

# slappasswd
New password: toto
Re-enter new password: toto
{SSHA}gHus2hriMC95mCcmPtXbK8Nv/oh2hZy5

Copiez-le on va en avoir besoin dans le fichier de configuration de slapd, il se trouve ici :

vi /etc/ldap/slapd.conf

Vous vérifiez que suffix est égale à :

suffix          "dc=majorxtrem,dc=be"

Et ajouter les lignes :

rootdn          "cn=admin,dc=majorxtrem,dc=be"
rootpw          {SSHA}gHus2hriMC95mCcmPtXbK8Nv/oh2hZy5

On édite également afin que l’annuaire ne soit pas lisible en anonyme

access to attrs=userPassword,shadowLastChange
        by dn="cn=admin,dc=majorxtrem,dc=be" write
        by anonymous auth
        by self write
        by * none

access to *
        by dn="cn=admin,dc=majorxtrem,dc=be" write
        by dn="uid=read_user,cn=Managers,dc=majorxtrem,dc=be" read

On redémarre slpad

/etc/init.d/slapd restart

On va maintenant créer la base de l’annuaire

vi racine.ldif

Et on ajoute les lignes suivantes dedans

# Racine
dn: dc=majorxtrem,dc=be
objectClass: top
objectClass: dcObject
objectClass: organization
o: majorxtrem.be
dc: majorxtrem

# OU Manager
dn: cn=Managers,dc=majorxtrem,dc=be
objectClass: organizationalRole
objectClass: top
cn: Managers

# OU Groups
dn: ou=Groups,dc=majorxtrem,dc=be
objectClass: organizationalUnit
objectClass: top
ou: Groups

# OU Users
dn: ou=Users,dc=majorxtrem,dc=be
objectClass: organizationalUnit
objectClass: top
ou: Users

Ensuite on l’ajoute au LDAP :

ldapadd -f racine.ldif -D "cn=admin,dc=majorxtrem,dc=be" -w toto

À ce stade votre serveur est fonctionnel, on va tous de même installer une interface de gestion en PHP
apt-get install phpldapadmin

L’interface sera accessible via l’url http://ipduserver/phpldapadmin

Loguez vous et ajoutez un utilisateur read_user dans le groupe Manager
Le login est cn=admin,dc=majorxtrem,dc=be, le pass est celui que vous avez généré tous à l’heure

Cliquez sur manager et ensuite sur Create a child

ldap1

Choisissez : Simple Security Object

ldap2

Ensuite remplissez le username, le password et spécifiez SSHA pour l’encryption

ldap3
Ce user servira pour authentifier apache, phpbb & cie pour vérifier le login de vos utilisateurs

Dans un prochain article, on verra comment restrientre via apache l’accés à un dossier via authentification LDAP

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Connexion
ipv6 ready