Sécurité des connexions

4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant

version 2004.2 (Modifiée)


Vous pouvez sécuriser les connexions à votre serveur Web 4D à l'aide des éléments suivants :

La combinaison du système de gestion des mots de passe pour les accès Web et de la Méthode base Sur authentification Web,

La définition d'un "Utilisateur Web générique",

La définition d'un dossier racine HTML par défaut,

La définition de la propriété "Disponible via 4DACTION, 4DMETHOD et 4DSCRIPT" pour chaque méthode projet de la base.

Note : La sécurité des informations transmises via la connexion est prise en charge par le protocole SSL. Pour plus d'informations, reportez-vous à la section Utiliser le protocole SSL.

Gestion des mots de passe pour les accès Web


Vous pouvez définir, dans les Préférences de la base, le système de contrôle d'accès que vous souhaitez appliquer à votre serveur Web. Dans la boîte de dialogue des Préférences, choisissez le thème Web, page Avancé :

Dans la zone "Mots de passe", vous disposez de deux options : Utiliser les mots de passe et Inclure les mots de passe 4D. La seconde case à cocher n'est active qui si la première a été cochée.

Utiliser les mots de passe : permet de gérer les accès au serveur Web via des mots de passe. Lorsqu'un utilisateur se connecte, une boîte de dialogue lui permettant de saisir son nom et son mot de passe s'affiche sur son navigateur. Ces deux valeurs sont ensuite envoyées à la Méthode base Sur authentification Web avec les autres paramètres de la connexion (adresse et port IP, URL...) pour que vous puissiez les traiter.

Note : Dans ce cas, si la Méthode base Sur authentification Web n'existe pas, la connexion est rejetée.

Inclure les mots de passe 4D : permet d'utiliser, au lieu ou en plus de votre propre système, le système 4D de mots de passe de la base (défini dans 4D).

Notes :

- Avec le serveur Web de 4D Client, il est à noter que tous les sites publiés par les postes 4D Client partageront la même table d'utilisateurs. En effet, la validation des utilisateurs/mots de passe est effectuée par l'application 4D Server.

- Les mots de passe saisis par les utilisateurs ne sont pas encryptés dans les requêtes HTTP (mode Basic).

Combinaison des mots de passe et de la Méthode base Sur authentification Web

Le système de filtrage des connexions au serveur Web de 4D dépend donc de la combinaison de deux paramètres :

les options de mots de passe Web dans la boîte de dialogue des Préférences de la base,

l'existence ou non de la Méthode base Sur authentification Web.

Voici les différentes possibilités de contrôle des connexions :

Aucune option n'est cochée

Note : Les nouvelles bases sont créées par défaut avec ces paramètres.

Si la Méthode base Sur authentification Web existe, elle est exécutée et, outre $1 et $2, seules les adresses IP du navigateur et du serveur ($3 et $4) sont renseignées, le nom d'utilisateur et le mot de passe ($5 et $6) sont vides. Vous pouvez dans ce cas filtrer les connexions en fonction de l'adresse IP du navigateur et/ou de l'adresse IP demandée du serveur.

Si la Méthode base Sur authentification Web n'existe pas, la connexion est automatiquement acceptée.

L'option "Utiliser les mots de passe" est cochée et l'option "Inclure les mots de passe de 4D" n'est pas cochée

Si la Méthode base Sur authentification Web existe, elle est exécutée et tous ses paramètres sont renseignés. Vous pouvez dans ce cas filtrer très précisément les connexions à partir du nom d'utilisateur, du mot de passe et/ou des adresses IP du navigateur et du serveur Web.

Si la Méthode base Sur authentification Web n'existe pas, la connexion est automatiquement refusée et un message indiquant que la méthode d'authentification n'existe pas est envoyé au navigateur.

Note : Si le nom d'utilisateur envoyé est une chaîne vide et si la Méthode base Sur authentification Web n'existe pas, une boîte de dialogue de demande de mot de passe est envoyée au navigateur.

