]> granicus.if.org Git - apache/blob - docs/manual/dns-caveats.xml.tr
Rebuilds various transformations
[apache] / docs / manual / dns-caveats.xml.tr
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
4 <!-- English Revision: 788974:1030181 (outdated) -->
5 <!-- =====================================================
6  Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
7    Reviewed by: Orhan Berent <berent belgeler.org>
8 ========================================================== -->
9
10 <!--
11  Licensed to the Apache Software Foundation (ASF) under one or more
12  contributor license agreements.  See the NOTICE file distributed with
13  this work for additional information regarding copyright ownership.
14  The ASF licenses this file to You under the Apache License, Version 2.0
15  (the "License"); you may not use this file except in compliance with
16  the License.  You may obtain a copy of the License at
17
18      http://www.apache.org/licenses/LICENSE-2.0
19
20  Unless required by applicable law or agreed to in writing, software
21  distributed under the License is distributed on an "AS IS" BASIS,
22  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23  See the License for the specific language governing permissions and
24  limitations under the License.
25 -->
26
27 <manualpage metafile="dns-caveats.xml.meta">
28
29   <title>Apache ve DNS ile ilgili Konular</title>
30
31   <summary>
32     <p>Bu sayfanın konusu şöyle özetlenebilirdi: Yapılandırma dosyalarınızda
33       DNS sorguları yapılmasını gerektirecek ayarlamalardan kaçınınız. Eğer
34       yapılandırma dosyalarınızda DNS sorgusu yapılarak çözümlenebilecek
35       adresler bulunursa sunucunuz beklenmedik davranışlar (hiç
36       başlamayabilir) gösterebileceği gibi hizmet reddi veya hizmet
37       hırsızlığı (bazı kullanıcıların diğerlerine giden sayfaları çalma
38       olasılığı dahil) saldırılarına açık hale gelebilir.</p>
39   </summary>
40
41   <section id="example">
42     <title>Basit Bir Örnek</title>
43
44     <example>
45       # Bu yetersiz bir yapılandırma örneğidir, sunucunuzda kullanmayın. <br />
46       &lt;VirtualHost falan.fesmekan.dom&gt;
47       <indent>
48         ServerAdmin filanca@fesmekan.dom <br />
49         DocumentRoot /siteler/fesmekan
50       </indent>
51       &lt;/VirtualHost&gt;
52     </example>
53
54     <p>Apache’nin beklendiği gibi işlemesi için her sanal konak için iki
55       veriye mutlaka ihtiyacı vardır: <directive module="core"
56       >ServerName</directive> ve sunucunun bağlantı kabul edip hizmet
57       sunacağı en az bir IP adresi. Yukarıdaki örnekte IP adresi
58       bulunmamaktadır, dolayısıyla Apache, <code>falan.fesmekan.dom</code>
59       adresi için bir DNS sorgusu yapmak zorundadır. Eğer sunucu,
60       yapılandırma dosyasını çözümlediği sırada bir sebeple DNS sunucusuna
61       erişemezse bu sanal konak <em>yapılandırılmayacak</em> (hApache 1.2
62       öncesinde sunucu hiç başlatılmazdı) ve bu sanal konağa yapılan
63       isteklere yanıt verilemeyecektir.</p>
64
65     <p><code>falan.fesmekan.dom</code>’un 192.168.2.1 IP adresine sahip
66       olduğunu varsayarsak yapılandırma şöyle olurdu:</p>
67
68     <example>
69       # Bu yetersiz bir yapılandırma örneğidir, sunucunuzda kullanmayın. <br />
70       &lt;VirtualHost 192.168.2.1&gt; <br />
71       <indent>
72         ServerAdmin filanca@fesmekan.dom <br />
73         DocumentRoot /siteler/fesmekan
74       </indent>
75       &lt;/VirtualHost&gt;
76     </example>
77
78     <p>Ancak, bu sefer de bu sanal konağın sunucu ismini öğrenmek için
79       Apache’nin bir ters DNS sorgusu yapması gerekecektir. Eğer bu sorgu
80       başarısız olursa kısmi bir yapılandırmaya gidilir (Apache 1.2 öncesinde
81       sunucu hiç başlatılmazdı). Eğer sanal konak isme dayalı ise sanal konak
82       kısmen bile yapılandırılmaz. IP’ye dayalı sanal konaklar büyük oranda
83       çalışır, fakat sunucu ismini içeren tam bir adres üretilmesini
84       gerektiren bir durumda, sunucu geçerli bir adres üretemez.</p>
85
86     <p>Her iki sorunu da çözen yapılandırma şöyle olurdu:</p>
87
88     <example>
89       &lt;VirtualHost 192.168.2.1&gt; <br />
90       <indent>
91         ServerName falan.fesmekan.dom <br />
92         ServerAdmin filanca@fesmekan.dom <br />
93         DocumentRoot /siteler/fesmekan
94       </indent>
95       &lt;/VirtualHost&gt;
96     </example>
97   </section>
98
99   <section id="denial">
100     <title>Hizmet Reddi</title>
101
102     <p>Hizmet reddinin meydana gelebilecek (en az) iki türü vardır.
103       Apache’nin 1.2 öncesi bir sürümünü kullanıyorsanız sanal
104       konaklarınızdan herhangi biri için yukarıdaki iki sorgudan biri
105       başarısız olursa sunucunuzu asla başlatamazsınız. Bazı durumlarda, DNS
106       sorgularından alınacak yanıtlar sizin denetiminizde olmayabilir;
107       örneğin <code>fesmekan.dom</code> müşterilerinizden birine aitse ve
108       kendi DNS sunucuları varsa <code>falan.fesmekan.dom</code> kaydını
109       silerek sunucunuzun hiç başlatılamamasına (1.2 öncesi) sebep
110       olabilirler.</p>
111
112     <p>Diğer türü biraz daha sinsidir. Şöyle bir yapılandırmanız olsun:</p>
113
114     <example>
115       &lt;VirtualHost falan.fesmekan.dom&gt;<br />
116       <indent>
117         ServerAdmin filanca@fesmekan.dom <br />
118         DocumentRoot /siteler/fesmekan
119       </indent>
120       &lt;/VirtualHost&gt;<br />
121       <br />
122       &lt;VirtualHost misal.mesela.dom&gt;<br />
123       <indent>
124         ServerAdmin falanca@mesela.dom<br />
125         DocumentRoot /siteler/mesela<br />
126       </indent>
127       &lt;/VirtualHost&gt;
128     </example>
129
130     <p><code>falan.fesmekan.dom</code>’a 192.168.2.1,
131       <code>misal.mesela.dom</code>’a 192.168.2.2 atadığınızı fakat,
132       <code>mesela.dom</code>’un DNS kaydının sizin denetiminizde olmadığını
133       varsayalım. Bu yapılandırmayla, <code>mesela.dom</code>’u
134       <code>fesmekan.dom</code>’a giden tüm trafiği çalabilecek duruma
135       getirirsiniz. Bunu gerçekleştirmek için DNS kaydında
136       <code>misal.mesela.dom</code>’a 192.168.2.1 adresinin atanması
137       yeterlidir. Kendi DNS’lerine sahip olduklarından dolayı
138       <code>misal.mesela.dom</code>’a istedikleri IP adresini atamaktan
139       onları alıkoyamazsınız.</p>
140
141     <p>192.168.2.1’e gelen isteklerin hepsine
142       (<code>http://falan.fesmekan.dom/biryer</code> şeklinde yazılan
143       adresler dahil) <code>mesela.dom</code> sanal konağınca hizmet
144       sunulacaktır. Apache’nin gelen istekleri sunduğu sanal konaklarla nasıl
145       eşleştirdiğini bilirseniz bunun sebebini kolayca anlarsınız. Bunu
146       kabataslak açıklayan  <a href="vhosts/details.html">bir belgemiz
147       mevcuttur</a>.</p>
148   </section>
149
150   <section id="main">
151     <title>"Ana Sunucu" Adresi</title>
152
153     <p>Apache 1.1’de <a href="vhosts/name-based.html">isme dayalı sanal konak
154       desteği</a>ne ek olarak, Apache’nin, <program>httpd</program>’nin
155       çalıştığı makinenin IP adres(ler)ini de bilmeye ihtiyacı vardır. Bu
156       adresi elde etmek için sunucu, ya sunucu genelinde geçerli <directive
157       module="core">ServerName</directive> yönergesine bakar ya da bir C
158       işlevi olan <code>gethostname</code>’i kullanır (işlev, komut
159       isteminden <code>hostname</code> komutuna dönen yanıtın aynısını
160       döndürür) ve ardından bu adresle ilgili olarak bir DNS sorgusu yapar.
161       Bu sorgudan kaçınmanın henüz bir yolu yoktur.</p>
162
163     <p>Eğer bu sorgunun (DNS sunucusunun çökmüş olması gibi bir nedenle)
164       başarısız olabileceğinden korkuyorsanız, makine ismini ve IP adresini
165       <code>/etc/hosts</code> dosyanıza yazabilirsiniz (Makinenizin düzgün
166       olarak açılabilmesi için zaten bu kaydı yapmış olmanız gerekir).
167       Kullandığınız işletim sistemine bağlı olarak bu kaydın
168       <code>/etc/resolv.conf</code> veya <code>/etc/nsswitch.conf</code>
169       dosyasında bulunması gerekebilir.</p>
170
171     <p>Herhangi bir nedenle sunucunuz bir DNS sorgusu yapmıyorsa veya
172       yapmamalıysa, Apache’yi <code>HOSTRESORDER</code> ortam değişkenine
173       "<code>local</code>" değerini atadıktan sonra çalıştırabilirsiniz. Bu
174       tamamen işletim sistemine ve kullandığınız çözümleyici kütüphanelere
175       bağlıdır. Ayrıca, ortamı denetlemek için <module>mod_env</module>
176       kullanmıyorsanız, CGI’ler de bundan etkilenir. En iyisi işletim
177       sisteminizin SSS belgelerini ve kılavuz sayfalarını okumaktır.</p>
178   </section>
179
180   <section id="tips">
181     <title>Bu Sorunlardan Kaçınmak için İpuçları</title>
182
183     <ul>
184       <li><directive module="core">VirtualHost</directive> yönergelerinizde
185         IP adresleri kullanınız.</li>
186
187       <li><directive module="mpm_common">Listen</directive> yönergelerinizde
188         IP adresleri kullanınız.</li>
189
190       <li>Tüm sanal konakların ayrı birer <directive module="core"
191         >ServerName</directive> yönergesi olsun.</li>
192
193       <li>Hiçbir sayfa sunulmayan bir <code>&lt;VirtualHost
194         _default_:*&gt;</code> sanal konağınız olsun.</li>
195     </ul>
196   </section>
197
198   <section id="appendix">
199     <title>Ek: Ufuk Turu</title>
200
201     <p>DNS ile ilgili durum hiç de arzu edildiği gibi değildir. Apache 1.2
202       için, DNS sorguları başarısız olsa bile sunucunun başlatılabilmesini
203       sağlamaya çalıştık, fakat belki yapabildiğimizden daha da iyisi
204       mümkündür. Günümüz Genel Ağ’ında IP adresleri sık sık değiştiğinden
205       yapılandırma dosyasına doğrudan IP adresini yazma gerekliliği asla arzu
206       edilen davranış değildir.</p>
207
208     <p>Yukarıda nasıl yapıldığı açıklanan hizmet hırsızlığı saldırısına karşı
209       önlem olarak, normal sorgudan dönen IP adresine bir ters DNS sorgusu
210       yapıp bu iki sonucu karşılaştırmak ve eşleşmeme durumunda sanal konağı
211       iptal etmek bir çözüm olabilir. Fakat bunun mümkün olabilmesi için
212       uygun bir ters DNS kaydına ihtiyaç vardır. (FTP sunucuları ve TCP
213       sarmalayıcılar tarafından yapılan çifte ters DNS sorgusu kullanımından
214       dolayı çoğu ağ yöneticisi bu konuda zaten bilgi sahibidir.)</p>
215
216     <p>Her halükarda, IP adreslerinin kullanılmaması nedeniyle yapılan DNS
217       sorgularının başarısız olması durumunda sanal konaklı bir sunucuyu
218       düzgün bir şekilde başlatmak olası görünmektedir. Yapılandırmayı kısmen
219       iptal etmek gibi kısmi çözümler, sunucudan beklentinizin ne olduğuna
220       bağlı olarak sunucuyu hiç başlatmamaktan daha iyi olabilir.</p>
221
222     <p>HTTP/1.1’de belirtildiği gibi <code>Host</code> başlığını göndererek
223       işlem yapabilen tarayıcılar ve vekiller IP’ye dayalı sanal konak
224       kullanımını tamamen ortadan kaldırmanın mümkün olabileceğini
225       göstermektedir. Bu durumda yapılandırmanın çözümlenmesi aşamasında DNS
226       sorgusu yapma gereği kalmayacaktır. Fakat 1997 Mart’ından beri önemli
227       sunucular üzerinde bunların yeterince geniş bir uygulama alanı
228       bulmadığı görülmektedir.</p>
229   </section>
230 </manualpage>