[SPECIAL AHDERANT GIE] Utiliser un certificat SSL généré par ADCS (Services de Certificats Active Directory) sur AravisWEB
By: Date: 16 février 2021 Categories: Tuto Pour Les #SysAdmin

« Pour Aravis WEB ou autre serveur WEB Apache »

Vous avez un serveur portant le rôle ADCS et vous ne souhaitez par faire de certificat « self-signed » pour votre AravisWEB de production ?
Ce tuto est fait pour vous !

Le but ?

Utiliser un certificat SSL pour votre serveur WEB Apache généré par votre autorité de certification interne.

Pourquoi ?

  • Plus facile à renouveler (environ 2 à 3 cliques et un copier coller). Pas obligé de déployer le nouveau certificat sur les postes à chaque renouvellement car votre certificat CA est déjà présent sur les postes
  • Transition vers du FULL HTTPS pour Aravis WEB (à l’heure actuelle, c’est pas encore le cas mais c’est prévu)
  • C’est quand même plus professionnel qu’un certificat « self-signed ». On est en Production diable !

Avant de commencer :

Le tutorial ci dessous est spécifiquement lié à Aravis WEB. il se peut que pour votre application web, la méthode diffère un peu.

  • Le certificat généré est fonctionnel avec JAVA (notamment pour Wildfly)
  • Cette méthode n’est pas (encore ?) approuvé par l’éditeur du logiciel Aravis qui est ACG-Synergies
  • Je ne suis pas responsable des catastrophes sur Aravis en cas de problème.
  • Pensez à faire une sauvegarde / snapshot avant toutes modifications

Les étapes :

  • Créer un fichier de configuration OPENSSL qui servira à créer le CSR
  • Générer avec OpenSSL la clef privé et le CSR
  • Générer le certificat avec ADCS via le CSR
  • Copier coller dans Apache
  • Modification des fichiers Apaches (pour prise en compte du certificat avec CA)

Etape 1 : Créer un fichier de configuration OPENSSL

Espace de travail sera le dossier C:\temp sur le serveur Aravis qui héberge le serveur Apache2 (si le dossier n’existe pas, faite le)

Vous allez créer dans ce dossier un fichier texte nommé : openssl.config (attention, l’extension est bien « .config »)
Collez le texte suivant dans ce fichier en apportant les modifications nécessaires à votre environnement :

[ req ]
prompt = no
distinguished_name = dn
req_extensions = req_ext

[ dn ]
CN = araviswebcas.mondomaine.fr
emailAddress = votre email
O = la société (exemple : semcoda)
OU = le service (exemple : informatique)
L = bourg en bresse
ST = ain
C = FR

[ req_ext ]
subjectAltName = DNS: araviswebcas.mondomaine.fr, DNS: monserveuraravisweb.mondomaine.fr, DNS: awportail.mondomaine.fr, DNS: webdav.mondomaine.fr, IP: IP-du-serveur-aravis-web-qui-possède-le-serveur-apache

