dns-caveats.html.fr revision 3c13a815670b54d1c17bf02954f7d2b066cde95c
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>Probl�mes li�s au DNS avec le serveur HTTP Apache - Serveur Apache HTTP</title>
<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="/images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="/faq/">FAQ</a> | <a href="/glossary.html">Glossaire</a> | <a href="/sitemap.html">Plan du site</a></p>
<p class="apache">Serveur Apache HTTP Version 2.3</p>
<img alt="" src="/images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.3</a></div><div id="page-content"><div id="preamble"><h1>Probl�mes li�s au DNS avec le serveur HTTP Apache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="/en/dns-caveats.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="/fr/dns-caveats.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
<a href="/ja/dns-caveats.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="/ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="/tr/dns-caveats.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
</div>
<p>Cette page pourrait se r�sumer ainsi : configurez le
serveur HTTP Apache de fa�on
� ce qu'il n'ait pas besoin de r�solution DNS pour interpr�ter les
fichiers de configuration. Si httpd doit effectuer des r�solutions
DNS pour interpr�ter les fichiers de configuration, votre serveur
pourra pr�senter des probl�mes de fiabilit� (en d'autres termes,
il est possible qu'il refuse de d�marrer), ou d'attaques par d�ni ou
usurpation de service (y compris le d�tournement d'informations
utilisateurs).</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#example">Un exemple simple</a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#denial">D�ni de service</a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#main">L'adresse du "serveur principal"</a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#tips">Conseils pour �viter ce genre de probl�me</a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#appendix">Appendice : orientations pour le futur</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="example" id="example">Un exemple simple</a></h2>
<div class="example"><p><code>
# Cet exemple de configuration est invalide, ne l'utilisez pas comme base
# de configuration
&lt;VirtualHost www.abc.dom&gt; <br />
ServerAdmin webgirl@abc.dom <br />
DocumentRoot /www/abc <br />
&lt;/VirtualHost&gt;
</code></p></div>
<p>Pour fonctionner correctement, le serveur a absolument besoin de deux
informations � propos de chaque serveur virtuel : le nom du serveur
d�fini par la directive <code class="directive"><a href="/mod/core.html#servername">ServerName</a></code>, et au moins une adresse IP �
laquelle le serveur va se rattacher et r�pondre. L'exemple ci-dessus
ne comporte pas d'adresse IP, si bien que httpd devra utiliser le
DNS pour trouver l'adresse IP de <code>www.abc.dom</code>. Si pour
une raison quelconque, le DNS n'est pas disponible au moment o�
votre serveur interpr�te son fichier de configuration, ce serveur
virtuel <strong>ne sera pas pris en compte dans la
configuration</strong>. Il sera incapable de
r�pondre � toute requ�te pour ce serveur virtuel (avec les versions
de httpd ant�rieures � 1.2, le serveur ne d�marrera tout simplement
pas).</p>
<p>Supposons que l'adresse de <code>www.abc.dom</code> soit
192.0.2.1, et examinons cet extrait de configuration :</p>
<div class="example"><p><code>
# Cet exemple de configuration est invalide, ne l'utilisez pas comme base
# de configuration
&lt;VirtualHost 192.0.2.1&gt; <br />
ServerAdmin webgirl@abc.dom <br />
DocumentRoot /www/abc <br />
&lt;/VirtualHost&gt;
</code></p></div>
<p>Cette fois, httpd doit effectuer une recherche DNS inverse pour
trouver le nom <code>ServerName</code> de ce serveur virtuel. Si
cette recherche inverse �choue, le serveur virtuel sera
partiellement d�sactiv�. Si le serveur
virtuel est � base de nom, il sera en fait totalement d�sactiv�,
mais s'il est � base d'adresse IP, il fonctionnera probablement.
Cependant, httpd �chouera s'il doit g�n�rer une URL compl�te pour
le serveur qui inclut ce nom de serveur.</p>
<p>Voici un extrait de configuration qui permet d'�viter ces deux
types de probl�mes :</p>
<div class="example"><p><code>
&lt;VirtualHost 192.0.2.1&gt; <br />
ServerName www.abc.dom <br />
ServerAdmin webgirl@abc.dom <br />
DocumentRoot /www/abc <br />
&lt;/VirtualHost&gt;
</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="denial" id="denial">D�ni de service</a></h2>
<p>Il existe (au moins) deux formes possibles de d�ni de service. Si
vous utilisez une version de httpd ant�rieure � 1.2, votre serveur
ne d�marrera pas si une des deux recherches DNS mentionn�es
ci-dessus �choue pour au moins un de vos serveurs virtuels. Dans
certains cas, cette recherche DNS ne sera m�me pas sous votre
contr�le ; par exemple, si <code>abc.dom</code> est un de vos
clients et s'il g�re son propre DNS, il peut emp�cher votre
serveur (pre-1.2) de d�marrer, simplement en supprimant
l'enregistrement <code>www.abc.dom</code>.</p>
<p>La deuxi�me forme de d�ni de service est beaucoup plus subtile.
Examinons cet extrait de configuration :</p>
<div class="example"><p><code>
&lt;VirtualHost www.abc.dom&gt;<br />
<span class="indent">
ServerAdmin webgirl@abc.dom<br />
DocumentRoot /www/abc<br />
</span>
&lt;/VirtualHost&gt;<br />
<br />
&lt;VirtualHost www.def.dom&gt;<br />
<span class="indent">
ServerAdmin webguy@def.dom<br />
DocumentRoot /www/def<br />
</span>
&lt;/VirtualHost&gt;
</code></p></div>
<p>Supposons que vous avez assign� 192.0.2.1 �
<code>www.abc.dom</code> et 192.0.2.2 � <code>www.def.dom</code>. En
outre, supposons que <code>def.dom</code> g�re son propre DNS. Avec
cette configuration, <code>def.dom</code> sera en mesure de
d�tourner tout trafic destin� � <code>abc.dom</code>. Pour y
parvenir, tout ce qu'ils ont � faire consiste � assigner 192.0.2.1 �
<code>www.def.dom</code>. Comme ils g�rent leur propre DNS, vous ne
pouvez pas les emp�cher de faire pointer l'enregistrement
<code>www.def.dom</code> vers l'adresse qu'ils veulent.</p>
<p>Les requ�tes � destination de 192.0.2.1 (y compris toutes celles
o� l'utilisateur � tap� une URL de la forme
<code>http://www.abc.dom/quelquepart</code>), seront toutes servies
par le serveur virtuel <code>def.dom</code>. Une meilleur
compr�hension de la raison pour laquelle ceci peut se produire
n�cessite une discussion plus approfondie � propos de la mani�re
dont httpd associe les requ�tes entrantes aux diff�rents serveurs
virtuels qui vont les servir. Un document de base d�crivant ceci <a href="vhosts/details.html">est disponible</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="main" id="main">L'adresse du "serveur principal"</a></h2>
<p><a href="vhosts/name-based.html">Le support des
serveurs virtuels � base de nom</a> oblige httpd �
conna�tre la/les adresse(s) IP de l'h�te sur
lequel <code class="program"><a href="/programs/httpd.html">httpd</a></code> s'ex�cute. Pour obtenir cette
adresse, soit il utilise la directive <code class="directive"><a href="/mod/core.html#servername">ServerName</a></code> globale (si elle est pr�sente),
soit il fait appel � la fonction C <code>gethostname</code> (qui
doit renvoyer le m�me nom que la commande shell "hostname"). Il
effectue ensuite une recherche DNS sur cette adresse. Pour le
moment, il n'existe aucun moyen d'�viter cette recherche DNS.</p>
<p>Si vous craignez que cette recherche DNS �choue parce que votre
serveur DNS est arr�t�, vous pouvez ins�rer le nom d'h�te dans le
fichier <code>/etc/hosts</code> (o� il est probablement d�j�
enregistr� afin que la machine d�marre correctement). Assurez-vous
ensuite que la machine est configur�e pour utiliser
<code>/etc/hosts</code> dans le cas o� la recherche DNS �choue.
Suivant le syst�me d'exploitation que vous utilisez, vous y
parviendrez en �ditant <code>/etc/resolv.conf</code>, ou
<code>/etc/nsswitch.conf</code>.</p>
<p>Si votre serveur n'a aucune autre raison d'effectuer des
recherches DNS, vous pouvez d�finir la variable d'environnement
<code>HOSTRESORDER</code> � "local", et vous serez alors en mesure
d'ex�cuter httpd. Tout d�pend du syst�me d'exploitation et des
biblioth�ques de r�solution de noms que vous utilisez. Elle affecte
aussi les programmes CGI, � moins que vous n'utilisiez
<code class="module"><a href="/mod/mod_env.html">mod_env</a></code> pour contr�ler l'environnement. Il est
conseill� de consulter les pages de manuel ou les FAQs de votre
syst�me d'exploitation.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="tips" id="tips">Conseils pour �viter ce genre de probl�me</a></h2>
<ul>
<li>
utilisez des adresses IP au sein des <code class="directive"><a href="/mod/core.html#virtualhost">VirtualHost</a></code>
</li>
<li>
utilisez des adresses IP avec la directive <code class="directive"><a href="/mod/mpm_common.html#listen">Listen</a></code>
</li>
<li>
v�rifiez que tous les serveurs virtuels poss�dent un nom
<code class="directive"><a href="/mod/core.html#servername">ServerName</a></code> explicite
</li>
<li>cr�ez un serveur virtuel <code>&lt;VirtualHost
_default_:*&gt;</code> qui n'a aucune page � servir</li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="appendix" id="appendix">Appendice : orientations pour le futur</a></h2>
<p>La situation concernant le DNS appara�t clairement comme non
souhaitable. Bien que nous ayons fait en sorte que le
serveur puisse au moins d�marrer en cas d'�chec de recherche DNS,
ce n'est pas ce que nous pouvons faire de mieux. En tout �tat
de cause, le fait de devoir sp�cifier des adresses IP explicites
dans les fichiers de configuration est fortement non souhaitable
avec l'Internet d'aujourd'hui o� les changements de num�rotation
sont une n�cessit�.</p>
<p>Il est possible d'�viter les attaques par usurpation de service
d�crites ci-dessus en effectuant une recherche DNS inverse sur
l'adresse IP renvoy�e par la recherche DNS directe et en comparant
les deux noms -- en cas de non correspondance, le serveur virtuel
serait d�sactiv�. Ceci n�cessite cependant une configuration
correcte du DNS inverse (ce avec quoi les administrateurs sont
familiers � cause de l'utilisation courante des doubles recherches
DNS inverses par les serveurs FTP et les TCP wrappers).</p>
<p>En tout �tat de cause, il ne semble pas envisageable de d�marrer
de mani�re fiable un serveur web avec serveurs virtuels losqu'une
recherche DNS a �chou�, sauf si l'on utilise des adresses IP. Les
solutions partielles consistant � d�sactiver des portions de
configuration pourraient s'av�rer pires que ne pas d�marrer du tout
; tout d�pend de ce que le serveur est suppos� faire.</p>
<p>Au fur et � mesure du d�ploiement de HTTP/1.1, et comme les
navigateurs et les mandataires commencent � g�n�rer l'en-t�te
<code>Host</code>, il devient possible d'envisager de se passer
compl�tement des serveurs virtuels � base d'adresses IP. Dans ce
cas, un serveur web n'a besoin d'aucune recherche DNS pendant
l'interpr�tation de ses fichiers de configuration. Cependant, au
mois de mars 1997, ces fonctionnalit�s n'ont pas �t� assez largement
d�ploy�es pour �tre utilis�es sur des serveurs web critiques.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="/en/dns-caveats.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="/fr/dns-caveats.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
<a href="/ja/dns-caveats.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="/ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="/tr/dns-caveats.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2010 The Apache Software Foundation.<br />Autoris� sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="/faq/">FAQ</a> | <a href="/glossary.html">Glossaire</a> | <a href="/sitemap.html">Plan du site</a></p></div>
</body></html>