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

 

 

 

Utiliser un partage SMB avec Samba et des permissions Active Directory

Adminstration Server Linux, Adminstration Server Windows, Debian, Sécurité 1 Comment »

Avec ce mémo, vous allez mettre en place un partage SMB à l’aide de Samba tout en utilisant authentification et les permissions de votre domaine Active Directory
Le serveur Samba tourne sur Debian 6.0 et le DC sur Windows Server 2008 R2

Installation des paquets

Avant d’installer assurez-vous d’avoir un serveur à jour

aptitude update && aptitude safe-upgrade

Ensuite installez les paquets suivant

aptitude install samba winbind krb5-user libkrb53 ntpd ntpdate

Heure du serveur

Avant de commencer il est primordial de synchroniser l’heure du serveur sur le DC notament pour l’authentification kerberos

/etc/.init.d/ntp stop
vi /etc/ntp.conf

Configurez la ligne server avec l’ip de votre DC

ntpdate 
/etc/.init.d/ntp start

Configuration de Kerberos

vi /etc/krb5.conf

Attention respectez scrupuleusement les majuscules ( à adapter : DOMAINE.COM, server_dc1, domaine, DOMAINE)

[libdefaults]
	default_realm = DOMAINE.COM
	clock_skew = 300
	ticket_lifetime = 24000
	default_tkt_enctypes = des3-cbc-sha1 rc4-hmac des-cbc-md5 des-cbc-crc
	default_tgs_enctypes = des3-cbc-sha1 rc4-hmac des-cbc-md5 des-cbc-crc
	dns_lookup_realm = false
	dns_lookup_kdc = true
[realms]
	DOMAINE.COM = {
		kdc = server_dc1
		admin_server = server_dc1
		default_domain = DOMAINE.COM
	}
[domain_realm]
	.domaine = DOMAINE
	domaine = DOMAINE

Configuration de Samba

vi /etc/samba/smb.conf
[global]
	netbios name = srv-shares
	workgroup = DOMAINE
	server string = Backup Server
	realm = DOMAINE.COM
	security = ADS
	encrypt passwords = true
	password server = server_dc1.domaine.com
	idmap uid = 10000-20000
	idmap gid = 10000-20000
	winbind enum groups = yes
	winbind enum users = yes
	winbind use default domain = yes

[shares]
	path = /home/shares
	comment = shares
	writable = yes
	browseable=yes
	read only = no
	inherit acls = yes
	inherit permissions = yes
	create mask = 700
	directory mask = 700
	valid users = @"DOMAINE+Domain Users"
	admin users = @"DOMAINE+Domain Admins"

Configuration de nsswitch

Pour que Samba puisse utiliser les utilisateurs et groupes de l’AD, il faut configurer nsswitch afin de lui ajouter Winbind comme possibilité d’authentification

vi /etc/nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat winbind
group:          compat winbind
shadow:         compat

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

Redémarrage des services

/etc/init.d/winbind stop && /etc/init.d/samba restart && /etc/init.d/winbind start

Jonction à l’Active Directory

net join -U Administrator

Ensuite pour tester

kinit administrator
klist
wbinfo -u
wbinfo -g

Vous pouvez à présent configurer les permissions avec les commandes habituelles.

chown DOMAINE\user1 repdeuser1
chgrp DOMAINE\groupe1 repdegrp1

Installation Serveur Mail Postfix, Amavisd, Mysql, Spamassassin, Dspam, Courier-IMAP

Adminstration Server Linux 18 Comments »

Ce tutorial a été intégralement repris du site  http://www.starbridge.org et a été réalisé par tonio. Il est distribué sous licence creativecommons  Creative Commons License

Le système sur lequel est basé ce document est une DEBIAN stable (Lenny). La version ancienne Stable (Etch) à la date de rédaction présente quelques différences sur certains paquets (changement de nom lors des montées de version : voir le site Debian pour les versions équivalentes) mais cela n’entraîne aucun problème dans les fonctionnalités. Le tuto est aussi compatible avec la version Testing.

Par souci de clarté, on a detaillé chaque action le plus précisement possible, et ce pour ne pas réduire le tuto à une simple succession de commandes. Mais cela peut se réveler parfois fastidieux de créer un fichier en copier/coller puis de modifier le mot de passe. (surtout quand il faut modifier plusieurs occurences).

C’est pour cela que l’on trouvera en note en pied de page les commandes rapides pour exécuter certaines actions longues.

Un hyperlien avec un numéro est le signe de l’existence d’une commande rapide. Pratique lorsque l’on refait le tuto (ou pour les fainéants !)

Ce tuto fonctionne également sous Ubuntu mais certains paquets présentent de légères différences. On essaiera de les indiquer si possible.

On utilisera comme serveur IMAP celui de Courier, mais pour ceux qui le souhaitent, nous préciserons la marche à suivre pour installer Dovecot à la place.

On prendra comme base pour l’exemple le domaine starbridge.org
et le hostname du serveur de mail sera spike.

Read the rest of this entry »

S’authentifier sur apache2 avec LDAP

Adminstration Server Linux 1 Comment »

Nous avons récemment mis en place en serveur LDAP sous OpenLDAP.
On va maintenant configurer apache2 pour qu’il puisse s’authentifier dans le LDAP.

Voici le lien vers la documentation officielle d’apache2 à ce sujet

On va commencer par activer les modules nécessaires d’apache2

a2enmod ldap auth_basic authnz_ldap authz_user

Ensuite vous éditez vos vhosts et ajouter une des configurations suivante entre les balises

L’utilisateur doit exister dans l’Organisation Unit Users

AuthType Basic
AuthName "Restricted Area"
AuthLDAPBindDN "uid=read_user,cn=Managers,dc=majorxtrem,dc=be"
AuthLDAPBindPassword "le_pass_de_read_user"
AuthBasicProvider ldap
AuthLDAPURL ldap://127.0.0.1/ou=Users,dc=majorxtrem,dc=be?uid
AuthzLDAPAuthoritative OFF
Require valid-user

L’utilisateur doit exister dans l’Organisation Unit Users et faire partie du groupe Admins

AuthType Basic
AuthName "Restricted Area"
AuthLDAPBindDN "uid=read_user,cn=Managers,dc=majorxtrem,dc=be"
AuthLDAPBindPassword "le_pass_de_read_user"
AuthBasicProvider ldap
AuthLDAPURL ldap://127.0.0.1/ou=Users,dc=majorxtrem,dc=be?uid
AuthzLDAPAuthoritative OFF
AuthLDAPGroupAttribute memberUid
AuthLDAPGroupAttributeIsDN on
Require ldap-group cn=Admins,ou=Groups,dc=comitetig,dc=be

L’utilisateur doit être majorxtrem

AuthType Basic
AuthName "Restricted Area"
AuthLDAPBindDN "uid=read_user,cn=Managers,dc=majorxtrem,dc=be"
AuthLDAPBindPassword "le_pass_de_read_user"
AuthBasicProvider ldap
AuthLDAPURL ldap://127.0.0.1/ou=Users,dc=majorxtrem,dc=be?uid
AuthzLDAPAuthoritative OFF
Require user majorxtrem

On termine en rédémrant apache2

/etc/init.d/apache2 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