Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Problème

Solution

Introduction

Ce document décrit comment créer un certificat auto-signé qui peut être utilisé par CloudCenter avec plusieurs URL.

Conditions préalables

Conditions requises

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- Certificats

- Linux

Components Used

Les informations de ce document sont basées sur CentOS7.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Problème

Les certificats qui sont fournis en standard avec CloudCenter, ou qui peuvent être créés à l'aide de l'assistant de configuration de Cisco Call Manager (CCM), n'ont pas de SAN (Subject Alternative Name) que certains navigateurs, tels que Google Chrome, traitent comme une erreur et vous avertissent. Ceci peut être remplacé, mais sans SAN, un certificat ne peut être valide qu'à partir d'une URL spécifique.

Par exemple, si vous avez un certificat valide pour l'adresse IP 10.11.12.13, si vous avez un nom DNS (Domain Name System) de www.opencart.com, vous recevez une erreur de certificat car cette URL n'est pas la raison d'être du certificat (ceci est vrai même si www.opencart.com figure dans votre fichier d'hôtes comme celui qui appartient à 10.111.111.11.13.13.13.13.1.1.1.13.1.13.1.1.1.1.1.1.1.1.13.1.1.1.1.1.1.1.1.1.1.1.1.1.1.13 2.13). Cela peut se produire si les sous-locataires de CloudCenter utilisent l'authentification unique (SSO), car chaque serveur SSO a sa propre URL.

Solution

Le moyen le plus simple de résoudre ce problème est de créer un nouveau certificat auto-signé qui comporte des SAN qui répertorie toute URL qui vous dirige vers la même adresse IP. Ce guide vise à appliquer les meilleures pratiques à ce processus.

Étape 1. Accédez au répertoire racine et créez un nouveau dossier pour héberger les certificats :

sudo -s

cd /root

mkdir ca

Étape 2. Accédez au nouveau dossier et créez des sous-dossiers pour organiser les certificats, les clés privées et les journaux.

cd ca

mkdir certs crl newcerts private

chmod 700 private

touch index.txt

echo 1000 > serial

Étape 3. Copiez le contenu de CAopenssl.conf sur /root/ca/openssl.cnf

Note: Ce fichier contient les options de configuration d'une autorité de certification (CA) et les options par défaut qui peuvent être appropriées pour CloudCenter.

Étape 4. Générez une clé privée et un certificat pour l'autorité de certification.

openssl genrsa -aes256 -out private/ca.key.pem 4096

chmod 400 private/ca.key.pem

openssl req -config openssl.cnf -key private/ca.key.pem -new -x509 -days 7300 -sha256 -extensions v3_ca -out certs/ca.cert.pem

chmod 444 certs/ca.cert.pem

Étape 5. Votre AC est le meilleur moyen de vérifier que tout certificat est valide, ce certificat ne doit jamais être consulté par des personnes non autorisées et ne doit jamais être exposé à Internet. En raison de cette restriction, vous devez créer une autorité de certification intermédiaire qui signe le certificat final, ce qui crée une interruption où si le certificat d'autorité intermédiaire est compromis, il peut être révoqué et un nouveau certificat émis.

Étape 6. Créez un nouveau sous-répertoire pour l'autorité de certification intermédiaire.

mkdir /root/ca/intermediate

cd /root/ca/intermediate/

mkdir certs crl csr newcerts private

chmod 700 private

touch index.txt

echo 1000 > serial

echo 1000 > /root/ca/intermediate/crlnumber

Étape 7. Copiez le contenu de Intermediateopenssl.conf sur /root/ca/intermediate/openssl.cnf .

Note: Ce fichier contient des options de configuration presque identiques pour l'autorité de certification, autres que quelques petits ajustements pour le rendre spécifique à un intermédiaire.

Étape 8. Générez la clé et le certificat intermédiaires.

cd /root/ca

openssl genrsa -aes256 -out intermediate/private/intermediate.key.pem 4096

chmod 400 intermediate/private/intermediate.key.pem

openssl req -config intermediate/openssl.cnf -new -sha256 -key intermediate/private/intermediate.key.pem -out intermediate/csr/intermediate.csr.pem

Étape 9. Signez le certificat intermédiaire avec le certificat de l'autorité de certification, ce qui crée une chaîne de confiance que le navigateur utilise pour vérifier l'authenticité d'un certificat.

openssl ca -config openssl.cnf -extensions v3_intermediate_ca -days 3650 -notext -md sha256 -in intermediate/csr/intermediate.csr.pem -out intermediate/certs/intermediate.cert.pem

chmod 444 intermediate/certs/intermediate.cert.pem