Les options "Utiliser les mots de passe" et "Inclure les mots de passe de 4D" sont cochées

Note : Les bases créées avec une version de 4D antérieure à la 6.5 sont ouvertes par défaut avec ces paramètres.

Si le nom d'utilisateur envoyé par le navigateur existe dans la table des utilisateurs 4D et que le mot de passe est valide, la connexion est acceptée (dans ce cas, pour des raisons de sécurité le paramètre $6 n'est alors pas renseigné). Si le mot de passe est invalide, la connexion est refusée.

Si le nom d'utilisateur envoyé par le navigateur n'existe pas dans 4D, deux cas sont alors possibles :

- si la Méthode base Sur authentification Web existe, les paramètres $1, $2, $3, $4, $5 et $6 sont renseignés. Vous pouvez dans ce cas filtrer très précisément les connexions à partir du nom d'utilisateur, du mot de passe et/ou des adresses IP du navigateur et du serveur Web.

- si la Méthode base Sur authentification Web n'existe pas, la connexion est refusée.

Le fonctionnement du système d'accès au serveur Web 4D est résumé dans le schéma suivant :

A propos des robots (note de sécurité)

Certains robots (moteurs de recherche, spiders) parcourent les serveurs Web et les pages statiques. Si vous souhaitez que les robots ne puissent pas accéder à la totalité de votre site, il est possible de définir des URL qui leur seront interdits.

Pour cela, placez un fichier nommé ROBOTS.TXT à la racine du serveur. Ce fichier doit être structuré de la manière suivante :

User-Agent: <nom>
Disallow: <URL> ou <début d'URL>

Par exemple :

User-Agent: *
Disallow: /4D
Disallow: /%23%23
Disallow: /GIFS/

"User-Agent: *" signifie qu'il s'agit de tous les robots.

"Disallow: /4D" signifie que les robots ne doivent pas accéder aux URL commençant par /4D.

"Disallow: /%23%23" signifie que les robots ne doivent pas accéder aux URL commençant par /%23%23.

"Disallow: /GIFS/' signifie que les robots ne doivent pas accéder au dossier /GIFS/ ni aux sous-dossiers.

Autre exemple :

User-Agent: *
Disallow: /

Dans ce cas, la totalité du site est interdite aux robots.

Utilisateur Web générique


Vous pouvez désigner un utilisateur — préalablement défini dans la table des mots de passe de 4D — comme "Utilisateur Web générique". Dans ce cas, chaque navigateur se connectant à la base bénéficie des autorisations et restrictions d'accès associées à cet utilisateur. Vous pouvez ainsi contrôler simplement l'accès des navigateurs aux différentes parties de la base.

Note : Il ne faut pas confondre cette option, permettant de restreindre les accès des navigateurs aux différentes parties de la base (tables, menus, etc.), avec le système de contrôle des connexions au serveur Web, géré par les mots de passe et la Méthode base Sur authentification Web.

Pour définir un Utilisateur Web générique :

1. En mode Structure, créez au moins un utilisateur dans l'Editeur de mots de passe.

Vous pouvez lui associer ou non un mot de passe.

2. Dans les différents éditeurs de 4D, assignez à cet utilisateur les autorisations et restrictions d'accès souhaitées.

3. Dans la boîte de dialogue des Préférences, choisissez le thème Web, page Avancé.

La zone "Mots de passe Web" contient la liste déroulante Utilisateur Web générique. Par défaut, l'utilisateur Web générique est le Super_Utilisateur : les navigateurs disposent donc d'un accès libre à toutes les parties de la base.

4. Choisissez l'utilisateur dans la liste déroulante et validez la boîte de dialogue.

Tous les navigateurs Web autorisés à se connecter à la base bénéficieront des autorisations et restrictions d'accès associées à l'utilisateur Web générique (sauf lorsque l'option "Inclure les mots de passe 4D" est cochée et que l'utilisateur qui se connecte existe dans la table des mots de passe 4D, cf. ci-dessous).

