From cc40af334e619bb549038238507407866f774f8f Mon Sep 17 00:00:00 2001 From: hongbotian Date: Mon, 30 Nov 2015 01:35:09 -0500 Subject: upload apache JIRA: BOTTLENECK-10 Change-Id: I67eae31de6dc824097dfa56ab454ba36fdd23a2c Signed-off-by: hongbotian --- rubbos/app/apache2/manual/dns-caveats.html.tr.utf8 | 239 +++++++++++++++++++++ 1 file changed, 239 insertions(+) create mode 100644 rubbos/app/apache2/manual/dns-caveats.html.tr.utf8 (limited to 'rubbos/app/apache2/manual/dns-caveats.html.tr.utf8') diff --git a/rubbos/app/apache2/manual/dns-caveats.html.tr.utf8 b/rubbos/app/apache2/manual/dns-caveats.html.tr.utf8 new file mode 100644 index 00000000..539383da --- /dev/null +++ b/rubbos/app/apache2/manual/dns-caveats.html.tr.utf8 @@ -0,0 +1,239 @@ + + + +Apache ve DNS ile ilgili Konular - Apache HTTP Sunucusu + + + + + +
<-
+

Apache ve DNS ile ilgili Konular

+
+

Mevcut Diller:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

Bu sayfanın konusu şöyle özetlenebilirdi: Yapılandırma dosyalarınızda + DNS sorguları yapılmasını gerektirecek ayarlamalardan kaçınınız. Eğer + yapılandırma dosyalarınızda DNS sorgusu yapılarak çözümlenebilecek + adresler bulunursa sunucunuz beklenmedik davranışlar (hiç + başlamayabilir) gösterebileceği gibi hizmet reddi veya hizmet + hırsızlığı (bazı kullanıcıların diğerlerine giden sayfaları çalma + olasılığı dahil) saldırılarına açık hale gelebilir.

+
+ +
top
+
+

Basit Bir Örnek

+ + +

+ <VirtualHost falan.fesmekan.dom> + + ServerAdmin filanca@fesmekan.dom
+ DocumentRoot /siteler/fesmekan +
+ </VirtualHost> +

+ +

Apache’nin beklendiği gibi işlemesi için her sanal konak için iki + veriye mutlaka ihtiyacı vardır: ServerName ve sunucunun bağlantı kabul edip hizmet + sunacağı en az bir IP adresi. Yukarıdaki örnekte IP adresi + bulunmamaktadır, dolayısıyla Apache, falan.fesmekan.dom + adresi için bir DNS sorgusu yapmak zorundadır. Eğer sunucu, + yapılandırma dosyasını çözümlediği sırada bir sebeple DNS sunucusuna + erişemezse bu sanal konak yapılandırılmayacak (hApache 1.2 + öncesinde sunucu hiç başlatılmazdı) ve bu sanal konağa yapılan + isteklere yanıt verilemeyecektir.

+ +

falan.fesmekan.dom’un 192.168.2.1 IP adresine sahip + olduğunu varsayarsak yapılandırma şöyle olurdu:

+ +

+ <VirtualHost 192.168.2.1>
+ + ServerAdmin filanca@fesmekan.dom
+ DocumentRoot /siteler/fesmekan +
+ </VirtualHost> +

+ +

Ancak, bu sefer de bu sanal konağın sunucu ismini öğrenmek için + Apache’nin bir ters DNS sorgusu yapması gerekecektir. Eğer bu sorgu + başarısız olursa kısmi bir yapılandırmaya gidilir (Apache 1.2 öncesinde + sunucu hiç başlatılmazdı). Eğer sanal konak isme dayalı ise sanal konak + kısmen bile yapılandırılmaz. IP’ye dayalı sanal konaklar büyük oranda + çalışır, fakat sunucu ismini içeren tam bir adres üretilmesini + gerektiren bir durumda, sunucu geçerli bir adres üretemez.

+ +

Her iki sorunu da çözen yapılandırma şöyle olurdu:

+ +

+ <VirtualHost 192.168.2.1>
+ + ServerName falan.fesmekan.dom
+ ServerAdmin filanca@fesmekan.dom
+ DocumentRoot /siteler/fesmekan +
+ </VirtualHost> +

+
top
+
+

Hizmet Reddi

+ + +

Hizmet reddinin meydana gelebilecek (en az) iki türü vardır. + Apache’nin 1.2 öncesi bir sürümünü kullanıyorsanız sanal + konaklarınızdan herhangi biri için yukarıdaki iki sorgudan biri + başarısız olursa sunucunuzu asla başlatamazsınız. Bazı durumlarda, DNS + sorgularından alınacak yanıtlar sizin denetiminizde olmayabilir; + örneğin fesmekan.dom müşterilerinizden birine aitse ve + kendi DNS sunucuları varsa falan.fesmekan.dom kaydını + silerek sunucunuzun hiç başlatılamamasına (1.2 öncesi) sebep + olabilirler.

+ +

Diğer türü biraz daha sinsidir. Şöyle bir yapılandırmanız olsun:

+ +

+ <VirtualHost falan.fesmekan.dom>
+ + ServerAdmin filanca@fesmekan.dom
+ DocumentRoot /siteler/fesmekan +
+ </VirtualHost>
+
+ <VirtualHost misal.mesela.dom>
+ + ServerAdmin falanca@mesela.dom
+ DocumentRoot /siteler/mesela
+
+ </VirtualHost> +

+ +

