SUPPORT

Un problème de certificat ? Besoin d'être dépanné rapidement ? Nos ingénieurs répondent à vos questions.

0 897 690 444 Service 0,80 €/min +prix appel
Menu
picture of tbs certificates
picture of tbs certificates
Les produits
Notre gamme
Partenaires
Support
Numéro vert
Focus


Authentification forte avec Apache et certificats délivrés par une PKI

Ce type d'authentification est idéale pour l'accès à des ressources internet par votre personnel. Les offres commerciales correspondantes sont décrites dans la section PKI de notre comparatif, mais vous pouvez aussi utiliser des certificats client / utilisateur disponibles à l'unité.

Préalable: votre serveur doit être correctement configuré en tant que serveur SSL.

Dans votre VirtualHost SSL, placez deux instructions:

SSLCARevocationPath conf/ssl.crl/
SSLCACertificateFile conf/chain-mon-pki.txt

L'instruction SSLCARevocationPath concerne la révocation. Voir Gestion des listes de révocation dans Apache
pour mettre en place la gestion de la revocation.
L'instruction SSLCACertificateFile décrit la chaine de certification de votre PKI. Le fichier indiqué doit contenir la chaine de certification utilisé pour émettre vos certificats PKI. Pour constituer ce fichier, consultez Certificats intermédiaires pour trouver l'autorité qui signe vos certificats et stockez dans un fichier texte le certificat affiché dans la page. Puis utilisez le lien "chaîné avec" pour remonter au niveau supérieur et ajoutez le certificat trouvé en dessous du certificat précédent. Ainsi de suite jusqu'à ce qu'il n'y ait plus de lien supérieur. Placez le fichier ainsi constitué dans Assurez vous que votre Apache soit compilé avec un openssl version 0.9.7 récent, ou supérieur.

Maintenant au niveau d'un répertoire, il faut placer

SSLRequireSSL
SSLVerifyClient require
SSLVerifyDepth 4

pour activer la demande de certificat client, et spécifier la longueur maxi de ma chaîne.

Reste à spécifier le filtre qui permettra à tous vos utilisateurs de se connecter.

SSLRequire  %{SSL_CLIENT_I_DN} eq "/C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions:
http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA persona" \
and %{SSL_CLIENT_S_DN_O} eq "NOM-DE-LA-SOCIETE" \
and %{SSL_CLIENT_S_DN_OU} eq "personnel interne / internal staff" \
and %{SSL_CLIENT_S_DN_C} eq "FR"

Dans cette expression, la première ligne vérifie l'autorité qui a émis le certificat (si vous avez suivi notre méthode et autorisé une seule autorité de certification, ce test redondant. Il est par contre utile si vous avez autorisé plusieurs CA.).
La seconde ligne vérifie que ce certificat est pour votre nom de société.
La troisième ligne vérifie que ce certificat est pour votre unité d'organisation au sein de votre société.
La quatrième ligne vérifie que ce certificat est pour une organisation en France.

Etc. Vous aurez compris que notre filtre exemple autorise tous les certificats émis pour une unité d'organisation de votre société. Vous pouvez écrire des instructions plus strictes, par exemple pour autoriser que certains utilisateurs de votre organisation, rajoutez:

%{SSL_CLIENT_S_DN_Email} in {"root@domaine.com", "system@domaine.com", "chef@domaine.com"}

Liens utiles