Date de publication: le vendredi 14 décembre 2007 à 03h06
Dernière modification: par Pascal BOYER le lundi 4 octobre 2010 à 18h22
Applying SSL Zones / Créer des zones SSL
For security reasons, it may be necessary to encrypt certain parts of the site by forcing the page to switch to SSL (Secure sockets layer). Such areas are called SSL zones.
Il peut être nécessaire, pour des raisons de sécurité, de crypter certaines parties du site en forçant les pages à passer en mode SSL (
Secure Sockets Layer
- Couche de Sockets Sécurisés). De telles zones sont appelées zones SSL.
A propos de la création d'une autorité de certification et des certificats voir cet article: SSL/TLS : autorité de certification et certificats
The Secure Sockets Layer (SSL) is a commonly used protocol for managing the security of a message transmission over the internet. In plain English, it is a standard way to implement secure websites by encrypting traffic between the server and the client, hence providing protection against third parties listening in on traffic. For a user-friendly discussion on SSL, visit http://www.modssl.org/docs/2.8/ssl_overview.html
Secure Sockets Layer est un protocole couramment utilisé dans la gestion de transmissions sécurisées de messages sur le réseau internet. En clair, il s'agit d'un moyen standardisé d'implémenter des sites web sécurisés en cryptant le trafic entre le serveur et les clients et donc de se prémunir de tout système d'écoute du réseau. Voici un lien vers une présentation claire complète du protocole SSL:
http://www.modssl.org/docs/2.8/ssl_overview.html
Before implementing SSL zones in eZ publish, you need to ensure that your webserver is configured to support SSL. This is beyond the scope of this article, but you can find many resources online, especially regarding configuring SSL with Apache. (One way is to either install mod_ssl on Apache as an add-on module from www.modssl.org or from www.apache-ssl.org. It is of course easier and recommended that you build Apache from source and add --enable-ssl to the ./configure argument upon build.)
Avant d'implémenter des zones SSL dans un site eZ Publish, vous devez vous assurer que votre serveur est configuré pour accepter le mode SSL. Cela dépasse le cadre de cet article, cependant vous trouverez de nombreux articles sur le net et plus particulièrement de la documentation expliquant comment configurer ce mode avec Apache. Une des méthodes consiste à installer le module mod_ssl de Apache même s'il est bien sûr plus facile mais aussi recommandé de
compiler les sources de Apache
en ajoutant l'option --enable-ssl lors de l'exécution de la commande ./configure
J'ai écris une série d'articles sur la compilation et installation de Apache 1.3
For the eZ publish part, applying SSL over specific areas is simply a matter of modifying the configuration files. You can apply an SSL zone to:
Du côté de eZ Publish, appliquer le mode SSL à certaines parties du site ne demande que de modifier des fichiers de configuration. Il vous est possible d'appliquer des zones SSL:
-
A content subtree
A une partie de l’arborescence -
A module view
A un module de vue
In the first case, all operations within that subtree (for example, view, edit, etc) will be transmitted via SSL. When the user leaves that SSL zone, the browser will switch from HTTPS back to normal HTTP.
Dans le premier cas, toutes les opérations effectuées dans cette sous-arborescence (par exemple, voir, éditer, etc...) seront transmises via SSL. Lorsque l'utilisateur quittera cette zone, alors le navigateur basculera du mode HTTPS au mode HTTP
Let's say that we wish to enforce SSL for the following scenarios in order to increase security for our customers:
Supposons que nous souhaitions forcer l'utilisation du mode SSL dans les cas suivants afin d'augmenter la sécurité des clients:
-
Whenever a user logs in
Chaque fois qu'un utilisateur se connecte -
Whenever a user registers
Chaque fois qu'un utilisateur s'enregistre -
Whenever a user views or adds items to the shopping basket
Chaque fois qu'un utilisateur regarde ou ajoute des produits à son panier d'achat -
Whenever a user completes an order via checkout (or is about to send a payment with credit card details)
Chaque fois qu'un utilisateur rempli un acte d'achat (ou envoie un ordre de paiement par carte bancaire) -
To the survey content subtree (assuming a folder called survey exists in the content tree that holds items of type 'survey forms' )
Pour le formulaire d'enquête (en supposant qu'un dossier nommé enquête existe dans l'arborescence et contienne des éléments de type "formulaire d'enquête")
We would typically apply these settings to the global site.ini file:
Voici les paramètres à définir dans le fichier de configuration site.ini (ou dans l'une de ces surcharges):
[SiteSettings] SSLPort=443 [SSLZoneSettings] SSLZones=enabled SSLSubtrees[] SSLSubtrees[]=/survey ModuleViewAccessMode[user/login]=ssl ModuleViewAccessMode[shop/userregister]=ssl ModuleViewAccessMode[shop/add]=ssl ModuleViewAccessMode[shop/basket]=ssl ModuleViewAccessMode[shop/confirmorder]=ssl ModuleViewAccessMode[shop/orderview]=ssl ModuleViewAccessMode[content/*]=keep
After clearing the cache (for example, by clicking the "Clear cache" button in the Administration Interface), try viewing or adding an item to your basket and completing an order. You will notice that the browser enforces SSL by switching to https:// in the url bar. The yellow padlock in the bottom left of the browser signifies that SSL is active. After leaving an SSL area, you will be switched back to the standard http:// protocol.
Après avoir vidé les caches (en cliquant par exemple sur le bouton Vider tous les caches présent dans l'interface d'administration), essayez d'afficher ou d'ajouter des choses à votre panier puis de confirmer l'ordre d'achat. Vous noterez alors que votre navigateur utilise le protocole HTTPS. Le cadenas qui s'affiche dans le coin inférieur gauche de votre navigateur vous informe que le mode SSL est utilisé. Lorsque vous quittez une zone sécurisée, le navigateur revient automatiquement au protocole standard HTTP.
J'ai écrit un article détaillant la mise en oeuvre des zones SSL avec le serveur web Apache2.
Commentaires














