GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

Sécurisez ISPConfig 3 et les services avec le certificat signé GoDaddy sur CentOS

Sécurisez ISPConfig 3 et les services avec le certificat signé GoDaddy sur CentOS

Configurons un certificat signé de GoDaddy pour le panneau de configuration ISPConfig, Pure-FTPD, Postfix, Dovecot, phpMyAdmin et Squirrelmail. N'oubliez pas de remplacer pluto.example.com par votre propre FQDN tout au long de cette section ! ISPConfig automatiquement créé une clé SSL, un CSR et un certificat auto-signé dans le répertoire /usr/local/ispconfig/interface/ssl/ lorsque nous avons répondu y à Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y] :.Si nous avons répondu non à cette question, nous pourrions toujours les créer en effectuant les étapes suivantes :

  1. Changez le répertoire en /usr/local/ispconfig/interface/ssl/
  2. Créer une clé et une demande de signature de certificat
  3. Créer un certificat auto-signé
  4. Modifier les autorisations de lecture/écriture/exécution sur les fichiers de certificat
  5. Modifier la propriété des fichiers de certificat

Saisissez les lignes suivantes dans la fenêtre de votre terminal SSH :

cd /usr/local/ispconfig/interface/ssl/
openssl req -new -newkey rsa:4096 -days 3650 -nodes -keyout ispserver.key -out ispserver.csr
openssl x509 -req -days 3650 -in ispserver.csr -signkey ispserver.key -out ispserver.crt
chmod 750 ispserver.*
chown ispconfig:ispconfig ispserver.*

Tout d'abord, nous devons nous connecter à notre compte GoDaddy et acheter un certificat SSL.J'ai acheté le certificat SSL Standard Single Domain pour deux ans.Ce certificat couvre pluto.example.com et www.pluto.example.com.Si vous n'avez pas un compte GoDaddy, créez-en un, puis achetez un nouveau certificat de domaine unique SSL standard, comme indiqué ci-dessous :

Votre crédit pour votre nouveau certificat SSL n'apparaît généralement pas immédiatement dans votre compte GoDaddy.Après avoir attendu environ 5 minutes, le crédit du certificat SSL est apparu dans mon compte avec un autre certificat SSL que j'ai précédemment acheté et configuré.Il indique Standard (Turbo) SSL (2 ans) (Annuel) et ressemble à ceci :

GoDaddy vous demande d'abord d'activer le crédit pour le nouveau certificat avant de pouvoir commencer à le configurer. Pour activer le certificat, cliquez sur le bouton Configurer à côté du crédit SSL, comme indiqué ci-dessous :

Ensuite, vous serez invité à sélectionner le crédit SSL que vous activez. Il ressemblera à ceci :

Il existe de nombreux bogues dans le logiciel GoDaddy sur cette page. Ne vous inquiétez pas cependant. Tout fonctionnera ! Il indiquera "Configuration gratuite du produit" et "Type de compte :gratuit avec Turbo SSL". Cela peut vous sembler très étrange, puisque nous venons de payer le certificat SSL. Il vous demandera également :"Quel domaine voulez-vous vous associer à ce compte de certificats SSL ?" Cependant, aucun domaine n'est répertorié dans la zone de sélection. Les crédits SSL non activés sont répertoriés dans la zone par date d'expiration. Si vous disposez de nombreux certificats SSL non activés, assurez-vous assurez-vous de sélectionner le bon.La date indiquée sur mon crédit non activé est incorrecte !Une fois que vous avez sélectionné le bon crédit, cliquez sur le bouton Configurer.Vous devriez voir un message vous indiquant que l'activation a réussi comme suit :

Votre crédit SSL est maintenant activé et prêt à commencer à être configuré. Il sera répertorié dans votre compte GoDaddy en tant que « NOUVEAU CERTIFICAT », comme suit :

Notez que la date d'expiration du certificat a changé, mais elle est toujours incorrecte. Ne vous inquiétez pas. Il sera corrigé à la fin.Cliquez sur le bouton Lancer à côté du certificat SSL dans votre compte GoDaddy comme indiqué ci-dessous :

