CARL Source 6.2 Installation CARL Touch 6.2
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
TABLE DES MATIÈRES 1. Objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Gateway en mode standard : non sécurisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Gateway en mode sécurisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1. Architecture globale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1.1. Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1.2. Schéma global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.2. Obtention du certificat et de la clé privée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2.1. Cas général : Génération d’un certificat signé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2.1.1. Génération d’une clé privée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2.1.2. Création du fichier CSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2.1.3. Envoi du fichier à une autorité de certification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2.1.4. Fichier de certification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2.2. Génération d’un certificat auto-signé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.3. Décrypter la clé privée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.4. Conversion de la clé au format pkcs8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4. Configuration dans CARL Source Admin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5. Gestion des logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Installation CARL Touch 6.2 Avis de marques déposées Nous avons apporté tous nos efforts pour garantir l’exactitude des informations au moment de la publication de ce document. CARL Source étant en constante évolution, CARL Berger-Levrault ne peut être tenu responsable des éventuels manques ou erreurs de ce document. Si vous relevez une incohérence ou une erreur, merci de contacter le service support de CARL Berger-Levrault. Toute reproduction, en tout ou en partie, sous quelque forme que ce soit, est formellement interdite sans l’autorisation préalable de CARL Berger-Levrault. Toutes les marques et noms de produits mentionnés dans ce document sont les propriétés de leurs détenteurs respectifs telles que répertoriées ci-dessous : • Android™ et Google Chrome® sont des marques déposées de Google LLC • ArcGIS® est une marque déposée d’Environmental Systems Research Institute. • Elasticsearch® est une marque déposée d’Elasticsearch B.V. aux États-Unis et dans d’autres pays. • Firefox® est une marque déposée de Mozilla Foundation. • Java® et Oracle® sont des marques déposées d’Oracle Corporation. • PostgreSQL® est une marque déposée de The PostgreSQL Community Association of Canada. • Safari® est une marque d’Apple Inc., déposée aux États-Unis et dans d’autres pays. • SQL Server®, Microsoft Edge® et Windows® sont des marques déposées de Microsoft Corporation. • Tomcat® est une marque déposée de l’Apache Software Foundation aux États-Unis et dans d’autres pays. CARL INTERNATIONAL SA, au capital de 514 276 €, RCS LYON B 384 841 250 Siège social : 361 Allée des noisetiers, 69760 Limonest, France - © CARL Berger-Levrault 2021 E-mail : info@carl.eu – Web : www.carl-software.fr Version du document : 17-06-2021 08:31:34 - © CARL Berger-Levrault 2021 1 / 11
Installation CARL Touch 6.2 1. OBJET Ce document décrit les particularités liées au déploiement de l’add-on CARL Touch. L’option CARL Touch nécessite l’utilisation d’une Gateway permettant la communication bidirectionnelle entre CARL Source et les smartphones. Par défaut, les communications ne sont pas sécurisées mais lors de l’exploitation de l’option CARL Touch, il est possible de sécuriser la connexion entre les smartphones et le serveur CARL Source. 2 / 11 Version du document : 17-06-2021 08:31:34 - © CARL Berger-Levrault 2021
Installation CARL Touch 6.2 2. GATEWAY EN MODE STANDARD : NON SÉCURISÉ S’agissant du mode standard, il n’y a aucune action particulière à faire : passer directement au chapitre Configuration dans CARL Source Admin. Version du document : 17-06-2021 08:31:34 - © CARL Berger-Levrault 2021 3 / 11
Installation CARL Touch 6.2 3. GATEWAY EN MODE SÉCURISÉ 3.1. Architecture globale 3.1.1. Définition Un certificat SSL est un fichier de données qui lie une clé cryptographique aux informations d’une organisation ou d’un individu. Installé sur un serveur, le certificat active le cadenas et le protocole « https » (via le port 443) dans les navigateurs, afin d’assurer une connexion sécurisée entre le serveur web et le navigateur. La création d’un certificat SSL nécessite tout d’abord la génération d’une clé privée et d’un certificat (signé ou auto- signé), basé sur un fichier de configuration SSL nommé openssl.cnf permettant de saisir les informations liées aux certificats. L’outil openssl fourni par Apache® comporte un bug sous Windows® provoquant le message d’avertissement suivant à chaque exécution de la commande : WARNING: can’t open config file: /Httpd/conf/openssl.cnf Pour remédier à ce problème, il est nécessaire de créer une variable d’environnement OPENSSL_CONF pour indiquer le chemin d’accès au fichier « openssl.cnf » : 1. Se rendre dans les variables systèmes de Windows® 2. Créer une variable système OPENSSL_CONF 3. Positionner sa valeur avec le chemin d’accès au fichier « openssl.cnf » (exemple : C:\CARLappl\Httpd\conf\openssl.cnf) 1. Dans la suite du document, nous supposons que l’ensemble des commandes sont exécutées à partir d’une fenêtre de commande ouverte en tant qu’administrateur et positionnée dans le répertoire CARLappl\Httpd\bin du serveur hébergeant le frontal Apache®. 2. Par souci d’uniformité, l’ensemble des clés et des certificats seront stockés dans un répertoire spécifique CARLappl\Httpd\conf\cert 3.1.2. Schéma global 4 / 11 Version du document : 17-06-2021 08:31:34 - © CARL Berger-Levrault 2021
Installation CARL Touch 6.2 3.2. Obtention du certificat et de la clé privée 3.2.1. Cas général : Génération d’un certificat signé Pour obtenir un certificat SSL signé, il est nécessaire de générer une clé privée puis une demande de certificat signé (fichier csr : Certificate Signing Request). Cette demande devra ensuite être envoyée à un organisme compétent afin qu’il fournisse un certificat signé pour une durée déterminée. 3.2.1.1. Génération d’une clé privée Générer une clé privée en exécutant la commande suivante (adapter les valeurs en rouge à votre contexte) C:\CARLappl\Httpd\bin>openssl genrsa -des3 -out ..\conf\cert\encrypt-ssleay.key 2048 Loading 'screen' into random state - done Generating RSA private key, 2048 bit long modulus ......................+++ ................................................+++ e is 65537 (0x10001) Enter pass phrase for ..\conf\cert\encrypt-ssleay.key: Verifying - Enter pass phrase for ..\conf\cert\encrypt-ssleay.key: La commande -des3 entraine la demande d’un mot de passe qui doit être une phrase complexe. Une confirmation de la phrase est demandée pour vérification. La clé est ensuite présente dans le répertoire C:\CARLappl\Httpd\conf\cert\ Bien conserver la phrase saisie car elle sera redemandée par la suite. Version du document : 17-06-2021 08:31:34 - © CARL Berger-Levrault 2021 5 / 11
Installation CARL Touch 6.2 3.2.1.2. Création du fichier CSR Le fichier csr (Certificate Signing Request) peut ensuite être généré à l’aide de la clé privée. Ce fichier sera ensuite communiqué à l’organisme compétent qui fournira le certificat pour une durée déterminée. Générer la demande de certificat signé en exécutant la commande suivante (adapter les valeurs en rouge à votre contexte) C:\CARLappl\Httpd\bin>openssl req -new -x509 --key ..\conf\cert\encrypt-ssleay.key -out ..\conf\cert\sslCertificat.csr ----- Enter pass phrase for ..\conf\cert\encrypt-ssleay.key: Loading 'screen' into random state - done You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [FR]: State or Province Name (full name) [Rhones-Alpes]: Locality Name (eg, city) [Limonest]: Organization Name (eg, company) [software]: Organizational Unit Name (eg, section) [R&D]: Common Name (e.g. server FQDN or YOUR name) [host.carl-intl.fr]: Email Address []:hostmaster@carl.eu Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: Le fichier csr est ensuite présent dans le répertoire C:\CARLappl\Httpd\conf\cert\ ; il doit alors être transmis à un organisme compétent qui pourra générer le certificat signé. La valeur pour « Common Name » doit correspondre au nom réseau du serveur devant héberger la Gateway. Les 2 derniers paramètres (« A challenge password » et « An optional company named ») ne sont pas nécessaires. 3.2.1.3. Envoi du fichier à une autorité de certification Envoyer le fichier sslCertificat.csr à un organisme compétent afin qu’il fournisse un certificat signé pour une durée déterminée. Voici quelques organismes de certification : 1. Verisign 2. Thawte 3. CertiSign Certificadora Digital Ltda. 4. Uptime Commerce Ltd. 5. Global Sign Vous obtiendrez ainsi le certificat signé par la clé privée de l’organisme. À titre d’exemple, nous le nommerons : CA_Authority_Tiers.crt 3.2.1.4. Fichier de certification Les autorités de certification fournissent souvent en retour des certificats signés via des certificats intermédiaires, qui sont eux-mêmes signés par des certificats racines (c’est-à-dire connus des navigateurs). Dans ce cas il faut concaténer ces certificats dans un seul fichier. 6 / 11 Version du document : 17-06-2021 08:31:34 - © CARL Berger-Levrault 2021
Installation CARL Touch 6.2 Exemple : Concaténation de certificats en un seul fichier Si vous disposez d’un fichier « mondomaine.crt » et un fichier « thawte_ca_bundle.crt », il est nécessaire de les concaténer dans un éditeur de texte en plaçant votre certificat en premier puis le certificat intermédiaire : -----BEGIN CERTIFICATE----- MIIE4DCCA8igAwIBAgIRAJ3Vq4T/DEf81wKd8W+HswEwDQYJKoZIhvcNAQEFBQAw … aCnnzQ== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEozCCA4ugAwIBAgIQWrYdrB5NogYUx1U9Pamy3DANBgkqhkiG9w0BAQUFADCB … 8/ifBlIK3se2e4/hEfcEejX/arxbx1BJCHBvlEPNnsdw8dvQbdqP -----END CERTIFICATE----- Il faudra fournir ce fichier concaténé à la Gateway. Si la Gateway est hébergée sur un autre serveur que le frontal Apache®, il est nécessaire de copier le certificat sur ce serveur cible. 3.2.2. Génération d’un certificat auto-signé Un certificat auto-signé ne nécessite pas d’être certifié par un organisme de confiance (tel que Verisign par exemple). Il peut être utilisé pour effectuer des tests mais il n’est pas recommandé de l’utiliser dans un environnement de production. • Commande pour l’obtention d’un certificat auto-signé valide pendant 10 ans (adapter les valeurs en rouge à votre contexte) C:\CARLappl\Httpd\bin>openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout ..\conf\cert\decrypt- ssleay.key -out ..\conf\cert\myCertificate.crt Loading 'screen' into random state - done Generating a 2048 bit RSA private key ..................................................... ...... writing new private key to ' ..\conf\cert\decrypt-ssleay.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [FR]: State or Province Name (full name) [Rhone-Alpes]: Locality Name (eg, city) [Limonest]: Organization Name (eg, company) [Software]: Organizational Unit Name (eg, section) [R&D]: Common Name (e.g. server FQDN or YOUR name) [host.carl-intl.fr]: Email Address []:hostmaster@carl.eu La valeur pour « Common Name » doit correspondre au nom réseau du serveur devant héberger la Gateway. Cette commande crée une clé privée et le certificat auto-signé, tous les 2 stockés dans le répertoire C:\CARLappl\Httpd\conf\cert\. Clé privée : decrypt-ssleay.key Certificat auto-signé : myCertificate.crt La clé decrypt-ssleay.key est au format suivant : -----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEAsYEV39DpaztyMyO1V5enZ64wo5AQ -----END RSA PRIVATE KEY----- Version du document : 17-06-2021 08:31:34 - © CARL Berger-Levrault 2021 7 / 11
Installation CARL Touch 6.2 Il faudra fournir le certificat à la Gateway. Si la Gateway est hébergée sur un autre serveur que le frontal Apache®, il est nécessaire de copier le certificat sur ce serveur cible. 3.3. Décrypter la clé privée Lors de la génération de la clé, si celle-ci a été générée de façon cryptée, il est nécessaire de la décrypter pour qu’elle puisse être utilisée par la Gateway. Si la clé est cryptée, le début du fichier doit contenir des éléments similaires à : -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,B379DAFE896AC77F Pour la décrypter, exécuter la commande suivante : C:\CARLappl\Httpd\bin>openssl rsa -in ..\conf\cert\encrypt-ssleay.key -out ..\conf\cert\decrypt-ssleay.key Enter pass phrase for ..\conf\cert\encrypt-ssleay.key: writing RSA key La clé décryptée est ensuite présente dans le répertoire C:\CARLappl\Httpd\conf\cert\. 3.4. Conversion de la clé au format pkcs8 La Gateway autorise uniquement des clés au format PKCS#8. La génération des clés via openSSL sont au format dit « ssleay traditionnel » ; il est donc nécessaire de les convertir en exécutant la commande suivante : C:\CARLappl\Httpd\bin>openssl pkcs8 -topk8 -inform pem -in ..\conf\cert\decrypt-ssleay.key -outform pem -nocrypt -out ..\conf\cert\decrypt-pkcs8.key La clé au format PKCS#8 est ensuite présente dans le répertoire C:\CARLappl\Httpd\conf\cert\. La clé est au format PKCS#8 suivant (le terme RSA a disparu sur la 1ère ligne): -----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgE…… Il faut fournir le fichier decrypt-pkcs8.key à la Gateway. Si la Gateway est hébergée sur un autre serveur que le frontal Apache®, il est nécessaire de copier ce fichier sur le serveur cible. 8 / 11 Version du document : 17-06-2021 08:31:34 - © CARL Berger-Levrault 2021
Installation CARL Touch 6.2 4. CONFIGURATION DANS CARL SOURCE ADMIN Afin que CARL Source Admin puisse déployer la Gateway, vous devez déclarer l’élément WEBSOCKET_GATEWAY au niveau de l’infrastructure. La déclaration des éléments s’effectue dans la partie Infrastructure de CARL Source Admin. Avant de déclarer la Gateway, il est nécessaire que le HOST devant l’héberger soit également déclaré au niveau de l’infrastructure de CARL Source Admin. En fonction de votre contexte, reportez-vous aux documents suivants pour déclarer votre infrastructure : • Installation standard : Déclaration infrastructure et déploiement CS • Installation cluster : Déclaration infrastructure et déploiement CS - Cluster Depuis ROOT_EQUIPEMENT cliquer sur Actions puis Ajouter élément WEBSOCKET_GATEWAY. Indiquer les informations obligatoires concernant la Gateway Appliquez le prototype WEBSOCKGW-WIN-PROTO; les champs seront pré-remplis automatiquement avec des valeurs standards. • Cas d’une Gateway Non Sécurisée Paramètre Valeur par défaut Remarque Nom logique Saisie libre. Hébergé sur Sélection d’un HOST déclaré précédemment. Si non renseigné, le paramètre « Host de l’URL privée » devient obligatoire. Prototype WEBSOCKGW-WIN-PROTO Répertoire d’installation E:\CARLappl\websocgw Nom du service lié CARLWEBSOCKGW Port public 8687 Host de l’URL privée Obligatoire si le paramètre « Hébergé sur » n’est pas renseigné. Port de l’URL privée 9000 Niveau de log INFO Intervalle max entre 2 heartbeats 90 Ignorer le nom du host envoyé par le serveur Non Si positionné à « Oui », la Gateway utilisera l’adresse IP au lieu du nom du host. Administrable Oui Si le paramètre « Hébergé sur » n’est pas renseigné, la Gateway est obligatoirement « Non administrable ». • Cas d’une Gateway Sécurisée Paramètre Valeur par défaut Remarque Nom logique Saisie libre. Hébergé sur Sélection d’un HOST déclaré précédemment. Si non renseigné, le paramètre « Host de l’URL privée » devient obligatoire. Prototype WEBSOCKGW-WIN-PROTO Répertoire d’installation E:\CARLappl\websocgw Nom du service lié CARLWEBSOCKGW Port public 8687 Host de l’URL privée Version du document : 17-06-2021 08:31:34 - © CARL Berger-Levrault 2021 9 / 11
Installation CARL Touch 6.2 Paramètre Valeur par défaut Remarque Port de l’URL privée 9000 Port d’écoute sécurisé 8688 Fichier contenant la chaine de certificat au Emplacement du certificat à utiliser. format PEM Ex : C:\CARLappl\Httpd\conf\cert\myCertificate.c rt Fichier contenant la clé privée pour le Emplacement de la clé privée à utiliser. certificat au format PEM PKCS#8 Ex : C:\CARLappl\Httpd\conf\cert\decrypt- pkcs8.key Niveau de log INFO Intervalle max entre 2 heartbeats 90 Ignorer le nom du host envoyé par le serveur Non Si positionné à « Oui », la Gateway utilisera l’adresse IP au lieu du nom du host. Administrable Oui Si le paramètre « Hébergé sur » n’est pas renseigné, la Gateway est obligatoirement « Non administrable ». 10 / 11 Version du document : 17-06-2021 08:31:34 - © CARL Berger-Levrault 2021
Installation CARL Touch 6.2 5. GESTION DES LOGS La Gateway utilise désormais les librairies SLF4J + LogBack pour gérer ses traces. Ces librairies sont les mêmes que celles utilisées par CARL Source 6.2.0. Par défaut le fichier logback.xml embarqué dans le JAR produit des fichiers gateway[.%i].log dans le répertoire de lancement de l’application. Le nombre de fichiers est limité à 20 ; chaque fichier pouvant atteindre la taille de 1 Mo. Il est aussi possible de personnaliser le nom et l’emplacement du fichier log. Pour cela, il faut éditer le fichier logback.xml situé dans le répertoire d’installation de la Gateway afin de modifier la propriété File de l'appender « FILE ». %d %-5level %message%n gateway.log %d [%t] %-5p %c - %m%n 20 gateway.%i.log 1000KB Version du document : 17-06-2021 08:31:34 - © CARL Berger-Levrault 2021 11 / 11
Vous pouvez aussi lire