security_tips.xml.fr revision 8542a70aedb77a3353d52151d0aa8a01b6393b52
97a9a944b5887e91042b019776c41d5dd74557aferikabele<!DOCTYPE manualpage SYSTEM "/style/manualpage.dtd">
97a9a944b5887e91042b019776c41d5dd74557aferikabele<?xml-stylesheet type="text/xsl" href="/style/manual.fr.xsl"?>
a945f35eff8b6a88009ce73de6d4c862ce58de3cslive<!-- English revision : 1226477 -->
a945f35eff8b6a88009ce73de6d4c862ce58de3cslive<!-- French translation : Lucien GENTIS -->
a945f35eff8b6a88009ce73de6d4c862ce58de3cslive<!-- Reviewed by : Vincent Deffontaines -->
b686b6a420bde7f78c416b90be11db94cb789979nd Licensed to the Apache Software Foundation (ASF) under one or more
b686b6a420bde7f78c416b90be11db94cb789979nd contributor license agreements. See the NOTICE file distributed with
b686b6a420bde7f78c416b90be11db94cb789979nd this work for additional information regarding copyright ownership.
b686b6a420bde7f78c416b90be11db94cb789979nd The ASF licenses this file to You under the Apache License, Version 2.0
b686b6a420bde7f78c416b90be11db94cb789979nd (the "License"); you may not use this file except in compliance with
b686b6a420bde7f78c416b90be11db94cb789979nd the License. You may obtain a copy of the License at
b686b6a420bde7f78c416b90be11db94cb789979nd Unless required by applicable law or agreed to in writing, software
a63f0ab647ad2ab72efc9bea7a66e24e9ebc5cc2nd distributed under the License is distributed on an "AS IS" BASIS,
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd See the License for the specific language governing permissions and
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd limitations under the License.
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd <parentdocument href="./">Documentations diverses</parentdocument>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>Ce document propose quelques conseils et astuces concernant les
06ba4a61654b3763ad65f52283832ebf058fdf1cslive problèmes de sécurité liés
06ba4a61654b3763ad65f52283832ebf058fdf1cslive à l'installation d'un serveur web. Certaines suggestions seront à caractère
80d3dc69b0e6ad772135f6a78af3d16bd6cccc42nd général, tandis que d'autres seront spécifiques à Apache.</p>
a63f0ab647ad2ab72efc9bea7a66e24e9ebc5cc2nd </summary>
5b10fd3977e6dfff19afe770e612e276962f7950nd <section id="uptodate"><title>Maintenez votre serveur à jour</title>
a63f0ab647ad2ab72efc9bea7a66e24e9ebc5cc2nd <p>Le serveur HTTP Apache a une bonne réputation en matière de sécurité
a63f0ab647ad2ab72efc9bea7a66e24e9ebc5cc2nd et possède une communauté de développeurs très sensibilisés aux problèmes
a63f0ab647ad2ab72efc9bea7a66e24e9ebc5cc2nd de sécurité. Mais il est inévitable de trouver certains problèmes
a63f0ab647ad2ab72efc9bea7a66e24e9ebc5cc2nd -- petits ou grands -- une fois le logiciel mis à disposition. C'est pour
a63f0ab647ad2ab72efc9bea7a66e24e9ebc5cc2nd cette raison qu'il est crucial de se tenir informé des mises à jour. Si
80d3dc69b0e6ad772135f6a78af3d16bd6cccc42nd vous avez obtenu votre version du serveur HTTP directement depuis Apache,
5b10fd3977e6dfff19afe770e612e276962f7950nd nous vous conseillons grandement de vous abonner à la <a
5b10fd3977e6dfff19afe770e612e276962f7950nd href="http://httpd.apache.org/lists.html#http-announce">Liste de diffusion
80d3dc69b0e6ad772135f6a78af3d16bd6cccc42nd des annonces du serveur HTTP</a> qui vous informera de
80d3dc69b0e6ad772135f6a78af3d16bd6cccc42nd la parution des nouvelles versions et des mises à jour de sécurité. La
2aff288113d772cedca6add888eb643afffe9fb1nd plupart des distributeurs tiers d'Apache fournissent des services
a63f0ab647ad2ab72efc9bea7a66e24e9ebc5cc2nd similaires.</p>
a63f0ab647ad2ab72efc9bea7a66e24e9ebc5cc2nd <p>Gardez cependant à l'esprit que lorsqu'un serveur web est compromis, le
a63f0ab647ad2ab72efc9bea7a66e24e9ebc5cc2nd code du serveur HTTP n'est la plupart du temps pas en cause. Les problèmes
a63f0ab647ad2ab72efc9bea7a66e24e9ebc5cc2nd proviennent plutôt de code ajouté, de scripts CGI, ou du système
2aff288113d772cedca6add888eb643afffe9fb1nd d'exploitation sous-jacent. Vous devez donc vous tenir informé des
2aff288113d772cedca6add888eb643afffe9fb1nd problèmes et mises à jour concernant tous les logiciels présents sur
a63f0ab647ad2ab72efc9bea7a66e24e9ebc5cc2nd votre système.</p>
a63f0ab647ad2ab72efc9bea7a66e24e9ebc5cc2nd </section>
a63f0ab647ad2ab72efc9bea7a66e24e9ebc5cc2nd <title>Attaques de type "Déni de service"
a63f0ab647ad2ab72efc9bea7a66e24e9ebc5cc2nd (Denial of Service - DoS)</title>
2aff288113d772cedca6add888eb643afffe9fb1nd <p>Tous les services réseau peuvent faire l'objet d'attaques de type
80d3dc69b0e6ad772135f6a78af3d16bd6cccc42nd "Déni de service" qui tentent de les empêcher de répondre aux clients en
80d3dc69b0e6ad772135f6a78af3d16bd6cccc42nd saturant leurs ressources. Il est impossible de se prémunir totalement
80d3dc69b0e6ad772135f6a78af3d16bd6cccc42nd contre ce type d'attaques, mais vous pouvez accomplir certaines actions
db99fa79ac42b9cc42b63386eb289aecb0f3cb9cnd afin de minimiser les problèmes qu'elles créent.</p>
2aff288113d772cedca6add888eb643afffe9fb1nd <p>Souvent, l'outil anti-DoS le plus efficace sera constitué par le
2aff288113d772cedca6add888eb643afffe9fb1nd pare-feu ou certaines configurations du système d'exploitation. Par
2aff288113d772cedca6add888eb643afffe9fb1nd exemple, la plupart des pare-feu peuvent être configurés de façon à
2aff288113d772cedca6add888eb643afffe9fb1nd limiter le nombre de connexions simultanées depuis une adresse IP ou un
2aff288113d772cedca6add888eb643afffe9fb1nd réseau, ce qui permet de prévenir toute une gamme d'attaques simples.
2aff288113d772cedca6add888eb643afffe9fb1nd Bien sûr, ceci n'est d'aucun secours contre les attaques de type
2aff288113d772cedca6add888eb643afffe9fb1nd "Déni de service" distribuées (DDoS).</p>
2aff288113d772cedca6add888eb643afffe9fb1nd <p>Certains réglages de la configuration d'Apache peuvent aussi
2aff288113d772cedca6add888eb643afffe9fb1nd minimiser les problèmes :</p>
42af92a661a06b3cebc88d585aad75064a309d51nd module="mod_reqtimeout">RequestReadTimeout</directive> permet de
42af92a661a06b3cebc88d585aad75064a309d51nd limiter le temps que met le client pour envoyer sa requête.</li>
aa0b2780958e9b1467c9d0153a05738e399811a5nd <li>La valeur de la directive
2aff288113d772cedca6add888eb643afffe9fb1nd <directive module="core">TimeOut</directive> doit être diminuée sur les
2aff288113d772cedca6add888eb643afffe9fb1nd sites sujets aux attaques DoS. Une valeur de quelques secondes devrait
2aff288113d772cedca6add888eb643afffe9fb1nd convenir. Cependant, comme <directive module="core">TimeOut</directive>
64c02f1310b7747423957823ee09fb3608430f89nd est actuellement concerné par de nombreuses opérations différentes, lui
aa0b2780958e9b1467c9d0153a05738e399811a5nd attribuer une valeur trop faible peut provoquer des problèmes avec les
2aff288113d772cedca6add888eb643afffe9fb1nd scripts CGI qui présentent un long temps de réponse.</li>
2aff288113d772cedca6add888eb643afffe9fb1nd <li>La valeur de la directive
80d3dc69b0e6ad772135f6a78af3d16bd6cccc42nd <directive module="core">KeepAliveTimeout</directive> doit aussi être
2aff288113d772cedca6add888eb643afffe9fb1nd diminuée sur les sites sujets aux attaques DoS. Certains sites
2aff288113d772cedca6add888eb643afffe9fb1nd désactivent même complètement le "maintien en vie" (keepalives)
2aff288113d772cedca6add888eb643afffe9fb1nd à l'aide de la directive
2aff288113d772cedca6add888eb643afffe9fb1nd <directive module="core">KeepAlive</directive>, ce qui bien sûr
2aff288113d772cedca6add888eb643afffe9fb1nd présente des inconvénients en matière de performances.</li>
2aff288113d772cedca6add888eb643afffe9fb1nd <li>Les valeurs des différentes directives fournies par d'autres modules
e67fa8d3f161e595dd448fc24a591ee17ae59131nd et en rapport avec des délais doivent aussi être vérifiées.</li>
bf94bedcb62d7f0b926f4286069def5ee6b07b60nd <li>Les directives
2aff288113d772cedca6add888eb643afffe9fb1nd <directive module="core">LimitRequestFieldSize</directive>,
bbcbf978a3074512c627c797fedcb30eeab7b39dslive <directive module="core">LimitRequestLine</directive>, et
ee5db395bc3723609919edfa96af387eea37c491jim <directive module="core">LimitXMLRequestBody</directive> doivent être
80d3dc69b0e6ad772135f6a78af3d16bd6cccc42nd configurées avec prudence afin de limiter la consommation de ressources
2aff288113d772cedca6add888eb643afffe9fb1nd induite par les demandes des clients.
2aff288113d772cedca6add888eb643afffe9fb1nd <li>Sur les systèmes d'exploitation qui le supportent, assurez-vous que
7f3fdc63be07f2ad39e01a44e68e9324998a5c03slive la directive <directive module="core">AcceptFilter</directive> est
7f3fdc63be07f2ad39e01a44e68e9324998a5c03slive activée afin de déléguer une partie du traitement des requêtes au
7f3fdc63be07f2ad39e01a44e68e9324998a5c03slive système d'exploitation. Elle est activée par défaut dans le démon httpd
75585bd48fe0f30483dba4762e61edf39ea3e0f6nd d'Apache, mais peut nécessiter une reconfiguration de votre noyau.</li>
03a4ff9ac4c9b8009249010e7c53bb86ff05915and module="mpm_common">MaxRequestWorkers</directive> de façon à définir le nombre
80d3dc69b0e6ad772135f6a78af3d16bd6cccc42nd maximum de connexions simultanées au dessus duquel les ressources
3b58542e01ec69422f3086db5825a12fc77b726end s'épuisent. Voir aussi la <a
a0d937b340692a3578f1d2f2535890c520c4bf0cnd href="perf-tuning.html">documentation sur l'optimisation des
2aff288113d772cedca6add888eb643afffe9fb1nd <li>L'utilisation d'un <a href="/mpm.html">module mpm</a> threadé
2aff288113d772cedca6add888eb643afffe9fb1nd vous permet de traiter d'avantage de connexions simultanées, ce qui
2aff288113d772cedca6add888eb643afffe9fb1nd minimise l'effet des attaques DoS. Dans le futur, le module mpm
80d3dc69b0e6ad772135f6a78af3d16bd6cccc42nd <module>event</module> utilisera un traitement asynchrone afin de ne pas
08842292d2f1550b40ae73e0dafc7641c5955c82nd dédier un thread à chaque connexion. De par la
2aff288113d772cedca6add888eb643afffe9fb1nd nature de la bibliothèque OpenSSL, le module mpm <module>event</module> est actuellement incompatible
d2b809e5d72658bff23819d8b77f20e4939af541nd avec le module <module>mod_ssl</module> ainsi que d'autres filtres
2aff288113d772cedca6add888eb643afffe9fb1nd en entrée. Dans ces cas, son comportement se ramène à celui
2aff288113d772cedca6add888eb643afffe9fb1nd <li>Il existe de nombreux modules tiers disponibles à <a
2aff288113d772cedca6add888eb643afffe9fb1nd href="http://modules.apache.org/">http://modules.apache.org/</a> qui
2aff288113d772cedca6add888eb643afffe9fb1nd peuvent retreindre les comportements de certains clients et ainsi
2aff288113d772cedca6add888eb643afffe9fb1nd minimiser les problèmes de DoS.</li>
80d3dc69b0e6ad772135f6a78af3d16bd6cccc42nd </section>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd <title>Permissions sur les répertoires de la racine du serveur</title>
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd <p>Typiquement, Apache est démarré par l'utilisateur root, puis il devient
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd la propriété de l'utilisateur défini par la directive <directive
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd module="mpm_common">User</directive> afin de répondre aux demandes. Comme
73ba54c33b4fcad0e13005e10ea8648c9fe4265bnd pour toutes les commandes exécutées par root, vous devez vous assurer
80d3dc69b0e6ad772135f6a78af3d16bd6cccc42nd qu'elle n'est pas modifiable par les utilisateurs autres que root. Les
2aff288113d772cedca6add888eb643afffe9fb1nd fichiers eux-mêmes, mais aussi les répertoires ainsi que leurs parents ne
80d3dc69b0e6ad772135f6a78af3d16bd6cccc42nd doivent être modifiables que par root. Par exemple, si vous avez choisi de
2aff288113d772cedca6add888eb643afffe9fb1nd placer la racine du serveur dans <code>/usr/local/apache</code>, il est conseillé de
2aff288113d772cedca6add888eb643afffe9fb1nd créer le répertoire en tant que root, avec des commandes du style :</p>
2aff288113d772cedca6add888eb643afffe9fb1nd mkdir bin conf logs <br />
2aff288113d772cedca6add888eb643afffe9fb1nd chown 0 . bin conf logs <br />
2aff288113d772cedca6add888eb643afffe9fb1nd chgrp 0 . bin conf logs <br />
2aff288113d772cedca6add888eb643afffe9fb1nd chmod 755 . bin conf logs
2aff288113d772cedca6add888eb643afffe9fb1nd </example>
80d3dc69b0e6ad772135f6a78af3d16bd6cccc42nd <p>Nous supposerons que <code>/</code>, <code>/usr</code> et
2aff288113d772cedca6add888eb643afffe9fb1nd root. Quand vous installez l'exécutable <program>httpd</program>, vous
2aff288113d772cedca6add888eb643afffe9fb1nd devez vous assurer qu'il possède des protections similaires :</p>
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd </example>
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd <p>Vous pouvez créer un sous-répertoire htdocs modifiable par d'autres
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd utilisateurs -- car root ne crée ni exécute aucun fichier dans ce
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd sous-répertoire.</p>
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd <p>Si vous permettez à des utilisateurs non root de modifier des fichiers
b95ae799514ad86a15610ad75808d7065e9847c9kess que root écrit ou exécute, vous exposez votre système à une compromission
b686b6a420bde7f78c416b90be11db94cb789979nd de l'utilisateur root. Par exemple, quelqu'un pourrait remplacer le binaire
80d3dc69b0e6ad772135f6a78af3d16bd6cccc42nd <program>httpd</program> de façon à ce que la prochaine fois que vous le
général. Les fichiers où SSI est activé peuvent exécuter tout script CGI
<p>Des méthodes existent pour améliorer la sécurité des fichiers SSI, tout
environnement de serveur partagé ou étant le siège d'un traffic élevé. Les
fichiers où SSI est activé doivent posséder une extension spécifique, telle
des scripts CGI si ces scripts sont situés dans des répertoires spécifiés
<p>ceci va interdire l'accès par défaut à tous les fichiers du système de
[Thu Jul 11 17:18:39 2002] [error] [client foo.example.com] client denied