Certaines informations vous seront demandées pour configurer les options d'hébergement de votre certificat SSL.Assurez-vous que l'option "Third Party, or Dedicated Server or Virtual Dedicated Server, without Simple Control Panel" est sélectionnée.Ensuite, copiez et collez votre CSR dans la fenêtre , y compris les lignes -----BEGIN CERTIFICATE REQUEST----- et -----END CERTIFICATE REQUEST-----. Pour copier votre CSR, saisissez la ligne suivante dans la fenêtre de votre terminal SSH :

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

Assurez-vous de coller tout le contenu du CSR dans la zone GoDaddy CSR. J'ai remplacé mon texte CSR réel par des x dans la capture d'écran. Il devrait ressembler à ce qui suit :

Cliquez sur le bouton Suivant. Vous verrez un message indiquant :"Votre domaine a été validé. Veuillez passer à l'étape de confirmation." Il ressemblera à ceci :

Sécurisez ISPConfig 3 et les services avec le certificat signé GoDaddy sur CentOS - Page 2

Cliquez sur le bouton Suivant. Vous verrez maintenant l'écran de confirmation comme suit :

Cliquez sur le bouton Suivant. Vous verrez maintenant le message Et maintenant ? écran comme celui-ci :

Cliquez sur le bouton Terminé. Vous accédez maintenant au panneau de configuration GoDaddy SSL. Votre certificat peut apparaître immédiatement ou non. Attendez quelques minutes, puis cliquez sur le lien Certificats dans la barre de navigation de gauche. Lorsque votre certificat apparaît dans la liste, le la date correcte s'affiche maintenant pour votre certificat.Maintenant, sélectionnez le certificat et cliquez sur le bouton Télécharger en haut de la liste, comme indiqué ci-dessous :

Maintenant, sélectionnez Apache dans le menu et cliquez sur le bouton Télécharger comme indiqué ci-dessous :

Enregistrez l'archive compressée sur votre ordinateur. Maintenant, extrayez l'archive compressée sur votre ordinateur. Les 2 fichiers extraits de l'archive compressée peuvent être visualisés et copiés à l'aide d'un éditeur de texte tel que le Bloc-notes sous Windows.

Si vous avez acheté un type de certificat autre que le certificat SSL standard à domaine unique, vous devrez peut-être choisir un fichier de chaîne différent du fichier gd_bundle.crt utilisé dans ce chapitre. Le référentiel de certificats de GoDaddy se trouve à l'adresse https://certs.godaddy.com /anonymous/repository.pki.

Créons maintenant les fichiers de nos nouveaux certificats en procédant comme suit :

  1. Changez le répertoire en /usr/local/ispconfig/interface/ssl/
  2. Copier la demande de signature de certificat
  3. Copiez la clé
  4. Copier le certificat
  5. Copier le certificat
  6. Effacer le contenu du certificat
  7. Modifier les autorisations de lecture/écriture/exécution sur les fichiers de certificat
  8. Modifier la propriété des fichiers de certificat
  9. Télécharger le certificat GoDaddy
  10. Modifier les autorisations de lecture/écriture/exécution sur le certificat GoDaddy
  11. Modifier la propriété du certificat GoDaddy

N'oubliez pas de remplacer votre propre nom d'hôte dans les exemples suivants. Saisissez les lignes suivantes dans la fenêtre de votre terminal SSH :

cd /usr/local/ispconfig/interface/ssl/
cp ispserver.csr pluto.example.com.csr
cp ispserver.key pluto.example.com.key
cp ispserver.crt openssl.pluto.example.com.crt
cp ispserver.crt pluto.example.com.crt
cat /dev/null> pluto.example.com.crt
chmod 750 *example. com*
chown ispconfig:ispconfig *example.com*
wget -O gd_bundle.crt "https://certs.godaddy.com/anonymous/repository.pki?streamfilename=gd_bundle.crt&actionMethod=anonymous% 2Frepository.xhtml%3Arepository.streamFile%28%27%27%29"
chmod 750 gd_bundle.crt
chown ispconfig:ispconfig gd_bundle.crt

Maintenant, plaçons le certificat signé GoDaddy sur le serveur en modifiant le fichier pluto.example.com.crt.Tapez la ligne suivante dans la fenêtre de votre terminal SSH :

vi pluton.example.com.crt

