Fork me on GitHub

Connection et sécurité

200405
Septembre
  philou Lettres d'informations 8001

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

Note: 0.00 (0 votes) - Noter cet article -

Partager Twitter Partagez cette article sur GG+
Format imprimable Envoyer cet article à un ami
Les commentaires appartiennent à leurs auteurs. Nous ne sommes pas responsables de leur contenu.
Semi pro
Inscrit le: 07/03/2004
De:
Contributions: 591
xvitry Posté le: 18/10/2005 21:54  Mis à jour: 18/10/2005 21:54
 Re: Connection et sécurité
Est-il possible d'utiliser cette méthode (SSL) de sécurité pour un module et pas pour tout le site ?

Par exemple, je dois avoir un accès sécurisé sur les documents à télécharger et un clone de news. Pour le reste, c'est moins important.

Puis mettre ces 2 modules en "zone ssl" et le reste du site en "normal" ou faut-il mettre tout le site en ssl ?

Merci
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

56 Personne(s) en ligne (3 Personne(s) connectée(s) sur Articles) | Utilisateur(s): 0 | Invité(s): 56 | Plus ...