Interaction avec le système de mots de passe Web

L'option "Utiliser les mots de passe" n'influe pas sur le mécanisme de l'utilisateur Web générique : quel que soit l'état de cette option, les privilèges et restrictions d'accès associés à l'"Utilisateur Web générique" seront appliqués à tous les navigateurs Web autorisés à se connecter à la base.

En revanche, lorsque l'option "Inclure les mots de passe 4D" est cochée, deux cas peuvent se produire :

Le nom et le mot de passe de l'utilisateur n'existent pas dans la table des mots de passe de 4D. Dans ce cas, si la connexion est acceptée par la Méthode base Sur authentification Web, les droits d'accès de l'utilisateur Web générique seront appliqués au navigateur.

Le nom et le mot de passe de l'utilisateur existent dans la table des mots de passe de 4D. Dans ce cas, le paramètre "Utilisateur Web générique" est ignoré : l'utilisateur se connecte avec ses propres droits d'accès.

Dossier racine HTML par défaut


Cette option des Préférences de la base vous permet de définir le dossier dans lequel 4D recherchera les pages HTML statiques et semi-dynamiques, les images, etc., à envoyer aux navigateurs.

De plus, le dossier racine HTML définit, sur le disque dur du serveur Web, le niveau hiérarchique au-dessus duquel les fichiers ne seront pas accessibles. Cette restriction d'accès s'applique aux URLs demandés par les navigateurs Web ainsi qu'aux commandes du serveur Web 4D telles que ENVOYER FICHIER HTML. Si un URL demandé par un navigateur ou une commande 4D tente d'accéder à un fichier situé en amont du dossier racine HTML, une erreur est retournée, indiquant que le fichier n'a pas été trouvé.

Par défaut, 4D définit un dossier racine HTML intitulé DossierWeb. S'il n'existe pas déjà, le dossier racine HTML est créé sur le disque au premier lancement du serveur Web.

Si vous conservez l'emplacement par défaut, le dossier racine est créé :

avec 4e Dimension et 4D Server, au même niveau que le fichier de structure de la base.

avec 4D Client, au même niveau que le fichier .exe de 4D Client (sous Windows) ou que le progiciel (sous Mac OS).

Vous pouvez modifier le nom et l'emplacement du dossier racine HTML par défaut dans la boîte de dialogue des Préférences (thème Web, page Configuration) :

Dans la zone "Racine HTML par défaut", saisissez le nouveau chemin d'accès du dossier que vous souhaitez utiliser.

Le chemin d'accès saisi dans cette boîte de dialogue est relatif : il est établi à partir du dossier contenant la structure de la base (4e Dimension ou 4D Server) ou du dossier contenant l'application ou le progiciel 4D Client (4D Client).

Afin d'assurer la compatibilité multiplate-forme de vos bases, le serveur Web 4D utilise, pour décrire les chemins d'accès, des conventions d'écriture particulières. Les règles de syntaxe sont les suivantes ;

les dossiers sont séparés par le caractère /

le chemin ne doit pas se terminer par /

pour "remonter" d'un niveau dans la hiérarchie des dossiers, saisissez ".." (point point) devant le nom du dossier,

le chemin ne doit pas commencer par / (sauf si vous souhaitez que le dossier racine HTML soit le dossier de la base ou du 4D Client, cf. ci-dessous).

Par exemple, si vous souhaitez que le dossier racine HTML soit le sous-dossier "Web", placé dans le dossier "Base4D", saisissez Bases4D/Web

Si vous souhaitez que le dossier racine HTML soit le dossier de la base ou du 4D Client, mais que l'accès aux dossiers des niveaux supérieurs soit interdit, saisissez / dans la zone. Pour que l'accès aux volumes soit totalement libre, laissez la zone "Racine HTML par défaut" vide.