À l'aide d'un éditeur de texte, copiez l'intégralité du contenu de votre nouveau certificat GoDaddy signé que vous venez de télécharger depuis GoDaddy et extrait de l'archive zip. Collez le contenu dans le fichier pluto.example.com.crt dans la fenêtre de votre terminal SSH.

Créons maintenant le fichier de chaîne pem utilisé par certains services en procédant comme suit :

  1. Copiez le contenu de la clé, du certificat et des fichiers GoDaddy dans le fichier pem
  2. Modifier les autorisations de lecture/écriture/exécution sur le fichier pem

Saisissez les lignes suivantes dans la fenêtre de votre terminal SSH :

cat pluto.example.com.{key,crt} gd_bundle.crt> pluto.example.com.pem
chmod 600 pluto.example.com.pem

Maintenant, vous devriez avoir un ensemble complet de certificats à utiliser.Regardons et assurons-nous que les certificats sont tous en ordre.Tapez la ligne suivante dans la fenêtre de votre terminal SSH :

ls -la

Le résultat devrait ressembler à ceci :

[[email protected] ssl]# ls -la
total 48
drwxr-x--- 2 ispconfig ispconfig 4096 22 mai 22:50 .
drwxr-x--- 7 ispconfig ispconfig 4096 12 mai 21:20 ..
-rwxr-x--- 1 ispconfig ispconfig 3197 22 mai 22:47 gd_bundle.crt
-rwxr-x--- 1 ispconfig ispconfig 2061 12 mai 21 :20 ispserver.crt
-rwxr-x--- 1 ispconfig ispconfig 1720 12 mai 21:20 ispserver.csr
-rwxr-x--- 1 ispconfig ispconfig 3243 12 mai 21:20 ispserver. clé
-rwxr-x--- 1 ispconfig ispconfig 3311 12 mai 21:19 ispserver.key.secure
-rwxr-x--- 1 ispconfig ispconfig    0 22 mai 22:47 pluto.example. com.crt
-rwxr-x--- 1 ispconfig ispconfig 1720 22 mai 22:47 pluto.example.com.csr
-rwxr-x--- 1 ispconfig ispconfig 3243 22 mai 22:47 pluto.example.com.key
-rw------- 1 racine      racine      6440 22 mai 22:50 pluto.example.com.pem
-rwxr-x--- 1 ispconfig ispconfig 2061 22 mai 22:47 openssl.pluto.example.com.crt

Maintenant, configurons le panneau de configuration ISPConfig pour utiliser le certificat signé. Sachez que vous devez reconfigurer ces lignes chaque fois que vous mettez à jour ou installez ISPConfig ! Tapez la ligne suivante dans la fenêtre de votre terminal SSH :

vim /etc/httpd/conf/sites-available/ispconfig.vhost

Modifiez les 2 lignes avec les chemins vers la clé et les fichiers de certificat signés. Maintenant, ajoutez la ligne SSLCertificateChainFile /usr/local/ispconfig/interface/ssl/gd_bundle.crt à la section SSL Configuration. Elle devrait ressembler à ceci :

  # SSL Configuration
  SSLEngine On
  SSLCertificateFile /usr/local/ispconfig/interface/ssl/pluto.example.com.crt
  SSLCertificateKeyFile /usr/local/ispconfig/interface/ssl/pluto.example.com.key
  SSLCACertificateFile /usr/local/ispconfig/interface/ssl/gd_bundle.crt
		

Maintenant, redémarrons Apache.Tapez la ligne suivante dans votre fenêtre de terminal SSH :

/etc/init.d/httpd redémarrage

Maintenant, configurons Postfix pour utiliser le certificat signé en procédant comme suit :

  1. Définissez le chemin d'accès au fichier de certificat signé dans postfix à l'aide de la commande postconf
  2. Définissez le chemin d'accès au fichier de clé dans postfix à l'aide de la commande postconf
  3. Définissez le chemin d'accès au fichier gd_bundle dans postfix à l'aide de la commande postconf
  4. Redémarrer postfix

Sachez que vous devez reconfigurer ces lignes chaque fois que vous mettez à jour ou installez ISPConfig ! Tapez les lignes suivantes dans la fenêtre de votre terminal SSH :