falan.fesmekan.dom’a 192.168.2.1, + misal.mesela.dom’a 192.168.2.2 atadığınızı fakat, + mesela.dom’un DNS kaydının sizin denetiminizde olmadığını + varsayalım. Bu yapılandırmayla, mesela.dom’u + fesmekan.dom’a giden tüm trafiği çalabilecek duruma + getirirsiniz. Bunu gerçekleştirmek için DNS kaydında + misal.mesela.dom’a 192.168.2.1 adresinin atanması + yeterlidir. Kendi DNS’lerine sahip olduklarından dolayı + misal.mesela.dom’a istedikleri IP adresini atamaktan + onları alıkoyamazsınız.

+ +

192.168.2.1’e gelen isteklerin hepsine + (http://falan.fesmekan.dom/biryer şeklinde yazılan + adresler dahil) mesela.dom sanal konağınca hizmet + sunulacaktır. Apache’nin gelen istekleri sunduğu sanal konaklarla nasıl + eşleştirdiğini bilirseniz bunun sebebini kolayca anlarsınız. Bunu + kabataslak açıklayan bir belgemiz + mevcuttur.

+
top
+
+

"Ana Sunucu" Adresi

+ + +

Apache 1.1’de isme dayalı sanal konak + desteğine ek olarak, Apache’nin, httpd’nin + çalıştığı makinenin IP adres(ler)ini de bilmeye ihtiyacı vardır. Bu + adresi elde etmek için sunucu, ya sunucu genelinde geçerli ServerName yönergesine bakar ya da bir C + işlevi olan gethostname’i kullanır (işlev, komut + isteminden hostname komutuna dönen yanıtın aynısını + döndürür) ve ardından bu adresle ilgili olarak bir DNS sorgusu yapar. + Bu sorgudan kaçınmanın henüz bir yolu yoktur.

+ +

Eğer bu sorgunun (DNS sunucusunun çökmüş olması gibi bir nedenle) + başarısız olabileceğinden korkuyorsanız, makine ismini ve IP adresini + /etc/hosts dosyanıza yazabilirsiniz (Makinenizin düzgün + olarak açılabilmesi için zaten bu kaydı yapmış olmanız gerekir). + Kullandığınız işletim sistemine bağlı olarak bu kaydın + /etc/resolv.conf veya /etc/nsswitch.conf + dosyasında bulunması gerekebilir.

+ +

Herhangi bir nedenle sunucunuz bir DNS sorgusu yapmıyorsa veya + yapmamalıysa, Apache’yi HOSTRESORDER ortam değişkenine + "local" değerini atadıktan sonra çalıştırabilirsiniz. Bu + tamamen işletim sistemine ve kullandığınız çözümleyici kütüphanelere + bağlıdır. Ayrıca, ortamı denetlemek için mod_env + kullanmıyorsanız, CGI’ler de bundan etkilenir. En iyisi işletim + sisteminizin SSS belgelerini ve kılavuz sayfalarını okumaktır.

+
top
+
+

Bu Sorunlardan Kaçınmak için İpuçları

+ + +
    +
  • VirtualHost yönergelerinizde + IP adresleri kullanınız.
  • + +
  • Listen yönergelerinizde + IP adresleri kullanınız.
  • + +
  • Tüm sanal konakların ayrı birer ServerName yönergesi olsun.
  • + +
  • Hiçbir sayfa sunulmayan bir <VirtualHost + _default_:*> sanal konağınız olsun.
  • +
+
top
+
+

Ek: Ufuk Turu

+ + +

DNS ile ilgili durum hiç de arzu edildiği gibi değildir. Apache 1.2 + için, DNS sorguları başarısız olsa bile sunucunun başlatılabilmesini + sağlamaya çalıştık, fakat belki yapabildiğimizden daha da iyisi + mümkündür. Günümüz Genel Ağ’ında IP adresleri sık sık değiştiğinden + yapılandırma dosyasına doğrudan IP adresini yazma gerekliliği asla arzu + edilen davranış değildir.

+ +

Yukarıda nasıl yapıldığı açıklanan hizmet hırsızlığı saldırısına karşı + önlem olarak, normal sorgudan dönen IP adresine bir ters DNS sorgusu + yapıp bu iki sonucu karşılaştırmak ve eşleşmeme durumunda sanal konağı + iptal etmek bir çözüm olabilir. Fakat bunun mümkün olabilmesi için + uygun bir ters DNS kaydına ihtiyaç vardır. (FTP sunucuları ve TCP + sarmalayıcılar tarafından yapılan çifte ters DNS sorgusu kullanımından + dolayı çoğu ağ yöneticisi bu konuda zaten bilgi sahibidir.)

+ +

Her halükarda, IP adreslerinin kullanılmaması nedeniyle yapılan DNS + sorgularının başarısız olması durumunda sanal konaklı bir sunucuyu + düzgün bir şekilde başlatmak olası görünmektedir. Yapılandırmayı kısmen + iptal etmek gibi kısmi çözümler, sunucudan beklentinizin ne olduğuna + bağlı olarak sunucuyu hiç başlatmamaktan daha iyi olabilir.

+ +

HTTP/1.1’de belirtildiği gibi Host başlığını göndererek + işlem yapabilen tarayıcılar ve vekiller IP’ye dayalı sanal konak + kullanımını tamamen ortadan kaldırmanın mümkün olabileceğini + göstermektedir. Bu durumda yapılandırmanın çözümlenmesi aşamasında DNS + sorgusu yapma gereği kalmayacaktır. Fakat 1997 Mart’ından beri önemli + sunucular üzerinde bunların yeterince geniş bir uygulama alanı + bulmadığı görülmektedir.

+
+
+

Mevcut Diller:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ \ No newline at end of file -- cgit 1.2.3-korg