Blame docs/manual/misc/security_tips.html.tr.utf8

Packit 90a5c9
Packit 90a5c9
Packit 90a5c9
<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head>
Packit 90a5c9
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
Packit 90a5c9
Packit 90a5c9
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Packit 90a5c9
              This file is generated from xml source: DO NOT EDIT
Packit 90a5c9
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Packit 90a5c9
      -->
Packit 90a5c9
<title>Güvenlik İpuçları - Apache HTTP Sunucusu Sürüm 2.4</title>
Packit 90a5c9
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
Packit 90a5c9
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
Packit 90a5c9
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
Packit 90a5c9
<script src="../style/scripts/prettify.min.js" type="text/javascript">
Packit 90a5c9
</script>
Packit 90a5c9
Packit 90a5c9
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
Packit 90a5c9
<body id="manual-page">
Packit 90a5c9

Modüller | Yönergeler | SSS | Terimler | Site Haritası

Packit 90a5c9

Apache HTTP Sunucusu Sürüm 2.4

Packit 90a5c9
Packit 90a5c9
<-
Packit 90a5c9
Packit 90a5c9
Apache > HTTP Sunucusu > Belgeleme > Sürüm 2.4 > Çeşitli Belgeler

Güvenlik İpuçları

Packit 90a5c9
Packit 90a5c9

Mevcut Diller:  en  |

Packit 90a5c9
 fr  |
Packit 90a5c9
 ko  |
Packit 90a5c9
 tr 

Packit 90a5c9
Packit 90a5c9
Packit 90a5c9
    

Bir HTTP Sunucusunu ayarlarken dikkat edilmesi gerekenler ve bazı

Packit 90a5c9
    ipuçları.  Öneriler kısmen Apache’ye özel kısmen de genel olacaktır.

Packit 90a5c9
  
