A propos de SSL et des composants Build Forge

Les composants Build Forge sont configurés par défaut pour utiliser certains ports et paramètres de sécurité lorsque SSL est activé.

Configuration SSL par défaut

L'activation de SSL est relativement simple lorsque vous utilisez les certificats par défaut. Les procédures de cette section sont basées sur ce scénario.

Toutefois, il est généralement déconseillé d'utiliser le même certificat (clé privée) sur chaque système. Si la clé privée sur un système est compromise, l'infrastructure entière risque de l'être. Ces risques peuvent être réduits en appliquant la sécurité physique.

Un système plus sécurisé utilise un certificat pour chaque processus. Dans Build Forge, cela signifie que vous effectuez les tâches suivantes :

  • Créez un certificat pour chaque agent.
  • Créez un certificat pour chaque moteur. Il s'applique lorsque la redondance est configurée. Voir Configuration de la redondance.
Cette configuration requiert une gestion supplémentaire des certificats. Vous avez les choix suivants :

Les sections suivantes identifient les interfaces du système Build Forge dans lesquelles la sécurité SSL est appliquée.

Interfaces client

Les utilisateurs accèdent au système Build Forge via des interfaces client.

Client Web vers Build Forge
Les clients Web accèdent à Build Forge via son serveur Web Apache. Lorsque SSL est activé et qu'un navigateur Web activé pour la sécurité est utilisé, les interfaces suivantes sont utilisées.
  • Port 443 du serveur Web Apache
    Les clients Web accèdent à Build Forge via son adresse URL. Lorsque SSL est activé, l'adresse URL est la suivante :
    https://hôte/
    L'hôte est l'hôte sur lequel Build Forge est exécuté. Si vous configurez un port différent de 443 pour l'accès sécurisé à Apache, les utilisateurs doivent également spécifier le port :
    https://hôte :port/

    Les clients Web sont redirigés vers un servlet d'authentification exécuté sur le serveur Apache Tomcat.

  • Port 8443 du serveur d'applications Apache Tomcat

    Un servlet d'authentification accepte les données d'identification de connexion et authentifie l'utilisateur. Il chiffre les données d'identification pour qu'elles n'apparaissent jamais en texte en clair sur la connexion.

La configuration du port d'écoute utilisé par le servlet Apache Tomcat est gérée via un fichier de configuration. Ce fichier se trouve dans <rép-install-bf>/Apache/tomcat/conf/server.xml. Recherchez la configuration de connecteur suivante.
<Connector port="8443" maxHttpHeaderSize="8192" algorithm="IbmX509" 
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" disableUploadTimeout="true"
    acceptCount="100" scheme="https" secure="true"
    clientAuth="false" sslProtocol="SSL_TLS" 
    keystoreFile="C:\BuildForge71.536\keystore\buildForgeKeyStore.p12"
    keystorePass="password" 
    keystoreType="PKCS12" 
    truststoreFile="C:\BuildForge71.536\keystore\buildForgeTrustStore.p12" 
    truststorePass="password" 
    truststoreType="PKCS12"/>
Client du programme API vers Build Forge
  • Port 49150 du serveur d'applications Apache Tomcat

    Les clients API accèdent à Build Forge via son composant de couche de services, une application exécutée sur le serveur d'applications Apache Tomcat. Ces clients doivent avoir un fichier bfclient.conf valide.

    Le composant couche de services utilise une configuration SSL pour les communications entrantes. Elle est définie sur la console Build Forge dans Administration > Sécurité > SSL. La valeur par défaut utilisée est Couche Secure Sock JSSE entrante par défaut.

Interfaces internes

Build Forge est constitué d'un composant d'interface Web (serveur Web Apache et PHP), d'un composant de couche de services et d'un composant moteur. Les composants interface Web et moteur sont des clients du composant de couche de services. Les clients du programme d'API sont également des clients de ce composant.

Couche de services entrante

Port 49150 du serveur d'applications Apache Tomcat

Le composant couche de services utilise une configuration SSL pour les communications entrantes. Elle est définie sur la console Build Forge dans Administration > Sécurité > SSL. La valeur par défaut utilisée est Couche Secure Sock JSSE entrante par défaut.

Client de couche de service sortant

Port 49150 du serveur d'applications Apache Tomcat

Le composant interface Web (via PHP) et le composant moteur utilisent tous les deux une configuration SSL dédiée pour les communications sortantes vers le composant couche de services. Elle est définie sur la console Build Forge dans Administration > Sécurité > SSL. La valeur par défaut utilisée est Couche Secure Sock JSSE sortante par défaut.

Les propriétés SSL de la configuration sortante du client et de la configuration entrante de la couche de services doivent être compatibles pour établir une liaison SSL correcte. Dans Administration > Sécurité > SSL, les propriétés Type et Protocole d'établissement de liaison doivent correspondre.

Chaque configuration SSL a des configurations de fichier de clés de référence :

Les configurations sont indiquées par nom. Vous les définissez dans Administration > Sécurité > SSL. Plusieurs valeurs par défaut sont fournies.

Interfaces externes

Les interfaces externes sont celles utilisées par Build Forge pour communiquer avec les systèmes externes.
  • Le moteur Build Forge communique avec les agents.
  • Le composant couche de services de Build Forge communique avec la base de données.
Communication du moteur Build Forge vers les agents
L'activation de SSL pour cette interface requiert les éléments suivants :
  • La configuration de l'agent. Elle nécessite une modification dans le fichier de configuration de l'agent, ainsi que le placement de certificats sur l'hôte de l'agent.
  • Activation des communications SSL pour chaque ressource Serveur qui utilise l'agent. Cette opération est effectuée sur la console dans le panneau Serveurs.

Voir Activation de SSL pour les communications agent.

Communications du composant couche de services de Build Forge vers la base de données
La configuration SSL pour cette interface est définie dans le pilote de périphérique de votre base de données.

Feedback