Étape 10. Créez une chaîne CA, puisque vous ne voulez pas que l'Autorité de certification se trouve sur Internet, vous pouvez créer une chaîne CA que les navigateurs utilisent pour vérifier l'authenticité jusqu'à l'Autorité de certification.

cat intermediate/certs/intermediate.cert.pem certs/ca.cert.pem > intermediate/certs/ca-chain.cert.pem

chmod 444 intermediate/certs/ca-chain.cert.pem

Étape 11. Créez une clé et un certificat pour le CCM.

openssl genrsa -out intermediate/private/ccm.com.key.pem 2048

openssl req -new -sha256 -key intermediate/private/ccm.com.key.pem -subj "/C=US/ST=NC/O=Cisco/CN=ccm.com" -reqexts SAN -config <(cat intermediate/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:ccm.com,DNS:www.ccm.com,IP:10.11.12.13")) -out intermediate/csr/ccm.com.csr

Étape 12. Cette commande comporte tous les champs obligatoires et doit être modifiée manuellement.

- /C=États-Unis fait référence au pays (limite de 2 caractères)

- /ST=NC fait référence à l'état et peut inclure des espaces

- /O=Cisco fait référence à l'organisation

- /CN=ccm.com fait référence au nom commun. Il doit s'agir de l'URL principale utilisée pour accéder à CCM.

- SAN\nsubjectAltName= sont les noms alternatifs, le nom commun doit figurer dans cette liste et il n'y a aucune limite au nombre de SAN que vous avez.

Étape 13. Signez le certificat final à l'aide du certificat intermédiaire.

openssl ca -config intermediate/openssl.cnf -extensions server_cert -days 375 -notext -md sha256 -in intermediate/csr/ccm.com.csr -out intermediate/certs/ccm.com.cert.pem

Étape 14. Vérifiez que le certificat a été signé correctement.

openssl verify -CAfile intermediate/certs/ca-chain.cert.pem intermediate/certs/ccm.com.cert.pem

Étape 15. Il peut retourner un OK ou un Échec.

Étape 16. Copiez le nouveau certificat, sa clé et la chaîne CA dans le dossier Catalina.

cd /root/ca/intermediate/certs

cp ccm.com.cert.pem /usr/local/tomcat/conf/ssl/ccm.com.crt

cp ca-chain.cert.pem /usr/local/tomcat/conf/ssl/ca-chain.crt

cd ../private

cp ccm.com.key.pem /usr/local/tomcat/conf/ssl/ccm.com.key

Étape 17. Accorder la propriété cliqruser et définir les autorisations correctement.

chown cliqruser:cliqruser ccm.com.crt

chown cliqruser:cliqruser ccm.com.key

chown cliqruser:cliqruser ca-chain.crt

chmod 644 ccm.com.crt

chmod 644 ccm.com.key

chmod 644 ca-chain.crt

Étape 18. Sauvegardez le fichier server.xml avant d'apporter des modifications.

cd ..

cp server.xml server.xml.bak

Étape 19. Modifier server.xml :

1. Recherchez la section qui commence par <Connector port=« 10443 » maxHttpHeaderSize=« 8192 »

2. Modifiez SSLCertificateFile pour pointer sur ccm.com.crt

3. Modifiez SSLCertificateKeyFile pour pointer sur ccm.com.key

4. Modifiez SSLCACertificateFile pour pointer sur ca-chain.crt

Étape 20. Redémarrez Tomcat.

service tomcat stop

service tomcat start

Étape 21. Le CCM utilise maintenant le nouveau certificat qui est valide pour tous les noms DNS et adresses IP spécifiés à l'étape 13.

Étape 22. Comme l'autorité de certification a été créée au moment de la création du guide, vos navigateurs ne la reconnaîtront pas comme valide par défaut, vous devez importer manuellement le certificat.

Étape 23. Accédez à CCM à l'aide d'une URL valide et appuyez sur Ctrl+Maj+i, ce qui ouvre les outils de développement.

Étape 24. Sélectionnez Afficher le certificat comme indiqué dans l'image.

Étape 25. Sélectionnez Détails comme indiqué dans l'image.

Étape 26. Sélectionnez Copier dans le fichier comme indiqué dans l'image.

Étape 27. Si vous recevez des erreurs à propos d'une autorité de certification non approuvée, accédez au chemin de certification pour afficher le certificat intermédiaire et racine. Vous pouvez cliquer dessus et voir leur certificat et aussi les copier dans des fichiers comme indiqué dans l'image.

Étape 28. Une fois les certificats téléchargés, suivez les instructions de votre système d'exploitation (OS) ou de votre navigateur pour installer ces certificats en tant qu'autorité de confiance et autorités intermédiaires.