SSL Certificate · 7 min read · Sep 25, 2025

Sécuriser votre installation ISPConfig 3 avec un certificat SSL Class1 gratuit de StartSSL

Ce tutoriel montre comment vous pouvez utiliser un certificat SSL Class1 gratuit de StartSSL pour sécuriser votre installation ISPConfig 3 et vous débarrasser des avertissements de certificat auto-signé. Le guide couvre l’utilisation du certificat SSL pour l’interface web ISPConfig (Apache2 et nginx), Postfix (pour les connexions TLS), Courier et Dovecot (pour POP3s et IMAPs), et PureFTPd (pour les connexions TLS/FTPES). Si vous avez installé monit et utilisez HTTPS pour son interface web, je vous montrerai également comment utiliser le certificat StartSSL pour cela. Ce guide suppose que vous utilisez Debian ou Ubuntu ; le principe est le même pour d’autres distributions prises en charge par ISPConfig 3, mais les chemins peuvent différer.

MISE À JOUR 20/12/2017

La CA StartSSL n’est plus approuvée par les navigateurs et cessera d’émettre des certificats SSL le 1er janvier 2018. Il existe une bonne alternative disponible aujourd’hui, utilisez Let’s Encrypt au lieu de StartSSL pour obtenir un certificat SSL gratuit. Vous pouvez trouver des instructions sur la façon d’utiliser un certificat SSL Let’s Encrypt pour ISPConfig, Postfix, Dovecot, Courier, Monit et PureFTPD :

https://www.howtoforge.com/community/threads/securing-ispconfig-3-control-panel-port-8080-with-lets-encrypt-free-ssl.75554/

1 Remarque préliminaire

Je suppose que vous avez utilisé l’un des guides de http://www.ispconfig.org/ispconfig-3/documentation/ pour configurer votre système. Comme je l’ai mentionné précédemment, je vais me concentrer sur Debian/Ubuntu dans ce guide, mais cela devrait également fonctionner pour d’autres distributions prises en charge par ISPconfig 3 (vous devrez peut-être ajuster certains chemins cependant).

J’utiliserai le nom d’hôte server1.example.com ici ; StartSSL vous permet de créer le certificat Class1 pour le domaine principal et un sous-domaine, donc je vais créer le certificat pour example.com et server1.example.com. Cela signifie que vous devez dire à vos utilisateurs d’utiliser le domaine principal example.com ou le sous-domaine server1.example.com pour tous les services (interface web ISPConfig, Postfix, Courier/Dovecot, PureFTPD, etc.) sinon ils recevront des avertissements de certificat.

Si vous préférez utiliser des noms d’hôtes différents pour vos services (par exemple mail.example.com pour Postfix, ispconfig.example.com pour ISPConfig, etc.), je vous suggère d’obtenir un certificat Class2 de StartSSL. Ce n’est pas gratuit, mais cela vous permet de le créer pour plusieurs sous-domaines (vous pouvez même utiliser *.example.com pour le créer pour tous les sous-domaines) et même plusieurs domaines. Les instructions sont les mêmes, sauf que lorsque j’utilise le certificat intermédiaire sub.class 1.server.ca.pem de StartSSL, vous devez utiliser sub.class 2.server.ca.pem à la place. Je vais souligner cette différence tout au long du tutoriel.

J’exécute toutes les étapes de ce tutoriel avec des privilèges root, donc assurez-vous que vous êtes connecté en tant que root. Si vous utilisez Ubuntu, exécutez…

sudo su

… pour obtenir des privilèges root.

2 Création d’une demande de signature de certificat (CSR)

Nous avons besoin d’une demande de signature de certificat (CSR) pour obtenir un certificat SSL de StartSSL. Puisque l’installateur ISPConfig (pour les versions >= 3.0.4) crée cela de toute façon, je vais utiliser cette CSR comme base pour chiffrer tous les services (ISPConfig, Postfix, etc.).

