Configuration
HTTPS
Principe
HTTPS (avec S pour secured, soit « sécurisé ») est la simple combinaison de HTTP avec SSL.
Il permet au visiteur de vérifier l'identité du site auquel il accède grâce à un certificat d'authentification.
Il garantit la confidentialité et l'intégrité des données envoyées par l'utilisateur (notamment des informations entrées dans les formulaires) et reçues du serveur.
L'authentification est réalisée par l'utilisation d'un certificat numérique X.509 délivré par une autorité de certification.
Le chiffrement est réalisé par un chiffrement asymétrique, comme par exemple l'algorithme RSA.
Autorité de certification (CA)
En cryptographie, l'autorité de certification (AC ou CA) a pour mission, après vérification de l'identité du demandeur du certificat par une autorité d'enregistrement, de signer, émettre et maintenir les certificats.
- Verisign
- Thawte
- Global Sign
- ...
Clé privée RSA (server.key)
Un fichier de clé privée RSA est un fichier numérique que vous pouvez utiliser pour déchiffrer des messages que l'on vous a envoyés.
Il a son pendant à caractère public que vous pouvez distribuer (par le biais de votre certificat), ce qui permet aux utilisateurs de chiffrer les messages qu'ils vous envoient.
Demande de Signature de Certificat (CSR)
Une Demande de Signature de Certificat (CSR) est un fichier numérique qui contient votre clé publique et votre nom.
La CSR doit être envoyée à une Autorité de Certification (CA), qui va la convertir en vrai certificat en la signant.
Certificat (server.crt)
Un certificat contient votre clé publique RSA, votre nom, le nom de la CA, et est signé numériquement par cette dernière.
Les navigateurs qui reconnaissent la CA peuvent vérifier la signature du certificat, et ainsi en extraire votre clé publique RSA.
Ceci leur permet de vous envoyer des messages chiffrés que vous seul pourrez déchiffrer.
Obtention d'un certificat
L'Autorité de certification commerciale vous demandent en général d'envoyer la CSR par l'intermédiaire d'un formulaire web, de régler le montant de la signature, puis vous envoient un certificat signé que vous pouvez enregistrer dans un fichier server.crt.
Configuration du serveur Apache
Le fichier de configuration du protocole SSL du serveur Apache est généré lors de l'installation du serveur X3WEB.
- Path : WebTools\SOFTS\HTTPD\conf\extra\httpd-ssl.conf
- WebTools est le répertoire 'Tools' défini lors de l'installation du serveur X3WEB
# Server Certificate:
SSLCertificateFile "C:/SAGE/WebREFJULIET/WebTools/SOFTS/HTTPD/conf/server.crt"
# Server Private Key:
SSLCertificateKeyFile "C:/SAGE/WebREFJULIET/WebTools/SOFTS/HTTPD/conf/server.key"
Les emplacements des fichiers certificat (.crt) et clé privée (.key) sont les suivants:
- WebTools\SOFTS\HTTPD\conf\server.crt
- WebTools\SOFTS\HTTPD\conf\server.key
Les fichiers server.crt et server.key livrés par défaut sont des fichiers de test livrés par la fondation Apache.
Le fichier server.crt n'est pas certifié par une autorité de certification et n'est donc pas reconnu (validé) par les navigateurs.
Pour configurer correctement le protocole SSL il faut générer un fichier clé privée server.key et effectuer une demande de certificat (server.crt) auprès d'une autorité de certification puis remplacer les fichiers existant en conservant le même nom.
Lorsqu'on patch un serveur X3WEB il faut sauvegarder les fichiers server.crt et server.key et les recopier après installation du patch.
Création d'un certificat de test Verisign
L'autorité de certification Verign (http://www.verisign.fr) propose un certificat SSL d'essai gratuit d'une durée limitée.
Nous indiquons à titre d'illustration la méthode à suivre pour :
- créer la clé privée et la demande de signature de certificat (CSR) avec la boite à outils OpenSSL
- obtenir le certificat de test auprès de Verisign.
Ce document complète les instructions fournies par Verisign.
http://www.verisign.fr/support/ssl-certificate-support/page_fr_fr_dev019500.html
Étape 1 - Installer OpenSSL
L’utilitaire « openssl » (http://www.openssl.org) sert à générer la clé et la demande de signature de certificat (CSR).
Télécharger OpenSSL (sous windows).
http://www.openssl.org/related/binaries.html
1. Installer 'Visual C++ 2008 Redistributables'
2. Installer 'Win32 OpenSSL v0.9.8j Light' ou 'Win64 OpenSSL v0.9.8j Light'
3. Utiliser la commande \OpenSSL\Bin\openssl.exe
Étape 2 - Générer une clé privée
openssl genrsa -des3 1024 > verisign.key
Documentation genrsa.
http://www.openssl.org//docs/apps/genrsa.html
Étape 3 - Générer une requête de signature de certificat
openssl req -new -key verisign.key verisign.csr
Documentation req.
http://www.openssl.org//docs/apps/req.html
1. Saisir le mot de passe de la clé privé
2. Saisir les informations sur le certificat
Saisir le Nom de Domaine Pleinement Qualifié ("Fully Qualified Domain Name" ou FQDN) de votre serveur lorsque OpenSSL vous demande le Common Name (eg, YOUR name).
Si vous générez une CSR pour un site web auquel on accèdera par l'URL https://www.mysite.com/, le FQDN sera www.mysite.com
Généralement on achète un certificat par Nom de Domaine Pleinement Qualifié.
Pour générer un certificat auto-signé
Ce certificat n'a pas besoin d'être signé par une autorité de certification mais n'est pas reconnu par le navigaeteur. Utiliser la commande suivante :
openssl req -x509 -key verisign.key -in verisign.csr > verisign.crt
Étape 4 - Demande de certificat
Ouvrir l'URL http://www.verisign.fr/ssl/index.html et cliquer sur 'Essai gratuit'.
1. Remplir le formulaire de demande
2. Remplir le formulaire du contact technique
3. Remplir le formulaire du certificat
- Sélectionner 'Serveur Apache'
- Ouvrir le fichier CSR verisign.csr avec un éditeur de texte et copier le contenu
- Coller le contenu texte dans la zone de saisie
- Sélectionner l'utilisation Serveur WEB et valider
- Saisir le mot de passe du certificat et valider
5. Le certificat est envoyé par email
6. A réception du certificat
- Copier le certificat
texte entre -----BEGIN CERTIFICATE----- et -----END CERTIFICATE----- - Ouvrir NotePad(++) et coller le certificat
- Enregistrer le certificat avec l'extension .crt (verisign.crt)
Faire un copie des fichiers verisign.key et verisign.crt et conserver les mots de passe.
Étape 5 - Installation du certificat
Copier/Remplacer les fichiers verisign.key et verisign.crt sous server.key et server.crt dans le répertoire WebTools\SOFTS\HTTPD\conf\
Paramètres de configuration
X3Web
Les applications XTEND utilisent le port HTTPS.
Vérifier que que le paramètres console ALL.Apache.APACHESSL qui active le mode SSL du serveur Apache à pour valeur yes
Les ports HTTP et HTTPS pour accéder aux applications XTEND sont donnés par les paramètres xtend.server.gensetup.http.defhttpport et xtend.server.gensetup.http.defhttpsport.
Ces paramètres doivent obligatoirement être renseignés.
XTEND
Le tableau présente les paramètres de configuration du serveur XTEND accessible via la console (paramètres avancé).
Paramètre |
Valeur par défaut |
Description |
xtend.session.trace.xtend |
off |
Trace session XTEND |
xtend.session.trace.httpreq |
off |
Trace des requêtes http |
xtend.session.trace.wsvc |
off |
Trace web services |
xtend.session.wait.timeout |
1500 |
Timeout d'attente en ms d'une requête XTEND si la session est occupée (traitement d'une autre requête) |
xtend.server.data.localpath |
/data/local |
Http alias pour accéder aux ressources locales au serveur X3WEB (voir httpd.conf) |
xtend.server.data.protectdir |
x_protect |
Identification des dossiers XTEND qui sont protégés |
xtend.server.reposit.local |
off |
Localisation du dictionnaire XTEND et autres données xml publiés par XTEND |
xtend.server.menux3.local |
off |
Localisation des menus X3 (voir xtend.server.reposit.local) |
xtend.server.x3httpsrv.secured |
off |
Protocole http/https pour accès au serveur Http des solutions |
xtend.server.x3httpsrv.readtimeout |
30000 |
Timeout (ms) lors de la lecture d'une ressource sur le serveur Http de la solution |
xtend.server.x3httpsrv.cnxtimeout |
30000 |
Timeout (ms) lors de la connexion au serveur Http de la solution |
xtend.server.activitylog.level |
1 |
Suivi de l'activité - Niveau de trace - 0 : off - 1 : Normal - 2 : Verbose |
xtend.server.activitylog.filenumber |
10 |
Suivi de l'activité - Nombre de fichiers log |
xtend.server.activitylog.filesize |
10000000 |
Suivi de l'activité - Taille en octets d'un fichier log |
xtend.server.virtualpath.context |
/xtend |
Path de la web application XTEND |
xtend.cxtdtracesvc.trace.server.host |
Hostname du serveur de trace |
|
xtend.cxtdtracesvc.trace.server.port |
1515 |
Port TCP du serveur de trace |
xtend.cxtdtracesvc.tracesvc.canal.level |
9 |
Niveau du serveur de trace |
xtend.cxtdtracesvc.tracesvc.canal.name |
SXTD |
Prompt du serveur de trace |
xtend.cxtdtracesvc.tracesvc.canal.on |
off |
Trace active |
xtend.cxtdtracesvc.tracesvc.on |
off |
Trace active |
xtend.server.gensetup.defsite.x3sol |
|
Code solution X3 par défaut si non spécifié dans l'URL |
xtend.server.gensetup.defsite.x3fldr |
|
Code dossier X3 par défaut si non spécifié dans l'URL |
xtend.server.gensetup.defsite.xtdsite |
|
Code site XTEND par défaut si non spécifié dans l'URL |
xtend.server.gensetup.deflang |
|
Code langue XTEND par défaut si non spécifié dans l'URL |
xtend.server.gensetup.http.defhttpport |
28880 |
Port HTTP du serveur XTEND |
xtend.server.gensetup.http.defhttpsport |
28443 |
Port HTTPS du serveur XTEND |
xtend.server.gensetup.http.cookie.sess.persist |
on |
Persistance des cookies sur le poste utilisateur (on/off) |
xtend.server.gensetup.http.cookie.disabled |
off |
Indique si XTEND doit fonctionner sans les cookies |
xtend.server.gensetup.http.session.timeout |
60 |
Durée maximale d'inactivité de la session TOMCAT en minutes |
xtend.server.gensetup.http.askreferer |
on |
Demande du http referer si non présent dans les headers HTTP |
xtend.server.gensetup.proxies.hosts |
Hostnames des reverse proxies qui accèdent à XTEND séparés par des 'blancs' |
|
xtend.server.gensetup.proxies.portshttp |
Ports http des reverse proxies qui accèdent à XTEND séparés par des 'blancs' |
|
xtend.server.gensetup.proxies.portshttps |
Ports https des reverse proxies qui accèdent à XTEND séparés par des 'blancs' |
|
xtend.server.gensetup.html.req.charset |
utf-8 |
Décodage de la réponse http (utilisé pour l'encodage des champs input) |
xtend.server.gensetup.html.resp.charset |
utf-8 |
Encodage de la réponse http |
xtend.server.gensetup.html.chunked |
off |
on : pour activer le mode chunked (paquet) |
xtend.server.gensetup.html.buffersize |
0 |
Taille du buffer pour la reponse http |
xtend.server.gensetup.misc.rtnstacksize |
20 |
Nombre maximum d'élements dans la pile des page pour la gestion de l'action du retour (ADLKRETURN) |
xtend.server.gensetup.defcharset |
CP1252 |
Charset par défaut pour la lecture des ressources text (défaut Charset de la plate-forme) |