Apache güvenliği

0
conan
Bu yazıda Apache'nin dağıtımla gelen halinden daha güvenli bir şekilde çalışabilmesi için yapmanızı tavsiye edeceğim bazı değişiklerlerden bahsedeceğim. Bu tavsiyelerden birçoğu ayar dosyalarıyla ilgili olacağından dolayı Apache httpd.conf dosyası hakkında bilgi edinmiş olmanızı öneririm.
Dağıtımlarla gelen Apache kurulumları çoğu zaman kullanıcıya rahatlık sunması açısından oldukça esnek yapılandırılırlar. Bu ayarlar basit kullanımlar için oldukça yararlıdır fakat güvenliğin on planda olduğu sunucularda gereğinden fazla esnektirler. Bu yüzden ayarlarınızı gözden geçirmenizde fayda var. Bu anlatacağım senaryoları şirketinizin aynası ya da belki de ürünü olacak web sunucularında yaptığınızı gözönünde bulundurmayı unutmayın. Örneğin kullanıcı homepage'lerini silin dediğimde, "aaa olur mu öyle sey!" gibi yorumlar duymak istemiyorum :)

Örneklerin çoğu RedHat baz alınarak verilmiştir.

  1. Kurulum: Makinaniza dagitimla gelen apache'yi kurmaniz ve bu sekilde birakmaniz demek guvenlik acisindan intihar demektir. Derhal apache'nin son surumunu (ister dagitimin guncelleme kanalindan, ister programin kendisini derleyerek) kurun.
  2. Modüller Genelde dagitimla gelen apache Dynamic Shared Object (DSO) ozelligi ile derlenmistir. DSO bize plugin seklinde eklentileri, apache'yle yeniden derlemeye gerek birakmadan kullanmamizi saglar. Dagitimla gelen modullerin bir coguna ihtiyaciniz yoktur. Asagidaki listeden gercektek ihtiyaciniz olmayanlari httpd.conf dosyasindan silin. mod_dav Distributed Authoring and Version
    mod_autoindex Dizinlerin icini otomatik olarak gosterir.
    mod_include Eger sayfalarinizda sunucu tarafindan include'lar yapmıyorsaniz silin.
    mod_info Sunucunun ayarlarini gosterir.
    mod_status Sunucunun durumunu gosterir.
    mod_userdir Kullanici Home dizinleri.
    Tavsiyem ayar dosyasindaki buna benzer mod_* satirlarini inceleyin ve minimum modül aktive edin. Modul referansi icin http://modules.apache.org/ adresine bakin.
  3. Kullanıcı dizini? O da ne? SİLİN! :)

    UserDir disable

    satırını httpd.conf dosyasina ekleyin. Daha da paranoyak olmak istiyorsanız

    LoadModule userdir_module modules/mod_userdir.so

    satırını silin ya da comment out edin.
  4. Dizin izinleri:
    Web sunucunuzun kök dizinin izin ayarlarını biraz daha sıkılaştırın.
    Örneğin
    Aşağıdaki ayar yerine:
    <Directory />
      Options FollowSymLinks
      AllowOverride None
    </Directory>
    
    bu ayarları deneyin:
    <Directory />
      Options None
      AllowOverride None
      Order allow,deny
      Deny from all
    </Directory>
    
  5. Sunucu bilgi gizleme.
    Bir web sunucu korsaninin saldiri icin yapacagi ilk adim belki de sunucu hakkinda bilgi toplamaktir. Bu nedenle sunucumuzun verdigi bilgiyi minimumda tutmamiz ilk korunma duvarimiz olacaktir. httpd.conf dosyasi icinde:

    ServerSignature off

    yazarsak sunucunun dinamik olarak yarattigi signature/imza satirindan kurtulmus oluruz (Ornegin 404 sayfalarinda)

    Bununla beraber apache HTTP basliginda da bilgi saklar ve gosterir.

    ServerTokens Prod

    satiri bu bilgiyi minimuma indirger. Bazi sunucu sayfalarinda ise sistemin yoneticisinin email adresi gosterilir. (Spamciler icin ideal! :)

    ServerAdmin root@localhost

    satırı bu emaili de saf dışı birakir.
  6. cgi-bin dizinin yok et:
    Eger web sunucunuz CGI calistirmayacaksa derhal gerekli ayarlari yokedin! :) (PHP degil, cgi...) Su satirlari silin ya da comment out edin.
     LoadModule cgi_module modules/mod_cgi.so
     LoadModule env_module modules/mod_env.so
     AddModule mod_cgi.c
     AddModule mod_env.c
     ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
     <Directory "/var/www/cgi-bin">
        AllowOverride None
        Options None
        Order allow,deny
        Allow from all
     </Directory>
    
  7. Web dizinlerinin sistem izinleri.
    Sistem icinde webe acik dizinlerin ve dosyalarin hicbirisine web serverin calistigi kullaniciya ve guruba (apache, nobody gibi) yazma hakkinin verilmemesi lazimdir. Bu duruma uymayan dizin ve dosyalari bulmak/gormek icin su asagidaki komutlari kullanabilirsiniz. [root@webserver]# find /var/www/html -user apache -perm +202 -exec ls -ld {} ; [root@webserver]# find /var/www/html -group apache -perm +202 -exec ls -ld {} ;
  8. SSL
    Son olarak. Mutlaka gizli bilgilerinizi SSL yoluyla yollayin. Ornegin bir webmail servisi mi kuruyorsunuz? Mutlaka en azindan login kismini SSL ile koruyun. phpMyAdmin mi kullaniyorsunuz? SQL Sunucunuzun guvenligi icin bence SSL arkasinda tutun. Dagitimlarin cogu zaten kurulu ssl sertifikalari ile geliyordur. Eger gelmeyen birisiyle ugrasiyorsaniz kendi sertifikanizi yaratin. Onemli olan o sertifika vasitasiyla iki nokta arasinda sifreleme yapabilmeniz.