Depuis la version 3.0.4 d’ISPConfig, l’installateur ISPConfig offre l’option d’utiliser le chiffrement SSL pour l’interface web ISPConfig, il crée un certificat auto-signé (4096 bits) incluant une CSR si vous répondez à la question suivante par ENTER ou y :

Voulez-vous une connexion sécurisée (SSL) à l’interface web ISPConfig (y,n) [y] : <– ENTER

Pour que l’installateur ISPConfig crée la CSR avec les bonnes données, vous devez entrer les bonnes informations lorsque vous voyez ces questions :

Génération de la clé privée RSA, module de 4096 bits ……………………………………………………++ ……………………………………………………………++ e est 65537 (0x10001) Vous allez être invité à entrer des informations qui seront incorporées à votre demande de certificat. Ce que vous allez entrer est ce qu’on appelle un Nom Distingué ou DN. Il y a pas mal de champs mais vous pouvez laisser certains vides Pour certains champs, il y aura une valeur par défaut, Si vous entrez ‘.’, le champ sera laissé vide.


Nom du pays (code à 2 lettres) [AU] : <– DE Nom de l’État ou de la province (nom complet) [Some-State] : <– Niedersachsen Nom de la localité (par exemple, ville) [] : <– Lueneburg Nom de l’organisation (par exemple, entreprise) [Internet Widgits Pty Ltd] : <– My Company Ltd. Nom de l’unité organisationnelle (par exemple, section) [] : <– IT Nom commun (par exemple, VOTRE nom) [] : <– example.com Adresse e-mail [] : <– [email protected]

Veuillez entrer les ‘attributs’ supplémentaires suivants à envoyer avec votre demande de certificat Un mot de passe de défi [] : <– ENTER Un nom d’entreprise optionnel [] : <– ENTER écriture de la clé RSA

Si vous avez initialement créé le certificat avec les mauvaises données, vous pouvez soit mettre à jour ISPConfig en exécutant…

ispconfig_update.sh

…, ou, si vous avez déjà la dernière version installée, exécutez les commandes suivantes :

cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xvfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install
php -q update.php

Cela vous permettra de créer un nouveau certificat pour votre interface web ISPConfig 3 en répondant à la question suivante par oui :

Créer un nouveau certificat SSL ISPConfig (oui, non) [non] : <– oui

Si vous utilisez une version d’ISPConfig antérieure à 3.0.4, vous devriez maintenant mettre à niveau vers la dernière version stable en exécutant…

ispconfig_update.sh

Cela vous permettra également de créer une connexion SSL pour votre interface web ISPConfig 3 en répondant à la question suivante par oui :

Créer un nouveau certificat SSL ISPConfig (oui, non) [non] : <– oui

Comme indiqué ci-dessus, assurez-vous d’entrer les bonnes informations.

Ensuite, vous devriez avoir une clé SSL, une CSR et un certificat auto-signé dans le répertoire /usr/local/ispconfig/interface/ssl/ :

ls -l /usr/local/ispconfig/interface/ssl/
root@server1:~# ls -l /usr/local/ispconfig/interface/ssl/
total 16
-rwxr-x--- 1 ispconfig ispconfig 2423 Jan 16 13:29 ispserver.crt
-rwxr-x--- 1 ispconfig ispconfig 1777 Jan 16 13:29 ispserver.csr
-rwxr-x--- 1 ispconfig ispconfig 3243 Jan 16 13:29 ispserver.key
-rwxr-x--- 1 ispconfig ispconfig 3311 Jan 16 13:28 ispserver.key.secure
root@server1:~#

Tout ce dont nous avons besoin dans ce tutoriel est la clé privée (ispserver.key) et la CSR (ispserver.csr) ; nous remplacerons ispserver.crt par le certificat Class1 de StartSSL. Vous pouvez ignorer ispserver.key.secure.

Il est également possible de créer ispserver.key et ispserver.csr en ligne de commande comme suit :