postconf -e 'smtpd_tls_cert_file =/usr/local/ispconfig/interface/ssl/pluto.example.com.crt'
postconf -e 'smtpd_tls_key_file =/usr/local/ispconfig/interface/ssl/pluto.example. com.key'
postconf -e 'smtpd_tls_CAfile =/usr/local/ispconfig/interface/ssl/gd_bundle.crt'
/etc/init.d/postfix restart

Maintenant, configurons Dovecot pour utiliser le certificat signé. Sachez que vous devez reconfigurer ces lignes chaque fois que vous mettez à jour ou installez ISPConfig ! Tapez la ligne suivante dans la fenêtre de votre terminal SSH :

vim /etc/dovecot/dovecot.conf

Faites en sorte que la section SSL ressemble à ceci :

ssl_cert = </usr/local/ispconfig/interface/ssl/pluto.example.com.crt
ssl_key = </usr/local/ispconfig/interface/ssl/pluto.example.com.key
ssl_ca = </usr/local/ispconfig/interface/ssl/gd_bundle.crt
		

Ensuite, redémarrez Dovecot.Tapez la ligne suivante dans votre fenêtre de terminal SSH :

/etc/init.d/dovecot restart

Maintenant, configurons phpMyAdmin et Squirrelmail pour utiliser le certificat signé. Il est important de savoir que lorsqu'un client a son propre certificat SSL installé via ISPConfig, son propre certificat sera utilisé lorsqu'il accède à phpMyAdmin et Squirrelmail via son propre domaine. Si un client n'a pas de certificat en place, le certificat que nous sommes sur le point de configurer sera utilisé. Tapez la ligne suivante dans la fenêtre de votre terminal SSH :

vim /etc/httpd/conf.d/ssl.conf

Les 3 lignes suivantes doivent être modifiées pour ressembler à ce qui suit :

SSLCertificateFile /usr/local/ispconfig/interface/ssl/pluto.example.com.crt

SSLCertificateKeyFile /usr/local/ispconfig/interface/ssl/pluto.example.com.key

SSLCertificateChainFile /usr/local/ispconfig/interface/ssl/gd_bundle.crt
		

Maintenant, redémarrons Apache.Tapez la ligne suivante dans votre fenêtre de terminal SSH :

/etc/init.d/httpd redémarrage

Maintenant, configurons Pure-FTPD pour utiliser le certificat signé en procédant comme suit :

  1. Changez le répertoire en /etc/pki/pure-ftpd
  2. Renommer le fichier pem
  3. Créer un lien symbolique vers le fichier pem signé
  4. Redémarrer pure-ftpd

Saisissez les lignes suivantes dans la fenêtre de votre terminal SSH :

cd /etc/pki/pure-ftpd
mv pure-ftpd.pem openssl.pure-ftpd.pem
ln -s /usr/local/ispconfig/interface/ssl/pluto.example.com. pem pure-ftpd.pem
/etc/init.d/pure-ftpd restart

Nous utilisons maintenant le certificat signé GoDaddy pour ISPConfig et nos services. Puisque nous avons deux ensembles de certificats, nous pouvons facilement basculer entre l'utilisation du certificat auto-signé ou du certificat signé GoDaddy. Nous pouvons également créer un tout nouvel ensemble de fichiers pour notre certificat auto-signé sans affecter nos fichiers de certificats signés GoDaddy.


Panels
  1. Comment sécuriser vos services de messagerie Linux avec SSL/TLS

  2. Comment sécuriser un compte compatible cPanel avec un certificat SSL Lets Encrypt

  3. Comment sécuriser un compte compatible cPanel avec un certificat Sectigo SSL

  4. Comment sécuriser le nom d'hôte Plesk sur le port 8443 avec un certificat SSL

  5. Comment sécuriser les connexions avec des certificats SSL/TLS

Comment installer LetsEncrypt SSL avec Nginx sur CentOS 6

Comment sécuriser Apache avec le certificat SSL Let's Encrypt sur CentOS 8

Comment installer un certificat SSL sur les services WHM/cPanel ?

Comment configurer Mailman avec Debian et ISPConfig

Sécurisez Nginx avec le certificat SSL Let's Encrypt sur Ubuntu 18.04

Comment sécuriser Nginx avec le certificat SSL Let's Encrypt