ATTENTION : Si vous ne définissez aucun dossier racine HTML par défaut, le dossier contenant le fichier de structure de la base ou l'application 4D Client est utilisé. Dans ce cas, il n'y a pas de restrictions d'accès (tous les volumes sont accessibles).

Note : Lorsque le dossier racine HTML est modifié dans les Préférences de la base, le cache est effacé afin de ne pas conserver des fichiers dont l'accès serait devenu restreint.

Préférences et commande FIXER RACINE HTML (mode contextuel)

Vous pouvez modifier le dossier racine HTML par défaut à l'aide de la commande FIXER RACINE HTML (en mode contextuel uniquement). Dans ce cas, la modification s'applique au process Web courant pour la session de travail. Le cache des pages HTML est alors effacé.

Toutefois, la commande FIXER RACINE HTML tient compte du dossier racine HTML par défaut. Si le dossier défini dans les Préférences de la base est "WebPages" et si vous exécutez l'instruction FIXER RACINE HTML("Dossier"), le dossier racine HTML par défaut devient "WebPages/Dossier". Dans ce cas également, les restrictions d'accès ne sont maintenues que pour les dossiers situés en amont du dossier "WebPages".

Note : La commande FIXER RACINE HTML n'a pas d'effet lors de l'utilisation du serveur Web en mode sans contexte.

Disponible via 4DACTION, 4DMETHOD et 4DSCRIPT


Les URLs spéciaux 4DACTION (mode sans contexte) et 4DMETHOD (mode contextuel) ainsi que les balises 4DSCRIPT, 4DVAR et 4DHTMLVAR permettent de déclencher l'exécution de toute méthode projet d'une base 4D publiée sur le Web. Par exemple, la requête http://www.serveur.com/4DACTION/Effacer_Tout provoque l'exécution de la méthode projet Effacer_Tout, si elle existe.

Ce mécanisme présente donc un risque pour la sécurité de la base, notamment si un internaute déclenche intentionnellement ou par erreur une méthode non destinée à une exécution via le Web. Vous pouvez prévenir ce risque de trois manières :

restreindre les accès aux méthodes projet via le système de mots de passe 4D. Inconvénients : ce système nécessite l'utilisation des mots de passe 4D et interdit tout type d'exécution de la méthode (y compris via des balises HTML).

filtrer les méthodes appelées via des URLs à l'aide de la Méthode base Sur authentification Web. Inconvénients : si la base comporte de nombreuses méthodes, ce système peut être difficile à gérer.

utiliser l'option Disponible via 4DACTION, 4DMETHOD et 4DSCRIPT affichée dans la boîte de dialogue des Propriétés des méthodes projet :

Cette option permet de désigner individuellement chaque méthode projet pouvant être appelée via les URLs spéciaux 4DACTION, 4DMETHOD et les balises 4DSCRIPT, 4DVAR et 4DHTMLVAR. Lorsqu'elle est désélectionnée, la méthode projet concernée ne peut pas être exécutée via une requête HTTP contenant un URL ou une balise spécial(e). En revanche, elle peut être exécutée à l'aide d'autres types d'appels (formules, autres méthodes, etc.).

Cette option est désélectionnée par défaut pour les bases créées avec 4e Dimension à compter de la version 2003. Vous devez désigner expressément les méthodes pouvant être exécutées via les URLs 4DACTION et 4DMETHOD ainsi que les balises 4DSCRIPT, 4DVAR et 4DHTMLVAR.

En revanche, pour des raisons de compatibilité, cette option est cochée pour les bases créées avec une version de 4D antérieure à la 2003 : toutes les méthodes projet sont par défaut accessibles via des requêtes Web.

Dans l'Explorateur, les méthodes projet "disponibles via 4DACTION, 4DMETHOD et 4DSCRIPT" bénéficient d'une icône spécifique :

Référence

Méthode base Sur authentification Web, Méthode base Sur connexion Web, Utiliser le protocole SSL.


4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant