Chapitre 13. Utilisation d'Apache comme serveur Web sécurisé

Introduction

Ce chapitre fournit des informations de base sur le mode d'installation du serveur Apache World Wide Web (WWW ou Web) avec le module de sécurité mod_ssl ainsi qu'avec la bibliothèque et l'ensemble de programmes OpenSSL. La combinaison de ces trois éléments fournis dans Red Hat Linux sera appelée dans ce manuel secure Web server ou plus simplement serveur sécurisé.

Les serveurs Web fournissent des pages Web en réponse aux demandes des navigateurs. Netscape Navigator et Microsoft Internet Explorer sont deux exemples de navigateurs très connus. Les serveurs et les navigateurs Web communiquent en utilisant le protocole HTTP, le protocole standard pour les communications de type Web. Lorsqu'un utilisateur clique sur une page Web, une demande d'afficher le contenu correspondant au lien est envoyée au serveur Web. Le serveur Web reçoit la demande et fournit le contenu requis, tel qu'une page HTML, un script CGI ou une page Web créée de façon dynamique depuis une base de données. Si un serveur Web ne peut fournir le contenu demandé, il envoie un message d'erreur. Apache, le serveur Web fourni dans Red Hat Linux, est le serveur Web le plus utilisé sur Internet (connectez-vous à l'adresse http://www.netcraft.net/survey) .

Le serveur Apache a une structure modulaire. Il est en effet composé de plusieurs morceaux de code qui correspondent à différents aspects ou fonctions du serveur. Cette modularité est voulue. Ainsi, les développeurs peuvent écrire leur propre morceau de code. Ce code, appelé module, peut ensuite être facilement intégré dans le serveur Web Apache.

Le module mod_ssl est un module de sécurité pour le serveur Web Apache. Le module mod_ssl utilise les outils fournis par le projet OpenSSL pour ajouter une fonction importante à Apache — la capacité de crypter des communications. Par contraste, avec le HTTP "normal" les communications entre un navigateur et un serveur Web sont échangées en texte clair, au risque d'être interceptées et lues en cours de route.

Le projet OpenSSL comprend un ensemble de programmes qui applique les protocoles SSL (Secure Sockets Layer) et TLS (Transport Layer Security), de même qu'une bibliothèque de cryptographie générale. Le protocole SSL est actuellement utilisé pour la transmission de données sécurisée sur Internet ; le protocole TLS est une norme Internet proposée pour permettre des communications privées (sécurisées) et fiables sur Internet. Les outils de OpenSSL sont utilisés par le module mod_ssl pour sécuriser les communications Web.

Ce chapitre ne prétend pas constituer une documentation exhaustive ni exclusive pour aucun de ces programmes. Dans la mesure du possible, ce guide indique où trouver une documentation plus approfondie sur certains aspects.

Ce chapitre explique comment installer ces programmes. Il décrit également les démarches nécessaires pour générer une clé privée et une demande de certificat, explique comment générer votre propre certificat autographe et comment installer un certificat à utiliser avec votre serveur Web sécurisé.