Comment sécuriser un serveur Apache et le rôle de ses modules

1 Introduction

Apache est un serveur Web très populaire, performant, et sa conception modulaire le dote d’une grande richesse fonctionnelle. Découvrez comment le sécuriser et le rôle de ses modules.

2 Le serveur Apache

Cacher le type et la version du serveur :
Il est très facile de découvrir le type et la version d’un serveur Web en utilisant la commande  suivante:
# telnet @_IP_serveur_Apache 80
Exemple :
# telnet localhost 80
Trying 127.0.0.1…
Connected to localhost.localdomain (127.0.0.1).
Escape character is ‘^]’.
<!DOCTYPE HTML PUBLIC « -//IETF//DTD HTML 2.0//EN »>
<html><head>
<title>501 Method Not Implemented</title>
</head><body>
<h1>Method Not Implemented</h1>
<p> to /index.html.en not supported.<br />
</p>
<hr>
<address>Apache/2.0.61 (Unix) PHP/4.4.8 Server at localhost.localdomain Port 80</address>
</body></html>
Connection closed by foreign host.
Un pirate apprend que le serveur Apache tourne sous un système de type « Linux/Unix » et que le  langages PHP est actif.
On limite la divulgation d’information en insérant dans le fichier de configuration httpd.conf la ligne  ServerTokens Prod :
# vim/usr/local/apache2/conf/httpd.conf
ServerToken Prod

Limitations contre les DoS :
De façon à limiter la portée des attaques de type Denial of Service (DoS), il est conseillé de limiter  le nombre de connexions simultanées MaxClients et en particulier le nombre de connexions  persistantes MaxKeepAliveRequests. Celles-ci sont apparues avec la norme HTTP 1.1. Elles
permettent d’effectuer des requêtes successives lors de la même connexion, ce qui augmente les  performances du serveur. L’utilisation d’un timeout empêche les connexions sans fin.
Exemple pour un petit serveur :
MaxClients 150
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

Définition d’un « virtual host »
Apache permet la définition de Virtual Host, c’est-à-dire que le même serveur peut héberger, y  compris sur une même adresse IP, plusieurs sites différenciés par leur nom. Pour limiter les risques  liés à une panne des serveurs DNS ou à des manipulations frauduleuses, il convient de définir le VirtualHost par une adresse IP puis de préciser son nom. <VirtualHost 194.57.201.103>
ServerName www.AdresseWeb.com
….
</VirtualHost>

Gérer ses fichiers de log
Apache permet de définir ses propres formats LogFormat pour les enregistrements dans les fichiers  de log.
LogFormat « %h %l %u %t \ »%r\ » %>s %b \ »%{Referer}i\ » \ »%{User-Agent}i\ » » combined
LogFormat « %h %l %u %t \ »%r\ » %>s %b » common
LogFormat « %{Referer}i -> %U » referer
LogFormat « %{User-agent}i » agent

….

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Sécurisation du serveur Apache (299 Ko) (Cours DOC)
Sécurisation du serveur Apache

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *