Connection et sécurité

Date 05/09/2004 | Sujet : Lettres d'informations

Suite à une question posée dans le forum, nous avons décidé avec Philou de faire un article sur ce sujet.

 
Nous avons tous, pour la plupart, déjà réalisé des achats sur le net que ce soit pour des livres, cd, voyages, etc.., et le sentiment de sécurité qui nous permet de réaliser ces opérations sans crainte est basé sur le protocole SSL (Secure sockets Layer). En  effet dans les échanges de données sensibles ou précieuses entre un utilisateur et un serveur web, il devient indispensable de se protéger.
 
Inventé par Netscape, SSL est un protocole de couche 4 (niveau transport) utilisé par une application pour établir un canal de communication sécurisé avec une autre application.
Il possède deux grandes fonctionnalités : l’authentification du serveur et du client à l’établissement de la connexion et le chiffrement des données durant la connexion. Il se situe entre le protocole d’application (généralement HTTP) et le TCP/IP et permet de sécuriser les applications
 
Suite à la requête du client, le serveur envoie son certificat ainsi que la liste des algorithmes qu’il souhaite utiliser. Le client commence par vérifier la validité du certificat du serveur. Cela se fait à l’aide de la clé publique de l’autorité de certification contenue dans le navigateur du client. Le client vérifie aussi la date de validité du certificat et peut également consulter une CRL (Certificate Revocation List). Si toutes les vérifications sont passées, le client génère une clé symétrique et l’envoie au serveur. Le serveur peut alors envoyer un test au client, que le client doit signer avec sa clé privée correspondant à son propre certificat. Ceci est fait de façon à ce que le serveur puisse authentifier le client.
 
SSL va donc empêcher tout renifleur d’intercepter vos données, en cryptant les sessions réseau par un hachage jusqu’à un niveau d’illisibilité sûr. Il assure un cryptage à clé publique pour empêcher tout intrus de s’infiltrer dans la session à l’aide d’un faux identifiant.
 
HTTPS est le nom donné au protocole HTTP (pour mémoire, le protocole HTTP est le "langage" permettant la transmission des informations sur le web) quand il est chiffré avec SSL.
HTTPS :
- permet l'authentification de votre serveur
- le secret des informations transmises, dans les deux sens
- l'intégrité de ces informations.
 
En simplifiant, on peut comparer HTTPS à un tunnel inviolable reliant deux ordinateurs. On a la garantie que les infos mises à un des bouts du tunnel arrivent à l'autre bout, sans avoir été observées ou altérées. Il est possible d'acheter un certificat SSL (200 $ environ) , indiquant de façon fiable que tel ordinateur est bien la propriété de telle société et non d'un pirate.
 
La principale différence entre le SSL standard et le SSL bidirectionnel réside dans le nombre de certificats numériques. Avec le SSL standard, seul le serveur dispose du certificat. Le client s’attache davantage à vérifier que le serveur est celui qu’il prétend être, tandis que le serveur ne se soucie pas vraiment de savoir s’il en va de même pour le client. C’est le cas en matière de commerce électronique, de messagerie électronique sur le web, etc.En revanche, lorsqu’une sécurité absolue est nécessaire, les certificats peuvent également être installés sur les clients pour être d’autant plus sûr que la conversation se tient entre deux sources autorisées.
 
Sans certificat l'utilisation de HTTPS peut se faire de façon gratuite, et nécessite alors sous Apache l'installation du module mod_ssl. (http://www.openssl.org/)
OpenSA (
http://www.opensa.org/) propose un package d'installation d'Apache avec mod_ssl, pour windows

Et Xoops dans tout cela ?
Il est possible de faire du https avec xoops, c'est même prévu. Il suffit d'aller dans admin system > préférences, paramètres généraux et de compléter les deux champs concernés :
- nom de la variable ssl
- URL où la page de la connexion SSL est placée : xoops fournit un fichier spécifique pour cette connection, c'est le fichier login.php situé dans le répertoire extras du fichier zip du package d'une version

En complément, si vous souhaitez complètement sécurisé votre site, il sera nécessaire de modifier votre fichier mainfile.php :
//XOOPS Virtual Path (URL)
avant : define('XOOPS_URL', 'http: //www.example.org');
après : define('XOOPS_URL', 'https: //www.example.org');
Dans certains cas, après échange avec votre hébergeur sur le port utilisé, il vous faudra peut-être modifier votre chemin virtuel ainsi :
$port = $HTTP_SERVER_VARS['SERVER_PORT'];
if($port == "443"){
  define('XOOPS_URL', 'https: //www.example.org');
} else {
  define('XOOPS_URL', 'http: //www.example.org');
}

Utiliser un espace d'hébergement sécurisé par protocole SSL implique une modification des habitudes de travail pour le webmaster.
 
Le protocole SSL doit garantir aux Internautes que le site qu'ils consultent peut être légitimement annoncé comme un site sécurisé. Cela signifie que TOUS les éléments (pages HTML et images) affichés dans un espace sécurisé doivent être contenus dans cet espace.
Par exemple, si vous tentez d'afficher une image provenant d'un autre site Internet, les Internautes seront prévenus qu'ils s'apprêtent à visualiser une page dont la sécurité peut être compromise par des éléments extérieurs, ce qui annihile l'intérêt d'une sécurisation SSL.
 
Tout site Internet possédant quelques pages sécurisées s'exploite au travers de 2 comptes FTP distincts :
- un compte FTP pour le chargement des parties non sécurisées
- un compte FTP pour le chargement des parties sécurisées
 
En résumé :
Xoops V2 peut faire du ssl en natif MAIS : il ne faut plus avoir d’images, de liens, de bannières vers l’extérieur depuis une page sécurisée.
Il n’est pas nécessaire d’avoir un hébergement spécialisé.
L'affichage sera moins rapide qu'auparavant compte tenu de toutes les requêtes supplémentaires que nécessitent l'utilisation de ces protocoles (Dans le cas de HTTPS : une page WWW, 10 images => 11 connexions SSL)
 
Philou et Christian




Cet article provient de Communauté Francophone des Utilisateurs de Xoops
https://www.frxoops.org

L'adresse de cet article est :
https://www.frxoops.org/modules/news/article.php?storyid=660