Outils pour utilisateurs

Outils du site


Ceci est une ancienne révision du document !


Configuration d'apache-krb

Le serveur apache-krb.maison.mrs va fournir un service http nécessitant une authentification kerberos. Nous allons donc installer ce qui est nécessaire :

  • un système de synchronisation de l'horloge (NTP). Nous ne verrons ici comment faire, ce n'est pas le sujet principal ;
  • un serveur apache classique ;
  • les composants kerberos nécessaires.

Installation d'apache

Nous installons un Apache « prefork » classique :

apache-krb:~# aptitude install apache2-mpm-prefork
---
Enabling site default.
Enabling module alias.
Enabling module autoindex.
Enabling module dir.
Enabling module env.
Enabling module mime.
Enabling module negotiation.
Enabling module setenvif.
Enabling module status.
Enabling module auth_basic.
Enabling module deflate.
Enabling module authz_default.
Enabling module authz_user.
Enabling module authz_groupfile.
Enabling module authn_file.
Enabling module authz_host.
...

Mais il nous manque le module spécifique à l'authentification kerberos : libapache2-mod-auth-kerb.

apache-krb:~# aptitude install libapache2-mod-auth-kerb
...
Les NOUVEAUX paquets suivants vont être installés : 
  bind9-host{a} geoip-database{a} krb5-config{a} libapache2-mod-auth-kerb
  libbind9-50{a} libdns53{a} libgeoip1{a} libisc50{a} libisccc50{a} 
  libisccfg50{a} liblwres50{a} 
0 paquets mis à jour, 11 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 1 805ko d'archives. Après dépaquetage, 4 579ko seront utilisés.
Voulez-vous continuer ? [Y/n/?] 
...
Paramétrage de libapache2-mod-auth-kerb (5.3-5+b1) ...
Enabling module auth_kerb.
Run '/etc/init.d/apache2 restart' to activate new configuration!
...

Notez que krb5-config a été installé par dépendance. Des questions sont posées lors de sa configuration, mais peu importe, nous allons récupérer le krb5.conf déjà utilisé sur kerberos.maison.mrs et sur le poste de travail.

Le module auth_kerb a été activé, mais il faut bien sûr indiquer où et comment apache doit s'en servir.

Configuration de kerberos

sur kerberos.maison.mrs

Nous devons créer un « principal » pour notre service HTTP, de façon presque identique à celle utilisée pour créer des principaux d'utilisateurs. Ici, le mot de passe peut être créé de façon aléatoire car seuls les composants kerberos concernés devront le connaitre. Nous pouvons réaliser l'opération depuis n'importe quel hôte sur lequel krb5-user a été installé :

root@pchris:/home/chris# kadmin -p chris/admin
Authenticating as principal chris/admin with password.
Password for chris/admin@MAISON.MRS: 

kadmin:  addprinc -clearpolicy -randkey HTTP/apache-krb.maison.mrs

Principal "HTTP/apache-krb.maison.mrs@MAISON.MRS" created.

kadmin:  list_principals
HTTP/apache-krb.maison.mrs@MAISON.MRS
K/M@MAISON.MRS
chris/admin@MAISON.MRS
chris@MAISON.MRS
kadmin/admin@MAISON.MRS
kadmin/changepw@MAISON.MRS
kadmin/history@MAISON.MRS
kadmin/kerberos.maison.mrs@MAISON.MRS
krbtgt/MAISON.MRS@MAISON.MRS

kadmin:  quit

Cette opération a permis la création d'une clé secrète qui doit être partagée avec le service http situé sur apache-krb.maison.mrs C'est grâce à cette clé que l'utilisateur pourra dialoguer en langage kerberos avec le service http. Souvenez-vous de ce que l'on a vu dans le Principe général.

sur apache-krb

Pas

Configuration d'apache

Configuration d'apache-krb: Dernière modification le: 15/02/2010 à 09:21 par prof