SSL Configuration
Activer SSL
SSL peut être activé en modifiant le fichier cycle_server.properties trouvé dans le répertoire d’installation cycleCloud. Ouvrez le fichier
# True if SSL is enabled
webServerEnableHttps=true
webServerRedirectHttp=true
Important
Notez que lors de la modification du fichier
Le port SSL par défaut pour CycleCloud est le port 8443. Si vous souhaitez exécuter des communications web chiffrées sur un autre port, vous pouvez remplacer la propriété webServerSslPort
par la nouvelle valeur de port. Assurez-vous que les valeurs webServerSslPort
et webServerPort
ne soient pas en conflit.
Après avoir modifié votre fichier
/opt/cycle_server/cycle_server restart
En supposant que vous n’avez pas modifié le port SSL pour CycleCloud lors de sa configuration pour les communications chiffrées, vous pouvez maintenant accéder à http://<my CycleCloud address>:8443/
pour vérifier la connexion SSL.
Note
Si l’URL HTTPS ne fonctionne pas, vérifiez les <CycleCloud Home>/logs/catalina.err et <CycleCloud Home>/logs/cycle_server.log pour les messages d’erreur susceptibles d’indiquer pourquoi le canal chiffré ne répond pas.
certificats Self-Generated
Si vous n’avez pas de certificat d’une autorité de certification telle que VeriSign, vous pouvez utiliser le certificat auto-signé généré automatiquement fourni avec Azure CycleCloud. Il s’agit d’un moyen rapide de commencer à utiliser SSL sans coût, mais la plupart des navigateurs web affichent un avertissement indiquant qu’une autorité approuvée n’a pas vérifié le certificat utilisé pour chiffrer le canal. Dans certains cas, comme les déploiements CycleCloud internes sur des réseaux sécurisés, cela est acceptable. Les utilisateurs devront ajouter une exception à leur navigateur pour afficher le site, mais le contenu et la session seront autrement chiffrés comme prévu.
Avertissement
Le certificat auto-signé Azure CycleCloud a une durée de conservation réduite. Lorsqu’il expire, les navigateurs émettent à nouveau l’avertissement concernant les certificats SSL non approuvés. Les utilisateurs devront les accepter explicitement pour afficher la console web.
Utilisation de Let’s Encrypt
CycleCloud prend en charge les certificats de Let’s Encrypt. Pour utiliser Let’s Encrypt avec CycleCloud, vous devez :
- activer SSL sur le port 443
- vérifier que CycleCloud est accessible publiquement sur le port 443 avec un nom de domaine externe
Vous pouvez activer la prise en charge de Let’s Encrypt avec l’option « SSL » sur la page des paramètres ou en exécutant cycle_server keystore automatic DOMAIN_NAME
à partir de l’ordinateur CycleCloud.
Utilisation de certificats CA-Generated
L’utilisation d’un certificat généré par l’autorité de certification autorise l’accès web à votre installation CycleCloud sans afficher l’erreur de certificat approuvé. Pour démarrer le processus, commencez par exécuter :
./cycle_server keystore create_request <FQDN>
Vous serez invité à fournir un nom de domaine, qui est le champ « Nom commun » sur le certificat signé. Cela génère un nouveau certificat auto-signé pour le domaine spécifié et écrit un fichier cycle_server.csr. Vous devez fournir la demande de signature de certificat à une autorité de certification, et celle-ci vous fournira le certificat signé final (qui sera appelé server.crt ci-dessous). Vous aurez également besoin des certificats racines et de tous les certificats intermédiaires utilisés dans la chaîne entre votre nouveau certificat et le certificat racine. L’autorité de certification doit fournir ces informations pour vous. S’ils les ont fournis groupés en tant que fichier de certificat unique, vous pouvez les importer avec la commande suivante :
./cycle_server keystore import server.crt
S’ils ont fourni plusieurs fichiers de certificat, vous devez les importer à la fois en ajoutant les noms à cette même commande, séparés par des espaces :
./cycle_server keystore import server.crt ca_cert_chain.crt
Importer des certificats existants
Si vous avez déjà créé une autorité de certification ou un certificat auto-signé, vous pouvez mettre à jour CycleCloud pour l’utiliser avec la commande suivante :
./cycle_server keystore update server.crt
Si vous souhaitez importer un fichier PFX, vous pouvez le faire avec la commande suivante dans CycleCloud 7.9.7 ou version ultérieure :
./cycle_server keystore import_pfx server.pfx --pass PASSWORD
Notez que le fichier PFX ne peut contenir qu’une seule entrée.
Enfin, si vous apportez des modifications au magasin de clés en dehors de ces commandes, vous pouvez recharger immédiatement le magasin de clés dans CycleCloud 7.9.7 ou version ultérieure :
./cycle_server keystore reconfig
Détails de l’implémentation du magasin de clés
Les certificats pour CycleCloud sont stockés dans /opt/cycle_server/config/private/keystore
, en plus d’autres certificats nécessaires pour l’opération. Voici une liste non exhaustive des éléments stockés dans le magasin de clés :
Alias | Objectif |
---|---|
identité | Contient la chaîne de certificats pour l’interface web côté utilisateur (port 443 ou 8443) |
identité de cluster | Contient la chaîne de certificats pour que les nœuds se connectent à CycleCloud (port 9443) |
racine | Contient le certificat utilisé pour signer tous les certificats locaux, y compris l’identité de cluster |
Le magasin de clés peut être inspecté avec le fichier de magasin de clés de Java. Par exemple, la commande suivante répertorie tous les éléments du magasin de clés :
keytool -list -keystore /opt/cycle_server/config/private/keystore -storepass changeit
Les commandes cycle_server
ci-dessus mettent à jour l’alias identity
. La mise à jour d’autres entrées, y compris les certificats cluster-identity
ou root
, n’est PAS prise en charge.
Le magasin de clés peut être modifié directement, mais cela n’est pas recommandé. En général, les modifications nécessitent un redémarrage de CycleServer pour prendre effet.
Avertissement
La modification du contenu du magasin de clés peut entraîner l’échec du fonctionnement des clusters ! Effectuez toujours une sauvegarde avant de la modifier.
Le mot de passe du magasin de clés est changeit
et il ne peut pas être modifié pour l’instant. Toutefois, le fichier est lisible et accessible en écriture uniquement par l’utilisateur cycle_server
.
Compatibilité descendante pour TLS 1.0 et 1.1
Par défaut, CycleServer est configuré pour utiliser uniquement le protocole TLS 1.2. Si vous devez proposer des protocoles TLS 1.0 ou 1.1 pour les clients web plus anciens, vous pouvez opter pour la compatibilité descendante.
Ouvrez cycle_server.properties avec un éditeur de texte et recherchez l’attribut sslEnabledProtocols
:
sslEnabledProtocols="TLSv1.2"
Remplacez l’attribut par une +
liste délimitée de protocoles que vous souhaitez prendre en charge.
sslEnabledProtocols="TLSv1.0+TLSv1.1+TLSv1.2"
Désactivation des communications non chiffrées
La configuration ci-dessus permet d’établir des connexions non chiffrées (HTTP), mais elles sont redirigées vers HTTPS pour la sécurité.
Vous pouvez empêcher l’accès non chiffré à votre installation de CycleCloud. Pour désactiver les communications non chiffrées, ouvrez votre fichier.properties webServerEnableHttp
et remplacez-la par :
# HTTP
webServerEnableHttp=false
Enregistrez les modifications et redémarrez CycleCloud. L’accès HTTP à CycleCloud est désactivé.