summaryrefslogtreecommitdiffstats
path: root/rubbos/app/apache2/manual/dns-caveats.html.fr
blob: 0f953f67158a5744d2b1a8a461535c7200d14ab2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
<?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 DNS avec 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.0</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.0</a></div><div id="page-content"><div id="preamble"><h1>Probl�mes DNS avec 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="./es/dns-caveats.html" hreflang="es" rel="alternate" title="Espa�ol">&nbsp;es&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>L'ensemble de cette page pourrait se r�sumer � la phrase&nbsp;: ne 
    jamais configurer Apache de telle sorte qu'il s'appuie sur des 
    r�solutions DNS pour parcourir ses fichiers de configuration. 
    Une telle configuration risque d'engendrer des probl�mes de 
    fiabilit� (le serveur peut ne pas d�marrer), des attaques de type 
    d�ni et de vol de service (comme par exemple des utilisateurs volant 
    les hits d'autres 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">Comment �viter ces probl�mes</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#appendix">Appendice: Perspectives futures</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>
      &lt;VirtualHost www.abc.dom&gt; <br />
      ServerAdmin webgirl@abc.dom <br />
      DocumentRoot /www/abc <br />
      &lt;/VirtualHost&gt;
    </code></p></div>

    <p>Pour qu'Apache fonctionne correctement, il a absolument besoin 
    de deux informations pour chacun de ses serveurs virtuels&nbsp;:
    <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code> ainsi qu'au moins une
    adresse IP � laquelle le serveur s'attachera pour r�pondre.
    L'exemple ci-dessus ne pr�cise pas l'adresse IP, si bien qu'Apache doit
    utiliser le DNS pour trouver l'adresse de <code>www.abc.dom</code>. 
    Si, pour une raison ou une autre, le DNS ne fonctionne pas au moment 
    o� Apache lit ses fichiers de configuration, le serveur virtuel 
    <strong>ne sera pas configur�</strong>. Il sera incapable de r�pondre 
    aux requ�tes. Jusqu'� la version 1.2, Apache refusait m�me de 
    d�marrer dans ce cas de figure.</p>

    <p>Prenons le cas o� l'adresse de <code>www.abc.dom</code> est 10.0.0.1 
    et consid�rons cet extrait de configuration&nbsp;:</p>

    <div class="example"><p><code>
      &lt;VirtualHost 10.0.0.1&gt; <br />
      ServerAdmin webgirl@abc.dom <br />
      DocumentRoot /www/abc <br />
      &lt;/VirtualHost&gt;
    </code></p></div>

    <p>Cette fois, Apache a besoin d'utiliser la r�solution DNS 
    invers�e pour d�terminer le nom <code>ServerName</code> de ce 
    serveur virtuel. Si cette r�solution n'aboutit pas, le serveur 
    virtuel sera partiellement mis hors service (jusqu'� la version 
    1.2, Apache refusait m�me de d�marrer dans ce cas de figure). Si 
    le serveur virtuel est un serveur bas� sur un nom (name-based), 
    il sera totalement hors service, mais s'il s'agit d'un serveur 
    par IP (IP-based), il fonctionnera correctement. Cependant, dans 
    le cas o� Apache doit g�n�rer une adresse compl�te URL en 
    s'appuyant sur le nom du serveur, il �chouera � fournir une 
    adresse valide.</p>

    <p>Voici un extrait de configuration qui r�sout ces deux probl�mes&nbsp;:</p>

    <div class="example"><p><code>
      &lt;VirtualHost 10.0.0.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 probl�mes possibles de d�ni de service.
    Les versions d'Apache ant�rieures � 1.2 ne d�marreront pas si 
    l'une des deux requ�tes DNS cit�es ci-dessus n'aboutissent pas pour 
    un de vos serveurs virtuels. Dans certains cas, les entr�es DNS 
    sont hors de contr�le de l'administrateur Web&nbsp;; par exemple si 
    <code>abc.dom</code> appartient � un de vos clients qui a la 
    ma�trise de son propre DNS, celui-ci peut emp�cher votre serveur 
    Web (avant la version 1.2) de d�marrer, simplement en effa�ant 
    l'enregistrement <code>www.abc.dom</code> du DNS.</p>
    
    <p>L'autre probl�me possible est bien plus pernicieux. Dans la 
    configuration suivante&nbsp;:</p>

    <div class="example"><p><code>
      &lt;VirtualHost www.abc.dom&gt; <br />
      &nbsp;&nbsp;ServerAdmin webgirl@abc.dom <br />
      &nbsp;&nbsp;DocumentRoot /www/abc <br />
      &lt;/VirtualHost&gt; <br />
      <br />
      &lt;VirtualHost www.def.dom&gt; <br />
      &nbsp;&nbsp;ServerAdmin webguy@def.dom <br />
      &nbsp;&nbsp;DocumentRoot /www/def <br />
      &lt;/VirtualHost&gt;
    </code></p></div>

    <p>Supposons que <code>www.abc.dom</code> ait l'adresse 10.0.0.1, 
    et que <code>www.def.dom</code> ait l'adresse 10.0.0.2. Supposons 
    �galement que <code>def.com</code> ait la main sur son DNS. 
    Cette configuration peut permettre � <code>def.dom</code> de 
    d�tourner vers son serveur tout le trafic destin� � 
    <code>abc.dom</code>. Pour ce faire, il doit simplement
    positionner le champ DNS de <code>www.def.dom</code> sur 10.0.0.1, 
    et rien ne peut l'emp�cher de faire, puisqu'il a la main sur 
    son DNS.</p>

    <p>Les requ�tes � destination de 10.0.0.1 (incluant celles dont 
    l'URL contient <code>http://www.abc.com/tout_et_n_importe_quoi</code>) 
    seront envoy�es au serveur virtuel de <code>def.dom</code>. Une 
    bonne compr�hension des m�canismes internes d'Apache concernant 
    la gestion des serveur virtuels est requise. 
    <a href="vhosts/details.html">Ce document</a> explique ce 
    fonctionnement.</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>L'impl�mentation du support des serveur virtuels <a href="vhosts/name-based.html">par nom</a> depuis Apache 1.1 suppose
    qu'Apache connaisse la ou les adresse(s) IP sur lesquelles le serveur 
    �coute. Pour d�terminer cette adresse, Apache utilise soit la 
    directive globale <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code> 
    (si elle est pr�sente), soit un appel � la fonction C 
    <code>gethostname</code> (cet appel renvoie le m�me r�sultat 
    que la commande "hostname" entr�e sur une ligne de commande). 
    Une r�solution DNS est alors effectu�e sur l'adresse obtenue. 
    Pour l'instant, il n'existe aucun moyen de contourner cette 
    requ�te DNS.</p>

    <p>Pour se pr�munir du cas o� cette r�solution DNS �chouerait � 
    cause de la d�faillance du serveur DNS, le nom d'h�te peut �tre 
    ajout� dans <code>/etc/hosts</code> (il y est probablement d�j�). 
    Assurez vous que votre machine est configur�e pour lire ce fichier 
    <code>/etc/hosts</code> en cas de d�faillance du serveur DNS. 
    Pour cela, selon votre syst�me d'exploitation, il vous faudra configurer 
    <code>/etc/resolv.conf</code> ou <code>/etc/nsswitch.conf</code>.</p>

    <p>Au cas o� votre serveur n'a pas besoin de r�aliser des requ�tes 
    DNS pour d'autres raisons que de d�marrer Apache, il est possible 
    que vous puissiez vous en sortir en positionnant la variable 
    d'environnement <code>HOSTRESORDER</code> sur "local". Ceci d�pend 
    cependant de votre syst�me d'exploitation et des librairies de 
    r�solution DNS que vous utilisez. Ceci affecte �galement le 
    comportement des scripts CGIs, � moins que vous n'utilisiez 
    <code class="module"><a href="./mod/mod_env.html">mod_env</a></code> pour contr�ler leur environnement. La 
    meilleure solution est de consulter les pages "man" ou les FAQs 
    sp�cifiques � 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">Comment �viter ces probl�mes</a></h2>
    

    <ul>
      <li>
        sp�cifier les adresses IP dans les 
        <code class="directive"><a href="./mod/core.html#virtualhost">VirtualHost</a></code>
      </li>

      <li>
        sp�cifier les adresses IP au moyen de
        <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code>
      </li>

      <li>
        s'assurer que tous les serveurs virtuels sp�cifient explicitement 
        leur <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code>
      </li>

      <li>cr�er un serveur virtuel <code>&lt;VirtualHost _default_:*&gt;</code>
      qui ne sert aucune page</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: Perspectives futures</a></h2>
    

    <p>Les probl�mes li�s au DNS sont tr�s ind�sirables. � partir 
    d'Apache 1.2, nous avons travaill� � ce qu'Apache d�marre m�me 
    dans le cas o� les requ�tes DNS �chouent, mais ce n'est pas 
    forc�ment la meilleure des solutions. En tous cas, obliger 
    l'administrateur � sp�cifier explicitement des adresses IP est 
    �galement tr�s ind�sirable sur le r�seau Internet tel qu'il 
    existe actuellement, o� le nombre d'adresses IP commence � manquer.</p>
    
    <p>Une r�ponse possible au probl�me de vol de trafic d�crit ci-avant
    pourrait �tre de r�aliser une r�solution inverse DNS sur l'adresse IP 
    renvoy�e par la premi�re requ�te, et de comparer les deux noms 
    obtenus -- lorsqu'ils sont diff�rents, le serveur virtuel serait 
    d�sactiv�. Ceci suppose que la configuration pour la r�solution 
    inverse DNS soit faite correctement (c'est une chose � laquelle 
    les administrateurs DNS commencent � s'habituer, en raison de 
    l'utilisation de plus en plus r�pandue des requ�tes DNS 
    "double-reverse" par les serveurs FTP et les filtrages 
    "TCP wrappers").</p>
    
    <p>Dans tous les cas de figures, il ne semble pas possible de 
    d�marrer de fa�on fiable un serveur virtuel quand la requ�te 
    DNS a �chou�, � moins de recourir � l'utilisation d'adresses 
    IP fixes. Des solutions partielles, telles que d�sactiver des 
    portions de la configuration selon les t�ches attribu�es au 
    serveur Web, risquent d'�tre pires que ne pas d�marrer du tout.</p>
    
    <p>Au fur et � mesure que HTTP/1.1 se r�pand, et que les navigateurs 
    et les serveurs mandataires envoient l'en-t�te <code>Host</code>, 
    il devient possible d'�viter compl�tement l'utilisation de serveurs 
    virtuels par IP. Dans ce cas, les serveurs Web n'ont plus aucun 
    besoin de r�aliser des requ�tes DNS lors de leur d�marrage. Au 1er 
    mars 1997, ces fonctionnalit�s ne sont pas suffisamment d�ploy�es pour 
    que des serveurs Web sensibles les mettent en oeuvre (NdT&nbsp;: cette 
    remarque est aujourd'hui compl�tement d�pass�e, HTTP/1.1 est 
    d�sormais support� par l'immense majorit� des navigateurs et 
    des serveurs mandataires).</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="./es/dns-caveats.html" hreflang="es" rel="alternate" title="Espa�ol">&nbsp;es&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 2009 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>