4D v16.3Utiliser le protocole TLS |
||
|
4D v16.3
Utiliser le protocole TLS
Utiliser le protocole TLS
Le serveur Web 4D peut communiquer en mode sécurisé via le protocole TLS (Transport Layer Security) -- le successeur de SSL (Secured Socket Layer). Par défaut, la version minimale acceptée par 4D est TLS 1.2 Le protocole TLS a pour but de sécuriser les communications entre deux applications — généralement un serveur Web et un navigateur. Ce protocole est largement répandu et compatible avec la plupart des navigateurs Web. Au niveau de l’architecture réseau, le protocole de sécurité s’insère entre la couche TCP/IP (bas niveau) et le protocole de haut niveau HTTP, pour lequel il est principalement destiné. Architecture réseau utilisant TLS : Note : Le protocole TLS peut également être utilisé pour sécuriser les connexions client/serveur “classiques” de 4D Server ainsi que les connexions du serveur SQL. Pour plus d’informations, reportez-vous à la section Crypter les connexions client/serveur dans le manuel de référence de 4D Server ainsi qu'à la section Configuration du serveur SQL de 4D dans le manuel de référence SQL. Le protocole TLS permet de garantir l’identité de l’émetteur et du récepteur, ainsi que la confidentialité et l’intégrité des informations échangées :
Les principes de sécurisation utilisés par TLS sont basés sur l’emploi d’un algorithme de cryptage utilisant une paire de clés : une clé privée et une clé publique. Note : Pour plus d’informations sur les principes généraux de cryptage et d’emploi de clés publiques/clés privées, reportez-vous à la description de la commande ENCRYPT BLOB. La mise en place d’un serveur fonctionnant en TLS nécessite un certificat numérique délivré par un opérateur de certification. Ce certificat renferme diverses informations dont la carte d’identité du site ainsi que la clé publique utilisée pour communiquer avec lui. Il est transmis aux clients (navigateurs Web) se connectant au site. Une fois qu’il est accepté, la communication en mode sécurisé s’établit. Note : Pour qu’un navigateur accepte les certificats d’une autorité de certification, celle-ci doit être répertoriée dans ses Propriétés. Le choix de l’autorité de certification dépend de plusieurs facteurs. Plus l’autorité est “connue”, plus le nombre de navigateurs acceptant les certificats qu’elle délivre sera important, mais plus le prix à payer sera élevé. Verisign® est une des autorités de certifications les plus utilisées. Pour obtenir un certificat numérique : 1. Générez une “clé privée” à l’aide de la commande GENERATE ENCRYPTION KEYPAIR. Attention : Pour des raisons de sécurité, la clé privée ne doit JAMAIS être diffusée sur un réseau. En fait, elle ne doit pas quitter le poste serveur. Pour le serveur Web, le fichier Key.pem doit être placé dans le dossier de la structure de la base. 2. Etablissez une demande de certificat à l’aide de la commande GENERATE CERTIFICATE REQUEST. 3. Envoyez la demande de certificat à l’autorité de certification que vous avez choisie. 4. Une fois que vous avez reçu votre certificat, créez un fichier texte que vous nommerez “Cert.pem” et copiez dans ce fichier le contenu du certificat. Note : Les caractères de fins de ligne CR ne sont pas pris en charge (vous devez utiliser CRLF ou LF). 5. Placez le fichier “cert.pem” à l'emplacement adéquat. Pour le serveur Web, il s'agit du dossier contenant la structure de la base. Pour que vous puissiez utiliser le protocole TLS avec le serveur Web de 4D, plusieurs éléments doivent être présents sur le serveur, à différents emplacements :
Note : La présence du composant 4DSLI.DLL est également nécessaire pour l’utilisation des commandes de cryptage des données ENCRYPT BLOB et DECRYPT BLOB. L'installation de ces éléments rend possible l'utilisation du TLS dans les connexions au serveur Web 4D. Toutefois, pour que les connexions sécurisées soient acceptées par le serveur Web 4D, vous devez “activer” TLS. Ce paramètre est accessible dans la page Web, onglet Configuration des Propriétés de la base : Par défaut, les connexions TLS sont activées. Vous pouvez désélectionner cette option si vous ne souhaitez pas exploiter les fonctionnalités TLS avec votre serveur Web, ou si un autre serveur autorisant les connexions sécurisées fonctionne sur le même poste. Le port TCP utilisé pour les connexions TLS est par défaut le 443. Ce numéro de port peut être modifié dans la zone Numéro de port HTTPS afin, par exemple, de renforcer la sécurité du serveur Web (pour plus d'informations sur ce point, reportez-vous à la section Paramétrages du serveur Web). Le port TCP défini dans cette page de propriétés est utilisé pour les connexions du serveur Web en mode standard. Note : Les autres propriétés de gestion du serveur Web 4D (mots de passe, délai avant déconnexion, taille du cache, etc.) restent appliquées, que le serveur fonctionne en mode TLS ou non. Pour qu’une connexion Web s’effectue en mode sécurisé, il suffit simplement que l’URL envoyé par le navigateur débute par “https” (au lieu de “http”). Les deux parties "négocient" alors l’algorithme de cryptage qui va être utilisé pour la connexion. Attention : Le niveau de cryptage autorisé est soumis à la législation en vigueur dans le pays d’utilisation. L’utilisation de TLS dans le serveur Web 4D ne nécessite pas de configuration système particulière. Toutefois, vous devez tenir compte du fait qu’un serveur Web TLS peut également fonctionner en mode non sécurisé. Le changement de mode de connexion peut s’effectuer si le navigateur en fait la demande (il suffit à l’utilisateur, dans la zone d’URL du navigateur, de remplacer “HTTPS” par “HTTP”). Il revient au développeur d’interdire ou de rediriger les requêtes effectuées en mode non sécurisé — la routine WEB Is secured connection permet de connaître le mode de connexion courant.
Voir aussi
DECRYPT BLOB
|
PROPRIÉTÉS
Produit : 4D
HISTORIQUE
MOTS-CLÉS cert.pem, key.pem, 4DSLI.DLL UTILISATION DE L'ARTICLE
4D - Langage ( 4D v16) |