Daha fazla bilgi icin bazi adresler:
http://httpd.apache.org/docs/misc/security_tips.html http://www.apacheweek.com/security/
http://www.modsecurity.org/

Görüşler

0
Ansugo
Aslinda guvenlikten ziyade daha performansi artiran seylerden bahsedilmis.

Kisa ve ozdu. Begenerek okudum.
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Fluxbox Pencere Yöneticisi Kılavuzu

FZ

LinuxQuestions tarafından 2003 yılının en iyi pencere yöneticisi seçilen Fluxbox'ı anlamak için artık Türkçe bir kaynak mevcut. Değerli FM üyelerinden Mehmet Türker tarafından anadilimize çevrilmiş Fluxbox kurulum, kullanım ve ayar kılavuzunu http://fluxbox.org/docbook/tr/html/ adresine giderek okuyabilirsiniz.

Çeviri, imla, eksiklik, vb. hataların çevirmene iletilmesi çok daha kaliteli bir belgenin ortaya çıkmasına yol açacaktır.

Dergi Eleştirisi: CYBER Elektronik

FZ

Türkçe kaynak bulamamaktan şikayet edenleri ferahlatacak bir haber: Türkiye'deki bir elektronik şirketinin sponsorluğu ile Türkçe elektronik dergisi, CYBER Elektronik yayınlanmaya başladı. Dergide yerli ve yabancı yazarların teknik makaleleri mevcut.

Aralık ayında 3. sayısını bayilerde bulabileceğiniz bu önemli yayın, önemli bir boşluğu dolduruyor. Özellikle kendi çapında, amatör olarak bu konulara hevesli olan insanların ve hatta belki de yeni yeni bu konuda ders almaya başlayan ama somut projeleri merak eden öğrencilerin başvurabileceği bir kaynak. Derginin Aralık sayısındaki konular ve bunlara dair eleştirileri şöyle sıralayabiliriz:

Debian ile Mantıksal Hacim Yönetimi (LVM)

FZ

Türk Debian kullanıcıları camiasının çalışkan ve üretken bireylerinden Serdar Aytekin Debian GNU/Linux kullanarak mantıksal hacim yönetimi (LVM - Logical Volume Management) gerçekleştirmeye dair güzel bir yazı hazırlamış.

İçerik ve seviye olarak orta ve üst düzey sistem yöneticilerine hitap eden bu yazı, "7-8 adet 200 GB'lik SCSI diski bilgisayarıma bağlayıp bunları tek bir disk gibi görmek ya da 3'e bölüp 3 üç farklı disk gibi görmek, sonra istersem kolayca yeni disk takıp hacmi ve dosya sistemini büyütmek istiyorum" gibi cümleler kuran kişilerin işine yarayacak türden.

Bu tür cümlelerin çok değil 4-5 yıl öncesine dek ancak onbinlerce, yüzbinlerce dolarlık makinalar ve ticari UNIX türevi işletim sistemleri barındıran bilgi işlem merkezlerinde kurulduğu ve özel, pahalı yazılımlar gerektirdiği düşünülecek olursa bilgisayarla profesyonel olarak uğraşan bilgi işlemciler için GNU/Linux'un, Debian'ın kıymeti bir kez daha anlaşılır diye düşünüyorum. Bu kadar laftan sonra hadi artık makale adresini versene diyenler için, buyrun: Debian ile Mantıksal Hacim Yönetimi (LVM).

e-Bergi Eylül Sayısı Yayında

anonim

e-bergi eylül sayısı çıktı. Hem de sizlerden gelen yoğun ilgi üzerine aylık programlama sorumuzun ikincisiyle!

Teknoloji Seçerken

malkocoglu_2

Bu yazıyı Java bilgi işlem teknolojilerinden biri olan Entity Bean'lerin erken ölümü üzerine yazdık. Zamanında büyük şaşa ile ortaya çıkan bu teknoloji niye böyle erken tedavülden kalktı? Ayrıca bu tecrübeden ders çıkarmak bağlamında, ileride bu tür geleceği olmayan ve külfetli teknolojilerin kokusunu nasıl alabiliriz? Bu yazı bilgi işleme daha çok hitap eden bir yazıdır çünkü 3-4 senede bir yeni bir dehşet teknolojiyle çalkantılar yaratan grup bu olmaktadır. Bu dinamizm tabii ki iyidir fakat bilgi işlem müdürleri ve proje yöneticileri için bu teknoloji enflasyonunda bir seçici turnusol testi lazımdır. Aksi halde sonuç InfoWeek Dergisi Pazartesi Günü Sendromudur; (Masasındaki Infoweek dergisinin yeni sayısını pazartesi günü okuyan yönetici) "XML diye bir şey cıkmış bütün dertlere devaymış! Hemen kullanalım!" . [Proje teknik lideri burada somurtur].

http://www.bilgidata.com/yazi.jsp?dosya=a_ejb_postmortem.xml