11.12. Encodage SSL

11.12.1. 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 11.12.2, « 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 11.39. Configurer le JBoss Web Server pour qu'il puisse utiliser HTTPS

  1. 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 protocole https, la liaison de socket https (ayant comme valeur par défaut 8443), et qui est définie pour être sécurisée.

    Exemple 11.36. Commande de Management CLI

    /profile=default/subsystem=web/connector=HTTPS/:add(socket-binding=https,scheme=https,protocol=HTTP/1.1,secure=true)
    
  2. Éxécutez la commande de Management CLI suivante pour définir le protocole à TLSv1.

    Exemple 11.37. Commande de Management CLI

    /profile=default/subsystem=web/connector=HTTPS/ssl=configuration/:write-attribute(name=protocol,value=TLSv1)
    
  3. 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 la cipher-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 11.9. 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 11.10. 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 11.12.3, « Référence de connecteur SSL ».
  4. 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 est EAP_HOME/domain/configuration/ pour un domaine géré.

    Exemple 11.38. 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)
    
  5. 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.