Le champ : « subjectAltName » dans le fichier de configuration est très important car c’est içi que vous allez déclarer l’ensemble des noms FQDN de votre serveur AravisWEB qui héberge le serveur web apache2.
Le champ CN : Mettez bien l’adresse principale de votre AravisWEB (celle que les utilisateurs vont attaquer pour accéder à AravisWEB
Le champ IP : c’est l’adresse IP du serveur AravisWEB qui héberge le serveur web apache2

Sauvegardez le tout. Dans votre dossier C:\temp, vous devriez avoir un fichier « openssl.config »

Etape 2 : Générer avec OpenSSL la clef privé et le CSR

Ouvrez une invite de commande et faite un « pushd » sur le répertoire C:\temp (plus pratique).

Puis tapez la commande suivante :

openssl genrsa -out AravisCAS.key 2048
Output de la commande

Dans votre dossier C:\temp, vous avez maintenant 2 fichiers. La clef privée et le fichier de configuration. Gardez bien la clef privée.

Nous allons maintenant générer le CSR , toujours depuis l’invite de commande. Tapez la commande suivante :

openssl req -new -config openssl.config -key AravisCAS.key -out AravisCAS.csr
Output de la commande

Vous devriez avoir un fichier CSR en plus dans le dossier.

Etape 3 : Générer le certificat avec ADCS via le CSR

Connectez vous sur le serveur disposant du rôle ADCS, et copiez le CSR et la clef privée générés précédemment (étape 2) sur ce serveur. Pour vous faciliter la vie, je vous conseille de les mettre dans un dossier facile d’accès comme par exemple……. C:\temp 🙂

J’ai copié les deux fichiers de AravisWEB vers le serveur ADCS dans le dossier C:\temp

Question : Pourquoi se connecter sur le serveur ADCS ? on peut le faire directement depuis le serveur AravisWEB ??!!!!
Réponse : Simplement parce que nous allons tout faire en ligne de commande et qu’il sera possible d’aller sur la console MMC de l’ADCS pour vérifier si notre certificat est bien généré.

En vrai, j’ai pas essayé depuis le serveur WEB directement.

Lancez une invite de commande et faite un pushd sur le répertoire C:\temp

Puis tapez la commande suivante puis validez :

certreq -submit -attrib "CertificateTemplate:WebServer" AravisCAS.csr AravisCAS.cer

Un Prompt Windows va vous demander de sélectionner l’autorité de certification. Vous allez donc sélectionner le serveur possédant le rôle ADCS puis cliquez sur OK.

Le certificat va être généré dans le même dossier ou se trouve le CSR et la clef privée.

Vous pouvez aussi vérifier depuis la console certsrv :

içi, mon certificat délivré par l’autorité de certification

Copiez le certificat nouvellement généré et la clef privée vers le serveur WEB AravisWEB (vous pouvez y mettre dans le C:\temp)

Etape 4 : Installation du certificat, du certificat CA et de la clef privée

Nous allons travailler sur le serveur AravisWEB qui dispose d’un serveur Apache 2.4 Windows. Les modifications faites sur les fichiers de configuration ne sont pas (encore) validées par l’éditeur du logiciel ACG.
Les modifications doivent, normalement, fonctionner sur tout type d’application web fonctionnant sous Apache. Je vous conseille quand même, avant toute modification, de faire un snapshot de la VM.

Copier les fichiers AravisCAS.cer et AravisCAS.key (fichiers générés dans l’étape 3) vers le dossier : C:\Apache24\conf\cert (écraser les fichiers si demandés)

Optionnel : Renommer l’extension du fichier AravisCAS.cer en AravisCAS.crt (personnellement, j’ai été obligé de le faire car sinon le serveur apache ne démarre plus même après modification du vhost)

Copier , dans le même dossier (C:\Apache24\conf\cert) le certificat CA (vous pouvez l’exporter depuis n’importe quelle machine du domaine via une console MMC) Exemple :

Je sais que c’est ce certificat là car il a le nom du serveur disposant du rôle ADCS

Dans mon dossier « C:\Apache24\conf\cert » j’ai donc :

Etape 5 : Modification de la configuration d’Apache

Nous allons maintenant modifier deux fichiers de configuration , l’un pour le portail AravisWEB et l’autre pour le WEBDAV afin qu’apache prenne en compte le nouveau certificat et son CA

Allez dans le dossier « C:\Apache24\conf\extra ». Vous devriez avoir des fichiers de configuration.

Ceux qui nous intéresse pour le moment sont :
– httpd-ssl.conf
– httpd-vhosts-webdav.conf

Modifiez le fichier httpd-ssl.conf (avec notepad++ si possible) pour rajouter une ligne :

Avant
Après

Faite de même pour le fichier httpd-vhosts-webdav.conf :

ETAPE 6 (special AravisWEB) : Installez le nouveau certificat pour le service Wildfly et Liferay

Il est important de bien installer le nouveau certificat pour les service Wildfly et Liferay sinon votre serveur AravisWEB ne fonctionnera pas du tout.

Je ne vais pas décrire les étapes car il existe une documentation détaillée fournit par ACG. Sachez que j’ai suivi cette documentation pour la mise à jour du certificat pour les services Wildfly/Liferay et je n’ai eu aucun soucis avec mon certificat généré par ADCS.

ETAPE 7 : Redémarrer Apache et Enjoy !

Redémarrer le service Apache :

Profitez :

Si jamais le redémarrage d’apache n’a pas suffit, faire un reboot complet de l’ensemble d’aravisWEB (Liferay Wildfly etc) dans l’ordre :
MySQL -> Liferay-Wildfly -> Wildfly -> ActiveMQ -> Apache2.4

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *