4.6. Implémentation du cryptage SSL pour le serveur de JBoss EAP 6.
Introduction
De nombreuses applications web requièrent une connexion cryptée-SSL entre les clients et le serveur, connue sous le nom de connexion HTTPS
. Vous pouvez utiliser cette procédure pour activer HTTPS
sur votre serveur ou groupe de serveurs.
Pré-requis
- Un ensemble de clés de cryptage SSL et un certificat de cryptage SSL. Vous pourrez vous les procurer par l'intermédiaire d'une autorité de signature de certificats. Pour générer les clés de cryptage par les utilitaires de Red Hat Enterprise Linux, voir Section 4.7, « Générer une clé de cryptage SSL et un certificat ».
- Informations utiles sur votre environnement et sur votre installation :
- Le nom complet du répertoire où les fichiers de certificats sont stockés.
- Le mot de passe de cryptage pour vos clés de cryptage.
- Exécuter l'interface CLI et le connecter à votre contrôleur de domaine ou à votre serveur autonome.
Note
Cette procédure utilise des commandes appropriées à la configuration de JBoss EAP 6, qui utilise un domaine géré. Si vous utilisez un domaine autonome, modifier les commandes de Management CLI en supprimant
/profile=default
du début d'une commande de Management CLI.
Procédure 4.3. Configurer le JBoss Web Server pour qu'il puisse utiliser HTTPS
Ajoutez un nouveau connecteur HTTPS.
Exécutez la commande de Management CLI suivante, en changeant le profil comme il se doit. Cela va créer un nouveau connecteur sécurisé, nomméHTTPS
, qui utilise le protocolehttps
, la liaison de sockethttps
(ayant comme valeur par défaut8443
), et qui est définie pour être sécurisée.Exemple 4.5. Commande de Management CLI
/profile=default/subsystem=web/connector=HTTPS/:add(socket-binding=https,scheme=https,protocol=HTTP/1.1,secure=true)
- Éxécutez la commande de Management CLI suivante pour définir le protocole à
TLSv1
.Exemple 4.6. Commande de Management CLI
/profile=default/subsystem=web/connector=HTTPS/ssl=configuration/:write-attribute(name=protocol,value=TLSv1)
Sélectionnez les suites de cryptage qui conviennent
Il existe un certain nombre de primitives cryptographiques disponibles, utilisées comme blocs de base pour former des suites de chiffrement. Le premier tableau répertorie les primitives cryptographiques recommandées. Le deuxième énumère les primitives cryptographiques qui, bien qu'elles puissent être utilisées pour assurer la compatibilité avec les logiciels existants, ne sont pas considérées comme aussi sûres que celles qui sont recommandées.Avertissement
Red Hat recommande de faire une liste blanche sélective d'un ensemble d'algorithmes de chiffrage puissants à utiliser pour lacipher-suite
. L'activation de systèmes de chiffrage faibles est un risque important de sécurité. Consultez la documentation du fournisseur de votre JDK avant de statuer sur les suites de chiffrement particulières à utiliser, car il peut y avoir des problèmes de compatibilité.Tableau 4.2. Primitives cryptographiques recommandées
RSA avec clés 2048 bit et OAEP AES-128 en mode CBC SHA-256 HMAC-SHA-256 HMAC-SHA-1 Tableau 4.3. Autres primitives cryptographiques
RSA avec des clés qui dépassent 1024 et taille de remplissage héritée AES-192 AES-256 3DES (triple DES, avec deux ou trois clés de 56 bit) RC4 (fortement déconseillé) SHA-1 HMAC-MD5 Pour obtenir une liste complète des paramètres que vous pouvez définir pour les propriétés SSL du connecteur, voir Section 4.8, « Référence de connecteur SSL ».Configurer le certificat de cryptage SSL et les clés.
Exécutez la commande CLI suivante pour configurer votre certificat SSL, en remplaçant vos propres valeurs par celles de l'exemple. Cet exemple suppose que le keystore est copié dans le répertoire de configuration du serveur, qui estEAP_HOME/domain/configuration/
pour un domaine géré.Exemple 4.7. Commande de Management CLI
/profile=default/subsystem=web/connector=HTTPS/ssl=configuration:add(name=https,certificate-key-file="${jboss.server.config.dir}/keystore.jks",password=SECRET, key-alias=KEY_ALIAS, cipher-suite=CIPHERS)
Déployer une application.
Déployez une application dans un groupe de serveurs qui utilise le profil que vous avez configuré. Si vous utilisez un serveur autonome, déployer une application sur votre serveur. Les demandes HTTPS en sa direction utilisent la nouvelle connexion cryptée-SSL.