security_tips.xml.fr revision ed70c6537ec56d185d88a4aa7c0418d28bb7cdc7
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering<?xml version="1.0" encoding="ISO-8859-1" ?>
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering<!DOCTYPE manualpage SYSTEM "/style/manualpage.dtd">
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering<?xml-stylesheet type="text/xsl" href="/style/manual.fr.xsl"?>
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering<!-- English Revision: 1479872:1657687 (outdated) -->
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering<!-- French translation : Lucien GENTIS -->
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering<!-- Reviewed by : Vincent Deffontaines -->
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering Licensed to the Apache Software Foundation (ASF) under one or more
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering contributor license agreements. See the NOTICE file distributed with
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering this work for additional information regarding copyright ownership.
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering The ASF licenses this file to You under the Apache License, Version 2.0
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering (the "License"); you may not use this file except in compliance with
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering the License. You may obtain a copy of the License at
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering http://www.apache.org/licenses/LICENSE-2.0
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering Unless required by applicable law or agreed to in writing, software
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering distributed under the License is distributed on an "AS IS" BASIS,
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering See the License for the specific language governing permissions and
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering limitations under the License.
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering<manualpage metafile="security_tips.xml.meta">
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <parentdocument href="./">Documentations diverses</parentdocument>
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <title>Conseils sur la sécurité</title>
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <p>Ce document propose quelques conseils et astuces concernant les
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering problèmes de sécurité liés
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering à l'installation d'un serveur web. Certaines suggestions seront à caractère
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering général, tandis que d'autres seront spécifiques à Apache.</p>
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering <section id="uptodate"><title>Maintenez votre serveur à jour</title>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <p>Le serveur HTTP Apache a une bonne réputation en matière de sécurité
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering et possède une communauté de développeurs très sensibilisés aux problèmes
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering de sécurité. Mais il est inévitable de trouver certains problèmes
3803cde44c3d949765bdf0e8bce06886224d40b4Lennart Poettering -- petits ou grands -- une fois le logiciel mis à disposition. C'est pour
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering cette raison qu'il est crucial de se tenir informé des mises à jour. Si
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering vous avez obtenu votre version du serveur HTTP directement depuis Apache,
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering nous vous conseillons grandement de vous abonner à la <a
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering href="http://httpd.apache.org/lists.html#http-announce">Liste de diffusion
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering des annonces du serveur HTTP</a> qui vous informera de
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering la parution des nouvelles versions et des mises à jour de sécurité. La
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering plupart des distributeurs tiers d'Apache fournissent des services
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering similaires.</p>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <p>Gardez cependant à l'esprit que lorsqu'un serveur web est compromis, le
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering code du serveur HTTP n'est la plupart du temps pas en cause. Les problèmes
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering proviennent plutôt de code ajouté, de scripts CGI, ou du système
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering d'exploitation sous-jacent. Vous devez donc vous tenir informé des
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering problèmes et mises à jour concernant tous les logiciels présents sur
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering votre système.</p>
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering <title>Attaques de type "Déni de service"
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering (Denial of Service - DoS)</title>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <p>Tous les services réseau peuvent faire l'objet d'attaques de type
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering "Déni de service" qui tentent de les empêcher de répondre aux clients en
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering saturant leurs ressources. Il est impossible de se prémunir totalement
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering contre ce type d'attaques, mais vous pouvez accomplir certaines actions
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering afin de minimiser les problèmes qu'elles créent.</p>
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering <p>Souvent, l'outil anti-DoS le plus efficace sera constitué par le
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering pare-feu ou certaines configurations du système d'exploitation. Par
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering exemple, la plupart des pare-feu peuvent être configurés de façon à
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering limiter le nombre de connexions simultanées depuis une adresse IP ou un
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering réseau, ce qui permet de prévenir toute une gamme d'attaques simples.
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering Bien sûr, ceci n'est d'aucun secours contre les attaques de type
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering "Déni de service" distribuées (DDoS).</p>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <p>Certains réglages de la configuration d'Apache peuvent aussi
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering minimiser les problèmes :</p>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering module="mod_reqtimeout">RequestReadTimeout</directive> permet de
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering limiter le temps que met le client pour envoyer sa requête.</li>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <li>La valeur de la directive
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <directive module="core">TimeOut</directive> doit être diminuée sur les
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering sites sujets aux attaques DoS. Une valeur de quelques secondes devrait
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering convenir. Cependant, comme <directive module="core">TimeOut</directive>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering est actuellement concerné par de nombreuses opérations différentes, lui
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering attribuer une valeur trop faible peut provoquer des problèmes avec les
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering scripts CGI qui présentent un long temps de réponse.</li>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <li>La valeur de la directive
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <directive module="core">KeepAliveTimeout</directive> doit aussi être
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering diminuée sur les sites sujets aux attaques DoS. Certains sites
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering désactivent même complètement le "maintien en vie" (keepalives)
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering à l'aide de la directive
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <directive module="core">KeepAlive</directive>, ce qui bien sûr
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering présente des inconvénients en matière de performances.</li>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <li>Les valeurs des différentes directives fournies par d'autres modules
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering et en rapport avec des délais doivent aussi être vérifiées.</li>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <li>Les directives
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <directive module="core">LimitRequestBody</directive>,
9f2e86af0600e99cff00d1c92f9bb8d38f29896aLennart Poettering <directive module="core">LimitRequestFields</directive>,
9f2e86af0600e99cff00d1c92f9bb8d38f29896aLennart Poettering <directive module="core">LimitRequestFieldSize</directive>,
9f2e86af0600e99cff00d1c92f9bb8d38f29896aLennart Poettering <directive module="core">LimitRequestLine</directive>, et
9f2e86af0600e99cff00d1c92f9bb8d38f29896aLennart Poettering <directive module="core">LimitXMLRequestBody</directive> doivent être
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering configurées avec prudence afin de limiter la consommation de ressources
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering induite par les demandes des clients.
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering <li>Sur les systèmes d'exploitation qui le supportent, assurez-vous que
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering la directive <directive module="core">AcceptFilter</directive> est
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering activée afin de déléguer une partie du traitement des requêtes au
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering système d'exploitation. Elle est activée par défaut dans le démon httpd
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering d'Apache, mais peut nécessiter une reconfiguration de votre noyau.</li>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering module="mpm_common">MaxRequestWorkers</directive> de façon à définir le nombre
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering maximum de connexions simultanées au dessus duquel les ressources
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering s'épuisent. Voir aussi la <a
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering href="perf-tuning.html">documentation sur l'optimisation des
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <li>L'utilisation d'un <a href="/mpm.html">module mpm</a> threadé
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering vous permet de traiter d'avantage de connexions simultanées, ce qui
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering minimise l'effet des attaques DoS. Dans le futur, le module mpm
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <module>event</module> utilisera un traitement asynchrone afin de ne pas
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering dédier un thread à chaque connexion. De par la
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering nature de la bibliothèque OpenSSL, le module mpm <module>event</module> est actuellement incompatible
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering avec le module <module>mod_ssl</module> ainsi que d'autres filtres
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering en entrée. Dans ces cas, son comportement se ramène à celui
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering du module mpm <module>worker</module>.</li>
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <li>Il existe de nombreux modules tiers disponibles à <a
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering href="http://modules.apache.org/">http://modules.apache.org/</a> qui
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering peuvent retreindre les comportements de certains clients et ainsi
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering minimiser les problèmes de DoS.</li>
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <title>Permissions sur les répertoires de la racine du serveur</title>
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <p>Typiquement, Apache est démarré par l'utilisateur root, puis il devient
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering la propriété de l'utilisateur défini par la directive <directive
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering module="mod_unixd">User</directive> afin de répondre aux demandes. Comme
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering pour toutes les commandes exécutées par root, vous devez vous assurer
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering qu'elle n'est pas modifiable par les utilisateurs autres que root. Les
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering fichiers eux-mêmes, mais aussi les répertoires ainsi que leurs parents ne
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering doivent être modifiables que par root. Par exemple, si vous avez choisi de
9f2e86af0600e99cff00d1c92f9bb8d38f29896aLennart Poettering placer la racine du serveur dans <code>/usr/local/apache</code>, il est conseillé de
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering créer le répertoire en tant que root, avec des commandes du style :</p>
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering mkdir bin conf logs <br />
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering chown 0 . bin conf logs <br />
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering chgrp 0 . bin conf logs <br />
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering chmod 755 . bin conf logs
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering <p>Nous supposerons que <code>/</code>, <code>/usr</code> et
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering <code>/usr/local</code> ne sont modifiables que par
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering root. Quand vous installez l'exécutable <program>httpd</program>, vous
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering devez vous assurer qu'il possède des protections similaires :</p>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering chown 0 /usr/local/apache/bin/httpd <br />
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering chgrp 0 /usr/local/apache/bin/httpd <br />
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <p>Vous pouvez créer un sous-répertoire htdocs modifiable par d'autres
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering utilisateurs -- car root ne crée ni exécute aucun fichier dans ce
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering sous-répertoire.</p>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <p>Si vous permettez à des utilisateurs non root de modifier des fichiers
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering que root écrit ou exécute, vous exposez votre système à une compromission
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering de l'utilisateur root. Par exemple, quelqu'un pourrait remplacer le binaire
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <program>httpd</program> de façon à ce que la prochaine fois que vous le
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering redémarrerez, il exécutera un code arbitraire. Si le répertoire des
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering journaux a les droits en écriture (pour un utilisateur non root), quelqu'un
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering pourrait remplacer un fichier journal par un lien symbolique vers un autre
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering fichier système, et root pourrait alors écraser ce fichier avec des données
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering arbitraires. Si les fichiers journaux eux-mêmes ont des droits en
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering écriture (pour un utilisateur non root), quelqu'un pourrait
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering modifier les journaux eux-mêmes avec des données fausses.</p>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <title>Inclusions côté serveur</title>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <p>Les inclusions côté serveur (Server Side Includes - SSI) exposent
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering l'administrateur du serveur à de nombreux risques potentiels en matière de
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering sécurité.</p>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <p>Le premier risque est l'augmentation de la charge du serveur. Tous les
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering fichiers où SSI est activé doivent être analysés par Apache, qu'ils
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering contiennent des directives SSI ou non. L'augmentation de la charge induite
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering est minime, mais peut devenir significative dans le contexte d'un
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering serveur partagé.</p>
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering <p>Les fichiers SSI présentent les mêmes risques que les scripts CGI en
9f2e86af0600e99cff00d1c92f9bb8d38f29896aLennart Poettering général. Les fichiers où SSI est activé peuvent exécuter tout script CGI
9f2e86af0600e99cff00d1c92f9bb8d38f29896aLennart Poettering ou autre programme à l'aide de la commande <code>"exec cmd"</code> avec les permissions
9f2e86af0600e99cff00d1c92f9bb8d38f29896aLennart Poettering des utilisateur et groupe sous lesquels Apache s'exécute, comme défini
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <p>Des méthodes existent pour améliorer la sécurité des fichiers SSI, tout
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering en tirant parti des bénéfices qu'ils apportent.</p>
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <p>Pour limiter les dommages qu'un fichier SSI agressif pourrait causer,
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering l'administrateur du serveur peut activer<a href="/suexec.html">suexec</a>
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering comme décrit dans la section <a href="#cgi">Les CGI en général</a>.</p>
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <p>L'activation des SSI pour des fichiers possédant des extensions
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <code>.htm</code> peut s'avérer dangereux. Ceci est particulièrement vrai dans un
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering environnement de serveur partagé ou étant le siège d'un traffic élevé. Les
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering fichiers où SSI est activé doivent posséder une extension spécifique, telle
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering que la conventionnelle <code>.shtml</code>. Ceci permet de limiter la charge du serveur
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering à un niveau minimum et de simplifier la gestion des risques.</p>
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <p>Une autre solution consiste à interdire l'exécution de scripts et
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering programmes à partir de pages SSI. Pour ce faire, remplacez
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <code>Includes</code> par <code>IncludesNOEXEC</code> dans la directive
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <directive module="core">Options</directive>. Notez que les utilisateurs
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering pourront encore utiliser <code><--#include virtual="..." --></code> pour exécuter
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering des scripts CGI si ces scripts sont situés dans des répertoires spécifiés
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering par une directive
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <directive module="mod_alias">ScriptAlias</directive>.</p>
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <title>Les CGI en général</title>
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <p>Tout d'abord, vous devez toujours garder à l'esprit que vous devez
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering faire confiance aux développeurs de scripts ou programmes CGI ainsi qu'à
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering vos compétences pour déceler les trous de sécurité potentiels dans les
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering CGI, que ceux-ci soient délibérés ou accidentels. Les scripts CGI peuvent
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering essentiellement exécuter des commandes arbitraires sur votre système avec
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering les droits de l'utilisateur du serveur web, et peuvent par conséquent être
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering extrèmement dangereux s'ils ne sont pas vérifiés avec soin.</p>
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <p>Tous les scripts CGI s'exécutent sous le même utilisateur, il peuvent
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering donc entrer en conflit (accidentellement ou délibérément) avec d'autres
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering scripts. Par exemple, l'utilisateur A hait l'utilisateur B, il écrit donc
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering un script qui efface la base de données CGI de l'utilisateur B. Vous pouvez
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering utiliser le programme <a href="/suexec.html">suEXEC</a> pour faire en
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering sorte que les scripts s'exécutent sous des utilisateurs différents. Ce
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering programme est inclus dans la distribution d'Apache depuis la version 1.2
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering et est appelé à partir de certaines portions de code du serveur Apache. Une
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering autre méthode plus connue est l'utilisation de
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <a href="http://cgiwrap.sourceforge.net/">CGIWrap</a>.</p>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <p>Vous ne devez permettre aux utilisateurs d'exécuter des scripts CGI
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering depuis n'importe quel répertoire que dans l'éventualité où :</p>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <li>Vous faites confiance à vos utilisateurs pour ne pas écrire de
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering scripts qui vont délibérément ou accidentellement exposer votre
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering système à une attaque.</li>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <li>Vous estimez que le niveau de sécurité dans les autres parties de
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering votre site est si faible qu'un trou de sécurité de plus ou de moins
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering n'est pas très important.</li>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <li>Votre système ne comporte aucun utilisateur, et personne ne visite
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering jamais votre site.</li>
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <p>Le confinement des CGI dans des répertoires spécifiques permet à
9f2e86af0600e99cff00d1c92f9bb8d38f29896aLennart Poettering l'administrateur de contrôler ce que l'on met dans ces répertoires. Ceci
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering est bien entendu mieux sécurisé que les CGI sans alias de script, mais
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering seulement à condition que les utilisateurs avec les droits en écriture sur
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering les répertoires soient dignes de confiance, et que l'administrateur ait la
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering volonté de tester chaque programme ou script CGI à la recherche d'éventuels
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering trous de sécurité.</p>
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <p>La plupart des sites choisissent cette approche au détriment des CGI
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering sans alias de script.</p>
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <title>Autres sources de contenu dynamique</title>
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering Les options de scripting intégrées qui s'exécutent en tant que partie du
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering serveur lui-même, comme <code>mod_php</code>, <code>mod_perl</code>,
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <code>mod_tcl</code>, et <code>mod_python</code>,
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering s'exécutent sous le même utilisateur que le serveur (voir la directive
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <directive module="mod_unixd">User</directive>), et par conséquent,
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering les scripts que ces moteurs exécutent peuvent accéder aux mêmes ressources
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering que le serveur. Certains moteurs de scripting peuvent proposer des
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering restrictions, mais pour plus de sûreté, il vaut mieux partir du principe
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering que ce n'est pas le cas.</p>
9f2e86af0600e99cff00d1c92f9bb8d38f29896aLennart Poettering <title>Protection de la configuration du système</title>
9f2e86af0600e99cff00d1c92f9bb8d38f29896aLennart Poettering <p>Pour contrôler étroitement votre serveur, vous pouvez interdire
9f2e86af0600e99cff00d1c92f9bb8d38f29896aLennart Poettering l'utilisation des fichiers <code>.htaccess</code> qui permettent de
9f2e86af0600e99cff00d1c92f9bb8d38f29896aLennart Poettering passer outre les fonctionnalités de sécurité que vous avez configurées.
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering Voici un moyen pour y parvenir :</p>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <p>Ajoutez dans le fichier de configuration du serveur</p>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering<Directory />
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering AllowOverride None
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering</Directory>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <p>Ceci interdit l'utilisation des fichiers <code>.htaccess</code> dans
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering tous les répertoires, sauf ceux pour lesquels c'est explicitement
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering autorisé.</p>
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <title>Protection par défaut des fichiers du serveur</title>
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <p>Le concept d'accès par défaut est un aspect d'Apache qui est parfois mal
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering compris. C'est à dire que, à moins que vous ne changiez explicitement ce
<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