Une autorité de certification est un tier de confiance qui délivre et signe des certificats permettant de sécuriser l’accès à des serveurs web par exemple en cryptant les données échangées entre ce dernier et les utilisateurs.
On commence par attribuer une adresse IP fixe a notre ADCS et on l'ajoute aussi dans le domaine (dans le cas ou l'ADCS n'est pas installé sur le meme serveur que l'AD) :
On installe ensuite le role Services de certificats Active Directory
On ajoute l’inscription de l’autorité de certification via le web afin d’avoir une page web en local qui peut signer les certificats :
Avant de créer le certificat pour notre serveur Linux, nous devons faire en sorte que ce dernier accepte notre autorité de certification comme autorité de confiance . Pour cela, on commence par aller sur le site ADCS puis dans « Télécharger un certificat d’autorité de certification » :
Nous cliquons ensuite de installer ce certificat d'autorité de certification :
Cela va nous télécharger un fichier que l’on va renommer ca-adcs.cer. Nous allons créer un dossier dans la racine du C:/ que nous allons appeler key et nous allons mettre notre fichier dedans :
Nous allons ensuite le placer dans notre serveur GLPI :
scp C:/key/glpi.cer emilien@192.168.100.11:/home/emilien
Une fois sur le serveur nous allons le renommer ca-adcs.crt car l’extension cer ne marche pas sous linux et nous allons le placer dans /usr/local/share/ca-certificates :
sudo mv /home/emilien/ca-adcs.cer /usr/local/share/ca-certificates/ca-adcs.crt
On entre ensuite la commande suivante pour mettre à jour les certificats :
sudo update-ca-certificates
Nous allons modifier ensuite le modèle de certificat pour Serveur Web car le modèle actuel est valable 2 ans. Or Il faut que le certificat soit valable 1 an seulement. Nous allons dans autorité de certification puis clic droit sur modèles de certificats puis cliquer sur gérer :
Nous dupliquons ensuite le modèle de serveur Web :
On peut ensuite le renommer et changer sa période de validité pour 1 année :
Nous pouvons ensuite refaire un clic droit sur les modèles puis nouveau > Modèle de certificat à délivrer :
Et nous choisissons le modèle que l'on délivrer (notre nouveau certificat) :
Nous allons maintenant créer notre fichier de certificat à signer avec notre ADCS. Sur le serveur linux, nous allons commencer par créer un fichier de configuration que nous allons appeler openssl-wildcard.conf :
sudo nano openssl-wildcard.conf
[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = req_ext
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
stateOrProvinceName = State or Province Name (full name)
localityName = Locality Name (eg, city)
organizationName = Organization Name (eg, company)
commonName = Common Name (e.g. server FQDN or YOUR name)
[ req_ext ]
subjectAltName = @alt_names
[alt_names]
DNS.1 = glpi.metallurgie.local
IP.1 = 192.168.100.11
Nous pouvons ensuite lancer la commande suivante pour génerer le certificat et la clé pour notre serveur :
openssl req -newkey rsa:2048 -nodes -keyout glpi.key -out glpi.csr -config openssl-wildcard.conf
Nous devons ensuite remplir les informations demandés :
Une fois les fichiers créées, nous allons déplacer le fichier .csr sur notre ADCS. Nous allons ouvrir un terminal de commande sur l'ADCS et nous allons taper la commande suivante :
scp emilien@192.168.100.11:/home/emilien/glpi.csr C:/key/
Une fois dans l'ADCS, nous pouvons l'ouvrir avec un bloc note et copier le certificat :
Sur notre site pour signer dans l'ADCS nous cliquons sur Demande un certifcat puis dans avancé :
Nous collons ensuite le certificat et nous choisissons le modèle de certificat que nous venons de créer :
Nous choisissons ensuite le codage en base 64 et nous téléchargeons le certificat :
Une fois le fichier télécharger nous pouvons le renommer et le déplacer dans notre serveur linux avec la commande :
scp C:/key/glpi.cer emilien@192.168.100.11:/home/emilien
Sur le serveur Linux, nous le déplaçons ensuite dans le dossier /etc/ss/certs/ :
sudo mv glpi.cer /etc/ssl/certs/
Nous déplaçons la clé dans le dossier /etc/ssl/private/ :
sudo mv glpi.cer /etc/ssl/private/
On doit ensuite modifier le fichier de configuration du site :
sudo nano /etc/apache2/sites-availables/000.default.conf
On passe le port en 443 et on active le SSL :
On active le SSl avec la commande :
sudo a2enmod ssl
Et on redémarre apache :
sudo systemctl restart apache2
Une fois tout cela fait, notre site est maintenant en HTTPS :