Packit 90a5c9
Packit 90a5c9
  • Hizmet Reddi (DoS) Saldırıları
  • Packit 90a5c9
  • ServerRoot Dizinlerinin İzinleri
  • Packit 90a5c9
  • Sunucu Taraflı İçerik Yerleştirme
  • Packit 90a5c9
  • CGI Genelinde
  • Packit 90a5c9
  • ScriptAlias’sız CGI
  • Packit 90a5c9
  • ScriptAlias’lı CGI
  • Packit 90a5c9
  • Devingen içerikli kaynaklar
  • Packit 90a5c9
  • Devingen içeriğin güvenliği
  • Packit 90a5c9
  • Sistem Ayarlarının Korunması
  • Packit 90a5c9
  • Sunucu dosyalarının öntanımlı olarak korunması
  • Packit 90a5c9
  • Günlüklerin İzlenmesi
  • Packit 90a5c9
  • Yapılandırma bölümlerinin birleştirilmesi
  • Packit 90a5c9

    Ayrıca bakınız:

    Packit 90a5c9
    top
    Packit 90a5c9
    Packit 90a5c9

    Güncel Tutma

    Packit 90a5c9
    Packit 90a5c9
        

    Apache HTTP Sunucusu iyi bir güvenlik sicilinin yanında güvenlik

    Packit 90a5c9
          konularıyla oldukça ilgili bir geliştirici topluluğuna sahiptir. Fakat,
    Packit 90a5c9
          bir yazılımın dağıtılmasının ardından küçük ya da büyük bazı sorunların
    Packit 90a5c9
          keşfedilmesi kaçınılmazdır. Bu sebeple, yazılım güncellemelerinden
    Packit 90a5c9
          haberdar olmak oldukça önem kazanır. HTTP sunucunuzu doğrudan
    Packit 90a5c9
          Apache’den temin ediyorsanız yeni sürümler ve güvenlik güncellemeleri
    Packit 90a5c9
          ile ilgili bilgileri tam zamanında alabilmek için Apache
    Packit 90a5c9
          HTTP Sunucusu Duyuru Listesine mutlaka üye olmanızı öneririz.
    Packit 90a5c9
          Apache yazılımının üçüncü parti dağıtımlarını yapanların da buna benzer
    Packit 90a5c9
          hizmetleri vardır.

    Packit 90a5c9
    Packit 90a5c9
        

    Şüphesiz, bir HTTP sunucusu, sunucu kodunda bir sorun olmasa da

    Packit 90a5c9
          tehlike altındadır. Eklenti kodları, CGI betikleri hatta işletim
    Packit 90a5c9
          sisteminden kaynaklanan sorunlar nedeniyle bu ortaya çıkabilir. Bu
    Packit 90a5c9
          bakımdan, sisteminizdeki tüm yazılımların sorunları ve güncellemeleri
    Packit 90a5c9
          hakkında bilgi sahibi olmalısınız.

    Packit 90a5c9
    Packit 90a5c9
      
    top
    Packit 90a5c9
    Packit 90a5c9

    Hizmet Reddi (DoS) Saldırıları

    Packit 90a5c9
        
    Packit 90a5c9
    Packit 90a5c9
        

    Tüm ağ sunucuları, istemcilerin sistem kaynaklarından yararlanmalarını

    Packit 90a5c9
          engellemeye çalışan hizmet reddi saldırılarına (HRS) maruz kalabilir.
    Packit 90a5c9
          Bu tür saldırıları tamamen engellemek mümkün değildir, fakat
    Packit 90a5c9
          yarattıkları sorunları azaltmak için bazı şeyler yapabilirsiniz.

    Packit 90a5c9
    Packit 90a5c9
        

    Çoğunlukla en etkili anti-HRS aracı bir güvenlik duvarı veya başka bir

    Packit 90a5c9
          işletim sistemi yapılandırmasıdır. Örneğin, çoğu güvenlik duvarı
    Packit 90a5c9
          herhangi bir IP adresinden aynı anda yapılan bağlantıların sayısına bir
    Packit 90a5c9
          sınırlama getirmek üzere yapılandırılabilir. Böylece basit saldırılar
    Packit 90a5c9
          engellenebilir. Ancak bunun dağıtık hizmet reddi saldırılarına (DHRS)
    Packit 90a5c9
          karşı bir etkisi olmaz.

    Packit 90a5c9
    Packit 90a5c9
        

    Bunların yanında Apache HTTP Sunucusunun da sorunları azaltıcı

    Packit 90a5c9
          tedbirler alınmasını sağlayacak bazı yapılandırmaları vardır:

    Packit 90a5c9
    Packit 90a5c9
        
      Packit 90a5c9
            
    • RequestReadTimeout
    • Packit 90a5c9
              yönergesi bir istemcinin isteği göndermek için harcadığı zamanı
      Packit 90a5c9
              sınırlamayı sağlar.
      Packit 90a5c9
      Packit 90a5c9
            
    • HRS’ye maruz kalması olası sitelerde TimeOut yönergesinin değeri düşürülmelidir. Birkaç
    • Packit 90a5c9
              saniye gibi mümkün olduğunca düşük bir ayar uygun olabilir. Ancak
      Packit 90a5c9
              TimeOut başka işlemlerde de
      Packit 90a5c9
              kullanıldığından çok düşük değerler, örneğin, uzun süre çalışan CGI
      Packit 90a5c9
              betiklerinde sorunlar çıkmasına sebep olabilir.
      Packit 90a5c9
      Packit 90a5c9
            
    • HRS’ye maruz kalması olası sitelerde KeepAliveTimeout yönergesinin değeri de düşürülebilir.
    • Packit 90a5c9
              Hatta bazı siteler başarımı arttırmak amacıyla KeepAlive yönergesi üzerinden kalıcı
      Packit 90a5c9
              bağlantıları tamamen kapatabilirler.
      Packit 90a5c9
      Packit 90a5c9
            
    • Zaman aşımıyla ilgili yönergeler bakımından diğer modüller de
    • Packit 90a5c9
              araştırılmalıdır.
      Packit 90a5c9
      Packit 90a5c9
            
    • LimitRequestBody,
    • Packit 90a5c9
            LimitRequestFields,
      Packit 90a5c9
            LimitRequestFieldSize,
      Packit 90a5c9
            LimitRequestLine ve
      Packit 90a5c9
            LimitXMLRequestBody yönergeleri,
      Packit 90a5c9
              istemci girdileri ile tetiklenen özkaynak tüketimini sınırlamak için
      Packit 90a5c9
              yapılandırılırken dikkatli olunmalıdır.
      Packit 90a5c9
      Packit 90a5c9
            
    • İşletim sisteminiz desteklediği takdirde, işletim sisteminin isteği
    • Packit 90a5c9
              işleyen kısmını yüksüz bırakmak için AcceptFilter yönergesinin etkin olmasını sağlamalısınız.
      Packit 90a5c9
              Bu, Apache HTTP Sunucusunda zaten öntanımlı olarak etkindir.
      Packit 90a5c9
              Yapacağınız şey işletim sistemi çekirdeğini buna göre yapılandırmak
      Packit 90a5c9
              olacaktır.
      Packit 90a5c9
      Packit 90a5c9
            
    • Sunucu tarafından özkaynakları tüketmeden aynı anda işlenebilecek
    • Packit 90a5c9
              bağlantıların sayısını sınırlamak için MaxRequestWorkers yönergesini kullanın. Ayrıca, başarım arttırma belgesine de
      Packit 90a5c9
              bakabilirsiniz.
      Packit 90a5c9
      Packit 90a5c9
            
    • HRS’lerin etkilerini azaltmak için aynı andaki bağlantı sayısını
    • Packit 90a5c9
              arttırabilecek evreli MPM’lerden birini
      Packit 90a5c9
              kullanmak iyi olabilir. Dahası, event MPM’i
      Packit 90a5c9
              her bağlantıya yeni bir evre atanmaması için eşzamansız işlem yapar.
      Packit 90a5c9
              OpenSSL kütüphanesinin doğası nedeniyle
      Packit 90a5c9
              event MPM’i mod_ssl ve diğer girdi
      Packit 90a5c9
              süzgeçleri ile henüz uyumlu değildir. Bu durumlarda,
      Packit 90a5c9
              worker MPM'inin davranışına geri döner.
      Packit 90a5c9
      Packit 90a5c9
            
    • http://modules.apache.org/
    • Packit 90a5c9
              adresinde, belli istemci davranışlarını sınırlayacak ve HRS ile
      Packit 90a5c9
              ilgili sorunları azaltmaya yardımcı olacak üçüncü parti modüller
      Packit 90a5c9
              bulunabilir.
      Packit 90a5c9
          
      Packit 90a5c9
        
      top
      Packit 90a5c9
      Packit 90a5c9

      ServerRoot Dizinlerinin İzinleri

      Packit 90a5c9
          
      Packit 90a5c9
      Packit 90a5c9
          

      Normalde, Apache root kullanıcı tarafından başlatılır ve hizmetleri

      Packit 90a5c9
            sunarken User yönergesi
      Packit 90a5c9
            tarafından tanımlanan kullanıcının aidiyetinde çalışır. Root tarafından
      Packit 90a5c9
            çalıştırılan komutlarda olduğu gibi, root olmayan kullanıcıların
      Packit 90a5c9
            yapacakları değişikliklerden korunmak konusunda da dikkatli
      Packit 90a5c9
            olmalısınız. Dosyaların sadece root tarafından yazılabilir olmasını
      Packit 90a5c9
            sağlamak yeterli değildir, bu dizinler ve üst dizinler için de
      Packit 90a5c9
            yapılmalıdır. Örneğin, sunucu kök dizininin
      Packit 90a5c9
            /usr/local/apache olmasına karar verdiyseniz, bu dizini
      Packit 90a5c9
            root olarak şöyle oluşturmanız önerilir:

      Packit 90a5c9
      Packit 90a5c9
          

      Packit 90a5c9
            mkdir /usr/local/apache 
      Packit 90a5c9
            cd /usr/local/apache 
      Packit 90a5c9
            mkdir bin conf logs 
      Packit 90a5c9
            chown 0 . bin conf logs 
      Packit 90a5c9
            chgrp 0 . bin conf logs 
      Packit 90a5c9
            chmod 755 . bin conf logs
      Packit 90a5c9
          

      Packit 90a5c9
      Packit 90a5c9
          

      /, /usr, /usr/local

      Packit 90a5c9
            dizinlerinde sadece root tarafından değişiklik yapılabileceği kabul
      Packit 90a5c9
            edilir. httpd çalıştırılabilirini kurarken de benzer
      Packit 90a5c9
            bir önlemin alındığından emin olmalısınız:

      Packit 90a5c9
      Packit 90a5c9
          

      Packit 90a5c9
            cp httpd /usr/local/apache/bin 
      Packit 90a5c9
            chown 0 /usr/local/apache/bin/httpd 
      Packit 90a5c9
            chgrp 0 /usr/local/apache/bin/httpd 
      Packit 90a5c9
            chmod 511 /usr/local/apache/bin/httpd
      Packit 90a5c9
          

      Packit 90a5c9
      Packit 90a5c9
          

      Diğer kullanıcıların değişiklik yapabileceği bir dizin olarak bir

      Packit 90a5c9
            htdocs dizini oluşturabilirsiniz. Bu dizine root
      Packit 90a5c9
            tarafından çalıştırılabilecek dosyalar konulmamalı ve burada root
      Packit 90a5c9
            tarafından hiçbir dosya oluşturulmamalıdır.

      Packit 90a5c9
      Packit 90a5c9
          

      Diğer kullanıcılara root tarafından yazılabilen ve çalıştırılabilen

      Packit 90a5c9
            dosyalarda değişiklik yapma hakkını tanırsanız, onlara root
      Packit 90a5c9
            kullanıcısını ele geçirilebilme hakkını da tanımış olursunuz. Örneğin,
      Packit 90a5c9
            biri httpd çalıştırılabilirini zararlı bir programla
      Packit 90a5c9
            değiştirebilir ve o programı tekrar çalıştırdığınız sırada program
      Packit 90a5c9
            yapacağını yapmış olur. Günlükleri kaydettiğiniz dizin herkes
      Packit 90a5c9
            tarafından yazılabilen bir dizin olduğu takdirde, birileri bir günlük
      Packit 90a5c9
            dosyasını bir sistem dosyasına sembolik bağ haline getirerek root
      Packit 90a5c9
            kullanıcısının bu dosyaya ilgisiz şeyler yazmasına sebep olabilir.
      Packit 90a5c9
            Günlüklerin dosyaları herkes tarafından yazılabilir olduğu takdirde ise
      Packit 90a5c9
            birileri dosyaya yanıltıcı veriler girebilir.

      Packit 90a5c9
        
      top
      Packit 90a5c9
      Packit 90a5c9

      Sunucu Taraflı İçerik Yerleştirme

      Packit 90a5c9
          
      Packit 90a5c9
      Packit 90a5c9
          

      SSI sayfaları bir sunucu yöneticisi açısından çeşitli olası risklere

      Packit 90a5c9
            kaynaklık edebilir.

      Packit 90a5c9
      Packit 90a5c9
          

      İlk risk, sunucu yükündeki artış olasılığıdır. Tüm SSI sayfaları, SSI

      Packit 90a5c9
            kodu içersin içermesin Apache tarafından çözümlenir. Bu küçük bir artış
      Packit 90a5c9
            gibi görünürse de bir paylaşımlı sunucu ortamında önemli bir yük haline
      Packit 90a5c9
            gelebilir.

      Packit 90a5c9
      Packit 90a5c9
          

      SSI sayfaları, CGI betikleriyle ilgili riskleri de taşır. exec

      Packit 90a5c9
            cmd elemanı kullanılarak bir SSI sayfasından herhangi bir CGI
      Packit 90a5c9
            betiğini veya bir sistem programını Apache’nin aidiyetinde olduğu
      Packit 90a5c9
            kullanıcının yetkisiyle çalıştırmak mümkündür.

      Packit 90a5c9
      Packit 90a5c9
          

      SSI sayfalarının yararlı özelliklerinden yararlanırken güvenliğini de

      Packit 90a5c9
            arttırmanın bazı yolları vardır.

      Packit 90a5c9
      Packit 90a5c9
          

      Sunucu yöneticisi, bir başıbozuk SSI sayfasının sebep olabileceği

      Packit 90a5c9
            zararları bertaraf etmek için CGI Genelinde
      Packit 90a5c9
            bölümünde açıklandığı gibi suexec’i etkin
      Packit 90a5c9
            kılabilir.

      Packit 90a5c9
      Packit 90a5c9
          

      SSI sayfalarını .html veya .htm

      Packit 90a5c9
            uzantılarıyla etkinleştirmek tehlikeli olabilir. Bu özellikle
      Packit 90a5c9
            paylaşımlı ve yüksek trafikli bir sunucu ortamında önemlidir. SSI
      Packit 90a5c9
            sayfalarını normal sayfalardan farklı olarak .shtml gibi
      Packit 90a5c9
            bildik bir uzantıyla etkinleştirmek gerekir. Bu, sunucu yükünü asgari
      Packit 90a5c9
            düzeyde tutmaya ve risk yönetimini kolaylaştırmaya yarar.

      Packit 90a5c9
      Packit 90a5c9
          

      Diğer bir çözüm de SSI sayfalarından betik ve program çalıştırmayı

      Packit 90a5c9
            iptal etmektir. Bu, Options
      Packit 90a5c9
            yönergesine değer olarak Includes yerine
      Packit 90a5c9
            IncludesNOEXEC vererek sağlanır. Ancak, eğer betiklerin
      Packit 90a5c9
            bulunduğu dizinde ScriptAlias
      Packit 90a5c9
            yönergesiyle CGI betiklerinin çalışması mümkün kılınmışsa,
      Packit 90a5c9
            kullanıcıların <--#include virtual="..." --> ile bu
      Packit 90a5c9
            betikleri  çalıştırabileceklerine dikkat ediniz.

      Packit 90a5c9
      Packit 90a5c9
        
      top
      Packit 90a5c9
      Packit 90a5c9

      CGI Genelinde

      Packit 90a5c9
          
      Packit 90a5c9
      Packit 90a5c9
          

      Herşeyden önce ya CGI betiğini/programını yazanlara ya da kendinizin

      Packit 90a5c9
            CGI'deki güvenlik açıklarını (ister kasıtlı olsun ister tesadüfi)
      Packit 90a5c9
            yakalama becerinize güvenmek zorundasınız. CGI betikleri esasen
      Packit 90a5c9
            sisteminizdeki komutları site kullanıcılarının izinleriyle
      Packit 90a5c9
            çalıştırırlar. Bu bakımdan dikkatle denenmedikleri takdirde oldukça
      Packit 90a5c9
            tehlikeli olabilirler.

      Packit 90a5c9
      Packit 90a5c9
          

      CGI betiklerinin hepsi aynı kullanıcının aidiyetinde çalışırsa diğer

      Packit 90a5c9
            betiklerle aralarında çelişkilerin ortaya çıkması ister istemez
      Packit 90a5c9
            kaçınılmazdır. Örneğin A kullanıcısının B kullanıcısına garezi varsa
      Packit 90a5c9
            bir betik yazıp B’nin CGI veritabanını silebilir. Bu gibi durumların
      Packit 90a5c9
            ortaya çıkmaması için betiklerin farklı kullanıcıların aidiyetlerinde
      Packit 90a5c9
            çalışmasını sağlayan ve 1.2 sürümünden beri Apache ile dağıtılan suEXEC diye bir program vardır. Başka bir yol
      Packit 90a5c9
            da CGIWrap kullanmaktır.

      Packit 90a5c9
      Packit 90a5c9
        
      top
      Packit 90a5c9
      Packit 90a5c9

      ScriptAlias’sız CGI

      Packit 90a5c9
          
      Packit 90a5c9
      Packit 90a5c9
          

      Kullanıcıların sitenin her yerinde CGI betiklerini çalıştırmalarına

      Packit 90a5c9
            izin vermek ancak şu koşullarda mümkün olabilir:

      Packit 90a5c9
      Packit 90a5c9
          
        Packit 90a5c9
              
      • Kullanıcılarınızın kasıtlı ya da kasıtsız sistemi saldırıya açık
      • Packit 90a5c9
                hale getirecek betikler yazmayacaklarına tam güveniniz vardır.
        Packit 90a5c9
              
      • Sitenizin güvenliği zaten o kadar kötüdür ki, bir delik daha
      • Packit 90a5c9
                açılmasının mahzuru yoktur.
        Packit 90a5c9
              
      • Sitenizin sizden başka kullanıcısı yoktur ve sunucunuzu sizden
      • Packit 90a5c9
                başka hiç kimsenin ziyaret etmesi mümkün değildir.
        Packit 90a5c9
            
        Packit 90a5c9
        Packit 90a5c9
          
        top
        Packit 90a5c9
        Packit 90a5c9

        ScriptAlias’lı CGI

        Packit 90a5c9
            
        Packit 90a5c9
        Packit 90a5c9
            

        CGI’yi belli dizinlerle sınırlamak yöneticiye bu dizinlerde daha iyi

        Packit 90a5c9
              denetim imkanı sağlar. Bu kaçınılmaz olarak ScriptAlias’sız CGI’den çok daha
        Packit 90a5c9
              güvenlidir, ancak bu dizinlere yazma hakkı olan kullanıcılarınız
        Packit 90a5c9
              güvenilir kişiler olması ve site yöneticisinin de olası güvenlik
        Packit 90a5c9
              açıklarına karşı CGI betiklerini ve programlarını denemeye istekli
        Packit 90a5c9
              olması şartıyla.

        Packit 90a5c9
        Packit 90a5c9
            

        Çoğu site yöneticisi ScriptAlias’sız CGI yerine bu

        Packit 90a5c9
              yaklaşımı seçer.

        Packit 90a5c9
        Packit 90a5c9
          
        top
        Packit 90a5c9
        Packit 90a5c9

        Devingen içerikli kaynaklar

        Packit 90a5c9
            
        Packit 90a5c9
        Packit 90a5c9
            

        Sunucunun bir parçası gibi çalışan, mod_php,

        Packit 90a5c9
              mod_perl, mod_tcl ve mod_python
        Packit 90a5c9
              gibi gömülü betik çalıştırma seçenekleri sunucuyu çalıştıran
        Packit 90a5c9
              kullanıcının aidiyetinde çalışırlar (User yönergesine bakınız). Bu bakımdan bu betik
        Packit 90a5c9
              yorumlayıcılar tarafından çalıştırılan betikler, sunucu kullanıcısının
        Packit 90a5c9
              eriştiği herşeye erişebilirler. Bazı betik yorumlayıcıların getirdiği
        Packit 90a5c9
              bazı sınırlamalar varsa da bunlara pek güvenmemek, gerekli sınamaları
        Packit 90a5c9
              yine de yapmak gerekir.

        Packit 90a5c9
        Packit 90a5c9
          
        top
        Packit 90a5c9
        Packit 90a5c9

        Devingen içeriğin güvenliği

        Packit 90a5c9
            
        Packit 90a5c9
        Packit 90a5c9
            

        mod_php, mod_perl veya

        Packit 90a5c9
              mod_python gibi devingen içeriği yapılandırırken
        Packit 90a5c9
              güvenlikle ilgili değerlendirmelerin çoğu httpd'nin
        Packit 90a5c9
              kapsamından çıkar ve bu modüllerin belgelerini incelemek ihtiyacı
        Packit 90a5c9
              duyarsınız. Örneğin, PHP çoğu zaman kapalı tutulan
        Packit 90a5c9
              Güvenli
        Packit 90a5c9
              Kip ayarını etkin kılmanızı önerir. Daha fazla güvenlik için bir
        Packit 90a5c9
              diğer örnek bir PHP eklentisi olan
        Packit 90a5c9
              Suhosin'dir. Bunlar
        Packit 90a5c9
              hakkında daha ayrıntılı bilgi için her projenin kendi belgelerine
        Packit 90a5c9
              başvurun.

        Packit 90a5c9
        Packit 90a5c9
            

        Apache seviyesinde, mod_security

        Packit 90a5c9
              adı verilen modülü bir HTTP güvenlik duvarı gibi ele alabilir, devingen
        Packit 90a5c9
              içeriğin güvenliğini arttırmanıza yardımcı olmak üzere inceden inceye
        Packit 90a5c9
              yapılandırabilirsiniz.

        Packit 90a5c9
        Packit 90a5c9
          
        top
        Packit 90a5c9
        Packit 90a5c9

        Sistem Ayarlarının Korunması

        Packit 90a5c9
            
        Packit 90a5c9
        Packit 90a5c9
            

        Güvenliği gerçekten sıkı tutmak istiyorsanız, kullanıcılarınızın

        Packit 90a5c9
              yapılandırmanızdaki güvenlik ayarlarını geçersiz kılmak için
        Packit 90a5c9
              .htaccess dosyalarını kullanabilmelerinin de önüne
        Packit 90a5c9
              geçmelisiniz. Bunu yapmanın tek bir yolu vardır.

        Packit 90a5c9
        Packit 90a5c9
            

        Sunucu yapılandırma dosyanıza şunu yerleştirin:

        Packit 90a5c9
        Packit 90a5c9
            
        <Directory "/">
        Packit 90a5c9
            AllowOverride None
        Packit 90a5c9
        </Directory>
        Packit 90a5c9
        Packit 90a5c9
        Packit 90a5c9
            

        Böylece, belli dizinlerde özellikle etkinleştirilmedikçe bütün

        Packit 90a5c9
              dizinlerde .htaccess dosyalarının kullanımını engellemiş
        Packit 90a5c9
              olursunuz.

        Packit 90a5c9
        Packit 90a5c9
            

        Bu ayar Apache 2.3.9 itibariyle öntanımlıdır.

        Packit 90a5c9
          
        top
        Packit 90a5c9
        Packit 90a5c9

        Sunucu dosyalarının öntanımlı olarak korunması

        Packit 90a5c9
            
        Packit 90a5c9
        Packit 90a5c9
            

        Apache’nin ister istemez yanlış anlaşılan yönlerinden biri öntanımlı

        Packit 90a5c9
              erişim özelliğidir. Yani siz aksine bir şeyler yapmadıkça, sunucu normal
        Packit 90a5c9
              URL eşleme kurallarını kullanarak bir dosyayı bulabildiği sürece onu
        Packit 90a5c9
              istemciye sunacaktır.

        Packit 90a5c9
        Packit 90a5c9
            

        Örneğin, aşağıdaki durumu ele alalım:

        Packit 90a5c9
        Packit 90a5c9
            

        Packit 90a5c9
              # cd /; ln -s / public_html
        Packit 90a5c9
            

        Packit 90a5c9
        Packit 90a5c9
            

        Ve, tarayıcınıza http://localhost/~root/ yazın.

        Packit 90a5c9
        Packit 90a5c9
            

        Böylece, istemcilerin tüm dosya sisteminizi gezmelerine izin vermiş

        Packit 90a5c9
              olursunuz. Bu işlemin sonuçlarının önünü almak için sunucu yapılandırma
        Packit 90a5c9
              dosyanıza şunları yazın:

        Packit 90a5c9
        Packit 90a5c9
            
        <Directory "/">
        Packit 90a5c9
            Require all denied
        Packit 90a5c9
        </Directory>
        Packit 90a5c9
        Packit 90a5c9
        Packit 90a5c9
            

        Bu suretle, dosya sisteminize öntanımlı erişimi yasaklamış olursunuz.

        Packit 90a5c9
              Erişime izin vermek istediğiniz dizinler için uygun Directory bölümleri eklemeniz yeterli
        Packit 90a5c9
              olacaktır. Örnek:

        Packit 90a5c9
        Packit 90a5c9
            
        <Directory "/usr/users/*/public_html">
        Packit 90a5c9
            Require all granted
        Packit 90a5c9
        </Directory>
        Packit 90a5c9
        <Directory "/usr/local/httpd">
        Packit 90a5c9
            Require all granted
        Packit 90a5c9
        </Directory>
        Packit 90a5c9
        Packit 90a5c9
        Packit 90a5c9
            

        Location ve Directory yönergelerinin etkileşimine de

        Packit 90a5c9
              özellikle önem vermelisiniz; örneğin <Directory "/">
        Packit 90a5c9
              erişimi yasaklarken bir <Location "/"> yönergesi bunu
        Packit 90a5c9
              ortadan kaldırabilir.

        Packit 90a5c9
        Packit 90a5c9
            

        UserDir yönergesi de size

        Packit 90a5c9
              buna benzer bir oyun oynayabilir; yönergeye ./ atamasını
        Packit 90a5c9
              yaparsanız, root kullanıcısı söz konusu olduğunda yukarıda ilk örnekteki
        Packit 90a5c9
              durumla karşılaşırız. Sunucu yapılandırma dosyanızda aşağıdaki satırın
        Packit 90a5c9
              mutlaka bulunmasını öneririz:

        Packit 90a5c9
        Packit 90a5c9
            
        UserDir disabled root
        Packit 90a5c9
        Packit 90a5c9
        Packit 90a5c9
          
        top
        Packit 90a5c9
        Packit 90a5c9

        Günlüklerin İzlenmesi

        Packit 90a5c9
            
        Packit 90a5c9
        Packit 90a5c9
            

        Sunucunuzda olup biteni günü gününe bilmek istiyorsanız günlük dosyalarına bakmalısınız. Günlük dosyaları

        Packit 90a5c9
              sadece olup biteni raporlamakla kalmaz, sunucunuza ne tür saldırılar
        Packit 90a5c9
              yapıldığını ve güvenlik seviyenizin yeterli olup olmadığını anlamanızı da
        Packit 90a5c9
              sağlarlar.

        Packit 90a5c9
        Packit 90a5c9
            

        Bazı örnekler:

        Packit 90a5c9
        Packit 90a5c9
            

        Packit 90a5c9
              grep -c "/jsp/source.jsp?/jsp/ /jsp/source.jsp??" access_log 
        Packit 90a5c9
              grep "client denied" error_log | tail -n 10
        Packit 90a5c9
            

        Packit 90a5c9
        Packit 90a5c9
            

        İlk örnek, Apache Tomcat Source.JSP Bozuk İstek Bilgilerini İfşa Açığı

        Packit 90a5c9
              istismar etmeyi deneyen saldırıların sayısını verirken ikinci örnek,
        Packit 90a5c9
              reddedilen son on istemciyi listeler; örnek:

        Packit 90a5c9
        Packit 90a5c9
            

        Packit 90a5c9
              [Thu Jul 11 17:18:39 2002] [error] [client foo.example.com] client denied
        Packit 90a5c9
              by server configuration: /usr/local/apache/htdocs/.htpasswd
        Packit 90a5c9
            

        Packit 90a5c9
        Packit 90a5c9
            

        Gördüğünüz gibi günlük dosyaları sadece ne olup bittiğini raporlar, bu

        Packit 90a5c9
              bakımdan eğer istemci .htpasswd dosyasına erişebiliyorsa erişim günlüğünüzde şuna benzer bir
        Packit 90a5c9
              kayıt görürsünüz:

        Packit 90a5c9
        Packit 90a5c9
            

        Packit 90a5c9
              foo.example.com - - [12/Jul/2002:01:59:13 +0200] "GET /.htpasswd HTTP/1.1"
        Packit 90a5c9
            

        Packit 90a5c9
        Packit 90a5c9
            

        Bu, sunucu yapılandırma dosyanızda aşağıdaki yapılandırmayı iptal

        Packit 90a5c9
              ettiğiniz anlamına gelir:

        Packit 90a5c9
        Packit 90a5c9
            
        <Files ".ht*">
        Packit 90a5c9
            Require all denied
        Packit 90a5c9
        </Files>
        Packit 90a5c9
        Packit 90a5c9
        Packit 90a5c9
          
        top
        Packit 90a5c9
        Packit 90a5c9

        Yapılandırma bölümlerinin birleştirilmesi

        Packit 90a5c9
        Packit 90a5c9
            
        Packit 90a5c9
        Packit 90a5c9
            

        Yapılandırma bölümlerinin birleştirilmesi karmaşık bir işlem olup bazı

        Packit 90a5c9
              durumlarda yönergelere bağlıdır. Yönergeleri bir araya getirirken
        Packit 90a5c9
              aralarındaki bağımlılıkları daima sınayın.

        Packit 90a5c9
        Packit 90a5c9
            

        mod_access_compat gibi henüz yönerge katıştırma

        Packit 90a5c9
              mantığını gerçeklememiş modüller için sonraki bölümlerdeki davranış, bu
        Packit 90a5c9
              modüllerin yönergelerini içerip içermemesine bağlıdır. Yapılandırmada
        Packit 90a5c9
              yönergelerin yerleri değiştirildiğinde fakat bir katıştırma
        Packit 90a5c9
              yapılmadığında, yapılandırma bir değişiklik yapılana kadar miras
        Packit 90a5c9
              alınır.

        Packit 90a5c9
          
        Packit 90a5c9
        Packit 90a5c9

        Mevcut Diller:  en  |

        Packit 90a5c9
         fr  |
        Packit 90a5c9
         ko  |
        Packit 90a5c9
         tr 

        Packit 90a5c9
        top

        Yorum

        Notice:
        This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
        Packit 90a5c9
        <script type="text/javascript">
        Packit 90a5c9
        var comments_shortname = 'httpd';
        Packit 90a5c9
        var comments_identifier = 'http://httpd.apache.org/docs/2.4/misc/security_tips.html';
        Packit 90a5c9
        (function(w, d) {
        Packit 90a5c9
            if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
        Packit 90a5c9
                d.write('
        <\/div>');
        Packit 90a5c9
                var s = d.createElement('script');
        Packit 90a5c9
                s.type = 'text/javascript';
        Packit 90a5c9
                s.async = true;
        Packit 90a5c9
                s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
        Packit 90a5c9
                (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
        Packit 90a5c9
            }
        Packit 90a5c9
            else { 
        Packit 90a5c9
                d.write('
        Comments are disabled for this page at the moment.<\/div>');
        Packit 90a5c9
            }
        Packit 90a5c9
        })(window, document);
        Packit 90a5c9
        //--></script>
        Packit 90a5c9

        Copyright 2018 The Apache Software Foundation.
        Apache License, Version 2.0 altında lisanslıdır.

        Packit 90a5c9

        Modüller | Yönergeler | SSS | Terimler | Site Haritası

        <script type="text/javascript">
        Packit 90a5c9
        if (typeof(prettyPrint) !== 'undefined') {
        Packit 90a5c9
            prettyPrint();
        Packit 90a5c9
        }
        Packit 90a5c9
        //--></script>
        Packit 90a5c9
        </body></html>