cd /usr/local/ispconfig/interface/ssl/
openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout ispserver.key -out ispserver.csr

(Cela ne vous donnera pas ispserver.crt ce qui n’a pas d’importance car nous obtiendrons notre certificat signé de StartSSL.)

Votre ispserver.csr devrait être similaire à celui-ci (j’ai masqué de grandes parties car il s’agit d’une vraie CSR que j’utilise) :

cat /usr/local/ispconfig/interface/ssl/ispserver.csr

| -----BEGIN CERTIFICATE REQUEST----- MIIC7TCCAdUCAQAwgacxCzAJBgxxxxxxAkRFMRYwFAYDVQQIDA1OaWVkZXJzYWNo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 9Z5RhXTfOz8F2wsNH5yP9eqkVlkYKpIwyUHoZtUSp+xz -----END CERTIFICATE REQUEST----- |

3 Obtenir votre certificat Class1 gratuit de StartSSL

Maintenant allez sur http://www.startssl.com/ et créez un compte. Après avoir validé votre domaine (dans l’onglet Validations Wizard), vous pouvez demander votre certificat dans l’onglet Certificates Wizard - sélectionnez Certificat SSL/TLS pour serveur Web dans le champ déroulant Certificate Target :

Puisque nous avons déjà une clé privée et une CSR, nous pouvons sauter l’étape suivante - cliquez sur Skip >> :

À la page suivante, vous remplissez votre CSR, c’est-à-dire le contenu du fichier /usr/local/ispconfig/interface/ssl/ispserver.csr (commençant par —–BEGIN CERTIFICATE REQUEST—– et se terminant par —–END CERTIFICATE REQUEST—–) :

Ensuite, suivez le reste de l’assistant - il vous demandera un domaine et un sous-domaine pour lesquels le certificat sera créé. Si vous utilisez server1.example.com pour tous vos services, remplissez example.com comme domaine et server1 comme sous-domaine.

Après quelques minutes, vous recevrez un e-mail indiquant que votre nouveau certificat est prêt. Allez dans Toolbox > Retrieve Certificate et sélectionnez votre certificat :

Copiez le certificat depuis l’interface web de StartSSL…

… et faites une sauvegarde de votre fichier ispserver.crt original et collez le certificat Class1 de StartSSL dans le fichier ispserver.crt (vide) :

mv /usr/local/ispconfig/interface/ssl/ispserver.crt /usr/local/ispconfig/interface/ssl/ispserver.crt_bak
vi /usr/local/ispconfig/interface/ssl/ispserver.crt

| -----BEGIN CERTIFICATE----- MIIHMTCCBhmgAwIBAgIDxxxxxx0GCSqGSIb3DQEBBQUAMIGCMQswCQYDVQQGEwJJ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx c2x1wonVRVmKovt2OuM1ZqZw0Ynk -----END CERTIFICATE----- |

Ensuite, téléchargez la CA racine de StartSSL et le serveur CA intermédiaire Class1 :

cd /usr/local/ispconfig/interface/ssl
wget https://www.startssl.com/certs/ca.pem
wget https://www.startssl.com/certs/sub.class1.server.ca.pem

(Si vous utilisez un certificat Class2, veuillez télécharger sub.class2.server.ca.pem à la place de sub.class1.server.ca.pem).

Renommez les deux fichiers :

mv ca.pem startssl.ca.crt
mv sub.class1.server.ca.pem startssl.sub.class1.server.ca.crt

(Ajustez la deuxième commande si vous utilisez un certificat Class2.)

Certains services nécessitent un fichier .pem que nous créons comme suit (encore une fois, assurez-vous d’ajuster les commandes si vous utilisez un certificat Class2) :

cat startssl.sub.class1.server.ca.crt startssl.ca.crt > startssl.chain.class1.server.crt
cat ispserver.{key,crt} startssl.chain.class1.server.crt > ispserver.pem
chmod 600 ispserver.pem
Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.