Partager via


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 cycle_server.properties avec un éditeur de texte et définissez les valeurs suivantes de manière appropriée :

# True if SSL is enabled
webServerEnableHttps=true
webServerRedirectHttp=true

Important

Notez que lors de la modification du fichier cycle_server.properties, il est important que vous recherchiez d’abord des définitions de valeur de clé préexistantes dans le fichier. S’il existe plusieurs définitions, la dernière est en vigueur.

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 webServerPortne soient pas en conflit.

Après avoir modifié votre fichier cycle_server.properties, vous devez redémarrer CycleCloud pour que le canal de communication chiffré soit activé :

/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 cycle_server dans un éditeur de texte. Recherchez la propriété webServerEnableHttp et remplacez-la par :

# HTTP
webServerEnableHttp=false

Enregistrez les modifications et redémarrez CycleCloud. L’accès HTTP à CycleCloud est désactivé.