]> granicus.if.org Git - apache/blob - docs/manual/dns-caveats.xml.tr
New french translation.
[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: 507346:788933 (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       &lt;VirtualHost falan.fesmekan.dom&gt;
46       <indent>
47         ServerAdmin filanca@fesmekan.dom <br />
48         DocumentRoot /siteler/fesmekan
49       </indent>
50       &lt;/VirtualHost&gt;
51     </example>
52
53     <p>Apache’nin beklendiği gibi işlemesi için her sanal konak için iki
54       veriye mutlaka ihtiyacı vardır: <directive module="core"
55       >ServerName</directive> ve sunucunun bağlantı kabul edip hizmet
56       sunacağı en az bir IP adresi. Yukarıdaki örnekte IP adresi
57       bulunmamaktadır, dolayısıyla Apache, <code>falan.fesmekan.dom</code>
58       adresi için bir DNS sorgusu yapmak zorundadır. Eğer sunucu,
59       yapılandırma dosyasını çözümlediği sırada bir sebeple DNS sunucusuna
60       erişemezse bu sanal konak <em>yapılandırılmayacak</em> (hApache 1.2
61       öncesinde sunucu hiç başlatılmazdı) ve bu sanal konağa yapılan
62       isteklere yanıt verilemeyecektir.</p>
63
64     <p><code>falan.fesmekan.dom</code>’un 192.168.2.1 IP adresine sahip
65       olduğunu varsayarsak yapılandırma şöyle olurdu:</p>
66
67     <example>
68       &lt;VirtualHost 192.168.2.1&gt; <br />
69       <indent>
70         ServerAdmin filanca@fesmekan.dom <br />
71         DocumentRoot /siteler/fesmekan
72       </indent>
73       &lt;/VirtualHost&gt;
74     </example>
75
76     <p>Ancak, bu sefer de bu sanal konağın sunucu ismini öğrenmek için
77       Apache’nin bir ters DNS sorgusu yapması gerekecektir. Eğer bu sorgu
78       başarısız olursa kısmi bir yapılandırmaya gidilir (Apache 1.2 öncesinde
79       sunucu hiç başlatılmazdı). Eğer sanal konak isme dayalı ise sanal konak
80       kısmen bile yapılandırılmaz. IP’ye dayalı sanal konaklar büyük oranda
81       çalışır, fakat sunucu ismini içeren tam bir adres üretilmesini
82       gerektiren bir durumda, sunucu geçerli bir adres üretemez.</p>
83
84     <p>Her iki sorunu da çözen yapılandırma şöyle olurdu:</p>
85
86     <example>
87       &lt;VirtualHost 192.168.2.1&gt; <br />
88       <indent>
89         ServerName falan.fesmekan.dom <br />
90         ServerAdmin filanca@fesmekan.dom <br />
91         DocumentRoot /siteler/fesmekan
92       </indent>
93       &lt;/VirtualHost&gt;
94     </example>
95   </section>
96
97   <section id="denial">
98     <title>Hizmet Reddi</title>
99
100     <p>Hizmet reddinin meydana gelebilecek (en az) iki türü vardır.
101       Apache’nin 1.2 öncesi bir sürümünü kullanıyorsanız sanal
102       konaklarınızdan herhangi biri için yukarıdaki iki sorgudan biri
103       başarısız olursa sunucunuzu asla başlatamazsınız. Bazı durumlarda, DNS
104       sorgularından alınacak yanıtlar sizin denetiminizde olmayabilir;
105       örneğin <code>fesmekan.dom</code> müşterilerinizden birine aitse ve
106       kendi DNS sunucuları varsa <code>falan.fesmekan.dom</code> kaydını
107       silerek sunucunuzun hiç başlatılamamasına (1.2 öncesi) sebep
108       olabilirler.</p>
109
110     <p>Diğer türü biraz daha sinsidir. Şöyle bir yapılandırmanız olsun:</p>
111
112     <example>
113       &lt;VirtualHost falan.fesmekan.dom&gt;<br />
114       <indent>
115         ServerAdmin filanca@fesmekan.dom <br />
116         DocumentRoot /siteler/fesmekan
117       </indent>
118       &lt;/VirtualHost&gt;<br />
119       <br />
120       &lt;VirtualHost misal.mesela.dom&gt;<br />
121       <indent>
122         ServerAdmin falanca@mesela.dom<br />
123         DocumentRoot /siteler/mesela<br />
124       </indent>
125       &lt;/VirtualHost&gt;
126     </example>
127
128     <p><code>falan.fesmekan.dom</code>’a 192.168.2.1,
129       <code>misal.mesela.dom</code>’a 192.168.2.2 atadığınızı fakat,
130       <code>mesela.dom</code>’un DNS kaydının sizin denetiminizde olmadığını
131       varsayalım. Bu yapılandırmayla, <code>mesela.dom</code>’u
132       <code>fesmekan.dom</code>’a giden tüm trafiği çalabilecek duruma
133       getirirsiniz. Bunu gerçekleştirmek için DNS kaydında
134       <code>misal.mesela.dom</code>’a 192.168.2.1 adresinin atanması
135       yeterlidir. Kendi DNS’lerine sahip olduklarından dolayı
136       <code>misal.mesela.dom</code>’a istedikleri IP adresini atamaktan
137       onları alıkoyamazsınız.</p>
138
139     <p>192.168.2.1’e gelen isteklerin hepsine
140       (<code>http://falan.fesmekan.dom/biryer</code> şeklinde yazılan
141       adresler dahil) <code>mesela.dom</code> sanal konağınca hizmet
142       sunulacaktır. Apache’nin gelen istekleri sunduğu sanal konaklarla nasıl
143       eşleştirdiğini bilirseniz bunun sebebini kolayca anlarsınız. Bunu
144       kabataslak açıklayan  <a href="vhosts/details.html">bir belgemiz
145       mevcuttur</a>.</p>
146   </section>
147
148   <section id="main">
149     <title>"Ana Sunucu" Adresi</title>
150
151     <p>Apache 1.1’de <a href="vhosts/name-based.html">isme dayalı sanal konak
152       desteği</a>ne ek olarak, Apache’nin, <program>httpd</program>’nin
153       çalıştığı makinenin IP adres(ler)ini de bilmeye ihtiyacı vardır. Bu
154       adresi elde etmek için sunucu, ya sunucu genelinde geçerli <directive
155       module="core">ServerName</directive> yönergesine bakar ya da bir C
156       işlevi olan <code>gethostname</code>’i kullanır (işlev, komut
157       isteminden <code>hostname</code> komutuna dönen yanıtın aynısını
158       döndürür) ve ardından bu adresle ilgili olarak bir DNS sorgusu yapar.
159       Bu sorgudan kaçınmanın henüz bir yolu yoktur.</p>
160
161     <p>Eğer bu sorgunun (DNS sunucusunun çökmüş olması gibi bir nedenle)
162       başarısız olabileceğinden korkuyorsanız, makine ismini ve IP adresini
163       <code>/etc/hosts</code> dosyanıza yazabilirsiniz (Makinenizin düzgün
164       olarak açılabilmesi için zaten bu kaydı yapmış olmanız gerekir).
165       Kullandığınız işletim sistemine bağlı olarak bu kaydın
166       <code>/etc/resolv.conf</code> veya <code>/etc/nsswitch.conf</code>
167       dosyasında bulunması gerekebilir.</p>
168
169     <p>Herhangi bir nedenle sunucunuz bir DNS sorgusu yapmıyorsa veya
170       yapmamalıysa, Apache’yi <code>HOSTRESORDER</code> ortam değişkenine
171       "<code>local</code>" değerini atadıktan sonra çalıştırabilirsiniz. Bu
172       tamamen işletim sistemine ve kullandığınız çözümleyici kütüphanelere
173       bağlıdır. Ayrıca, ortamı denetlemek için <module>mod_env</module>
174       kullanmıyorsanız, CGI’ler de bundan etkilenir. En iyisi işletim
175       sisteminizin SSS belgelerini ve kılavuz sayfalarını okumaktır.</p>
176   </section>
177
178   <section id="tips">
179     <title>Bu Sorunlardan Kaçınmak için İpuçları</title>
180
181     <ul>
182       <li><directive module="core">VirtualHost</directive> yönergelerinizde
183         IP adresleri kullanınız.</li>
184
185       <li><directive module="mpm_common">Listen</directive> yönergelerinizde
186         IP adresleri kullanınız.</li>
187
188       <li>Tüm sanal konakların ayrı birer <directive module="core"
189         >ServerName</directive> yönergesi olsun.</li>
190
191       <li>Hiçbir sayfa sunulmayan bir <code>&lt;VirtualHost
192         _default_:*&gt;</code> sanal konağınız olsun.</li>
193     </ul>
194   </section>
195
196   <section id="appendix">
197     <title>Ek: Ufuk Turu</title>
198
199     <p>DNS ile ilgili durum hiç de arzu edildiği gibi değildir. Apache 1.2
200       için, DNS sorguları başarısız olsa bile sunucunun başlatılabilmesini
201       sağlamaya çalıştık, fakat belki yapabildiğimizden daha da iyisi
202       mümkündür. Günümüz Genel Ağ’ında IP adresleri sık sık değiştiğinden
203       yapılandırma dosyasına doğrudan IP adresini yazma gerekliliği asla arzu
204       edilen davranış değildir.</p>
205
206     <p>Yukarıda nasıl yapıldığı açıklanan hizmet hırsızlığı saldırısına karşı
207       önlem olarak, normal sorgudan dönen IP adresine bir ters DNS sorgusu
208       yapıp bu iki sonucu karşılaştırmak ve eşleşmeme durumunda sanal konağı
209       iptal etmek bir çözüm olabilir. Fakat bunun mümkün olabilmesi için
210       uygun bir ters DNS kaydına ihtiyaç vardır. (FTP sunucuları ve TCP
211       sarmalayıcılar tarafından yapılan çifte ters DNS sorgusu kullanımından
212       dolayı çoğu ağ yöneticisi bu konuda zaten bilgi sahibidir.)</p>
213
214     <p>Her halükarda, IP adreslerinin kullanılmaması nedeniyle yapılan DNS
215       sorgularının başarısız olması durumunda sanal konaklı bir sunucuyu
216       düzgün bir şekilde başlatmak olası görünmektedir. Yapılandırmayı kısmen
217       iptal etmek gibi kısmi çözümler, sunucudan beklentinizin ne olduğuna
218       bağlı olarak sunucuyu hiç başlatmamaktan daha iyi olabilir.</p>
219
220     <p>HTTP/1.1’de belirtildiği gibi <code>Host</code> başlığını göndererek
221       işlem yapabilen tarayıcılar ve vekiller IP’ye dayalı sanal konak
222       kullanımını tamamen ortadan kaldırmanın mümkün olabileceğini
223       göstermektedir. Bu durumda yapılandırmanın çözümlenmesi aşamasında DNS
224       sorgusu yapma gereği kalmayacaktır. Fakat 1997 Mart’ından beri önemli
225       sunucular üzerinde bunların yeterince geniş bir uygulama alanı
226       bulmadığı görülmektedir.</p>
227   </section>
228 </manualpage>