<-
Apache > HTTP Sunucusu > Belgeleme > Sürüm 2.4

SuEXEC Deste?i

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

SuEXEC ?zelli?i, Apache HTTP Sunucusu kullan?c?lar?na CGI ve SSI programlar?n? sunucunun aidiyetinde ?al??t??? kullan?c?dan farkl? bir kullan?c?n?n aidiyetinde ?al??t?rma olana?? verir. Normalde, CGI ve SSI programlar?n? ?al??t?ranla sunucuyu ?al??t?ran ayn? kullan?c?d?r.

Gerekti?i gibi kullan?ld???nda bu ?zellik, kullan?c?lara CGI ve SSI programlar?n? ?al??t?rma ve geli?tirmeye izin vermekle ortaya ??kan güvenlik risklerini azalt?r. Bununla birlikte, suEXEC gerekti?i gibi yap?land?r?lmad??? takdirde baz? sorunlara yol a?abilir ve bilgisayar güvenli?inizde yeni delikler ortaya ??kmas?na sebep olabilir. Güvenlikle ilgili mevcut sorunlarla ba?a ??kmada ve setuid root programlar? y?netmekte bilgi ve deneyim sahibi de?ilseniz suEXEC kullanmay? kesinlikle dü?ünmemenizi ?neririz.

Support Apache!

Ayr?ca bak?n?z:

top

Ba?lamadan ?nce

Belgeye bal?klama dalmadan ?nce, suexec'i kullanaca??n?z ortam ve kendiniz hakk?nda yap?lm?? ?e?itli kabuller hakk?nda bilgi sahibi olmal?s?n?z.

?ncelikle, üzerinde setuid va setgid i?lemlerinin yap?labildi?i Unix türevi bir i?letim sistemi kulland???n?z? varsay?yoruz. Tüm komut ?rnekleri buna dayanarak verilmi?tir. Bu deste?e sahip ba?ka platformlar varsa onlardaki yap?land?rma burada anlatt???m?z yap?land?rmadan farkl? olabilir.

?kinci olarak, bilgisayar?n?z?n güvenli?i ve y?netimi ile ilgili baz? temel kavramlar? bildi?inizi kabul ediyoruz. Buna setuid/setgid i?lemlerinin sisteminiz ve güvenlik seviyesi üzerindeki etkilerini bilmek dahildir.

ü?üncü olarak, suEXEC kodunun de?i?tirilmemi? bir sürümünü kulland???n?z? varsay?yoruz. Tüm suEXEC kodu, geli?tiricilerin yan?nda say?s?z beta kullan?c?s? taraf?ndan dikkatle incelenmi? ve denenmi?tir. Kodlar?n hem basit hem de sa?lam bir ?ekilde güvenli olmas? i?in gerekli tüm ?nlemler al?nm??t?r. Bu kodun de?i?tirilmesi beklenmedik sorunlara ve yeni güvenlik risklerine yol a?abilir. ?zellikle güvenlikle ilgili programlarda deneyimli de?ilseniz suEXEC kodunda kesinlikle bir de?i?iklik yapmamal?s?n?z. De?i?iklik yaparsan?z kodlar?n?z? g?zden ge?irmek ve tart??mak üzere Apache HTTP Sunucusu geli?tirme ekibi ile payla?man?z? ?neririz.

D?rdüncü ve son olarak, Apache HTTP Sunucusu geli?tirme ekibinin suEXEC’i ?ntan?ml? httpd kurulumunun bir par?as? yapmama karar?ndan bahsetmek gerekir. Bunun sonucu olarak, suEXEC yap?land?rmas? sistem y?neticisinin ayr?nt?l? bir incelemesini gerektirir. Gerekli incelemeden sonra y?netici taraf?ndan suEXEC yap?land?rma se?eneklerine karar verilip, normal yollardan sisteme kurulumu yap?l?r. Bu se?eneklerin belirlenmesi, suEXEC i?levselli?inin kullan?m? s?ras?nda sistem güvenli?ini gerekti?i gibi sa?lamak i?in y?netici taraf?ndan dikkatle saptanmay? gerektirir. Bu sürecin ayr?nt?lar?n?n y?neticiye b?rak?lma sebebi, suEXEC kurulumunu, suEXEC’i dikkatle kullanacak yeterlili?e sahip olanlarla s?n?rlama beklentimizdir.

Hala bizimle misiniz? Evet mi? Pekala, o halde devam!

top

SuEXEC Güvenlik Modeli

SuEXEC yap?land?rmas? ve kurulumuna giri?meden ?nce biraz da ger?ekle?mesini istedi?iniz güvenlik modelinin ayr?nt?lar? üzerinde dural?m. B?ylece, suEXEC’in i?inde olup bitenleri ve sisteminizin güvenli?i i?in al?nacak ?nlemleri daha iyi anlayabilirsiniz.

suEXEC i?levselli?i, Apache HTTP Sunucusu taraf?ndan gerekti?i takdirde artalanda ?al??t?r?lan bir setuid programa dayan?r. Bu program, bir CGI veya SSI beti?ine bir HTTP iste?i yap?ld??? zaman, bu beti?i, y?neticinin ana sunucunun aidiyetinde ?al??t??? kullan?c?dan farkl? olarak se?ti?i bir kullan?c?n?n aidiyetinde ?al??t?rmak i?in ?a?r?l?r. B?yle bir istek geldi?inde, Apache httpd artalandaki setuid program?na, HTTP iste?i yap?lan program?n ismiyle beraber aidiyetinde ?al??aca?? kullan?c? ve grup kimliklerini de aktar?r.

Artalanda ?al??t?r?lan setuid program ba?ar?y? ve ba?ar?s?zl??? a?a??daki süreci izleyerek saptar. Bunlardan herhangi biri ba?ar?s?z olursa program ba?ar?s?zl?k durumunu günlü?e kaydeder ve bir hata vererek ??kar. Aksi takdirde ?al??maya devam eder.

  1. Setuid program? ?al??t?ran kullan?c? sistemin ge?erli kullan?c?lar?ndan biri mi?

    Bu, setuid program? ?al??t?ran kullan?c?n?n sistemin ger?ek bir kullan?c?s? oldu?unudan emin olunmas?n? sa?lar.

  2. Setuid program yeterli say?da argümanla ?a?r?lm?? m??

    Apache HTTP Sunucusunun artalanda ?a??rd??? setuid program ancak yeterli say?da argüman sa?land??? takdirde ?al??acakt?r. Argümanlar?n say?s?n? ve s?ras?n? Apache HTTP sunucusu bilir. E?er setuid program yeterli say?da argümanla ?a?r?lmam??sa ya kendisinde bir de?i?iklik yap?lm??t?r ya da kurulu Apache httpd ?al??t?r?labilirinin suEXEC ile ilgili k?sm?nda yanl?? giden bir ?eyler vard?r.

  3. Bu ge?erli kullan?c?n?n bu setuid program? ?al??t?rma yetkisi var m??

    Sadece tek bir kullan?c? (Apache’nin aidiyetinde ?al??t??? kullan?c?) bu program? ?al??t?rmaya yetkilidir.

  4. Hedef CGI veya SSI program? hiyerar?ik olarak güvenli?i bozacak bir dosya yolu üzerinde mi?

    Hedef CGI veya SSI program?n?n dosya yolu '/' veya '..' ile ba?l?yor mu? Buna izin verilmez. Hedef CGI veya SSI program? suEXEC’in belge k?k dizininde yer almal?d?r (a?a??da --with-suexec-docroot=D?Z?N se?ene?ine bak?n?z).

  5. Hedef kullan?c? ismi ge?erli mi?

    Hedef kullan?c? mevcut mu?

  6. Hedef grup ismi ge?erli mi?

    Hedef grup mevcut mu?

  7. Hedef kullan?c? root de?il, de?il mi?

    Mevcut durumda, root kullan?c?s?n?n CGI/SSI programlar?n? ?al??t?rmas?na izin verilmemektedir.

  8. Hedef kullan?c? kimli?i asgari kullan?c? numaras?ndan BüYüK mü?

    Asgari kullan?c? numaras? yap?land?rma s?ras?nda belirtilir. B?ylece CGI/SSI programlar?n? ?al??t?rmas?na izin verilecek olas? en dü?ük kullan?c? numaras?n? belirlemeniz mümkün k?l?nm??t?r. Bu baz? “sistem” hesaplar?n? devreden ??karmak i?in yararl?d?r.

  9. Hedef grup root de?il, de?il mi?

    root grubunun CGI/SSI programlar?n? ?al??t?rmas?na izin verilmemektedir.

  10. Hedef grup numaras? asgari grup numaras?ndan BüYüK mü?

    Asgari grup numaras? yap?land?rma s?ras?nda belirtilir. B?ylece CGI/SSI programlar?n? ?al??t?rmas?na izin verilecek olas? en dü?ük grup numaras?n? belirlemeniz mümkün k?l?nm??t?r. Bu baz? “sistem” hesaplar?n? devreden ??karmak i?in yararl?d?r.

  11. Apache’nin artalanda ?a??rd??? setuid program hedef kullan?c? ve grubun aidiyetine ge?ebildi mi?

    Bu noktadan itibaren program setuid ve setgid ?a?r?lar? üzerinden hedef kullan?c? ve grubun aidiyetine ge?er. Eri?im grubu listesi de ayr?ca kullan?c?n?n üyesi oldu?u tüm gruplara geni?letilir.

  12. Hedef CGI/SSI program?n?n bulundu?u dizine ge?ebildik mi?

    Dizin mevcut de?ilse dosyalar? da i?eremez. Hedef dizine ge?emiyorsak bu, dizin mevcut olmad???ndan olabilir.

  13. Hedef dizin Apache i?in izin verilen yerlerden biri mi?

    ?stek sunucunun normal bir b?lümü i?in yap?lm?? olsa da istenen dizin acaba suEXEC’in belge k?k dizini alt?nda m?? Yani, istenen dizin, suEXEC’in aidiyetinde ?al??t??? kullan?c?n?n ev dizini alt?nda bulunan, UserDir ile belirtilen dizinin alt?nda m?? (suEXEC’in yap?land?rma se?eneklerine bak?n?z).

  14. Hedef dizin ba?kalar? taraf?ndan yaz?labilen bir dizin de?il, de?il mi?

    Ba?kalar? da yazabilsin diye bir dizin a?m?yoruz; dizin i?eri?ini sadece sahibi de?i?tirebilmelidir.

  15. Hedef CGI/SSI program? mevcut mu?

    Mevcut de?ilse ?al??t?r?lamaz.

  16. Hedef CGI/SSI program dosyas?na ba?kalar? taraf?ndan yaz?lam?yor, de?il mi?

    Hedef CGI/SSI program?n?n dosyas?na sahibinden ba?ka kimsenin bir ?eyler yazmas?n? istemeyiz.

  17. Hedef CGI/SSI program setuid veya setgid de?il, de?il mi?

    UID/GID‘i tekrar de?i?tirecek programlar ?al??t?rmay? istemeyiz.

  18. Hedef kullan?c?/grup, program?n kullan?c?/grubu ile ayn? m??

    Hedef kullan?c? dosyan?n sahibi mi?

  19. ??lemlerin güvenle yap?labilmesi i?in süre? ortam?n? ba?ar?yla temizleyebildik mi?

    suEXEC, sürecin ?al??aca?? ortama güvenli bir program ?al??t?rma yolu sa?lamaktan ba?ka, yap?land?rma s?ras?nda olu?turulan güvenli ortam de?i?kenleri listesinde isimleri bulunan ortam de?i?kenlerinden ba?kas?n? aktarmayacakt?r.

  20. Hedef CGI/SSI program? haline gelip ?al??abildik mi?

    Buras? suEXEC’in bitip CGI/SSI program?n?n ba?lad??? yerdir.

Bu süre? suEXEC güvenlik modelinin standart i?lemlerini olu?turur. Biraz zorlay?c? ve CGI/SSI tasar?m?na yeni kurallar ve s?n?rlamalar getiriyor olsa da dü?ünülen güvenli?i ad?m ad?m sa?layacak ?ekilde tasarlanm??t?r.

Düzgün bir suEXEC yap?land?rmas?n?n hangi güvenlik risklerinden kurtulmay? sa?lad??? ve bu güvenlik modelinin sunucu yap?land?rmas?yla ilgili sorumluluklar?n?z? nas?l s?n?rlayabildi?i hakk?nda daha ayr?nt?l? bilgi edinmek i?in bu belgenin "Uyar?lar ve ?rnekler" b?lümüne bak?n?z.

top

suEXEC’in Yap?land?r?lmas? ve Kurulumu

E?lence ba?l?yor.

suEXEC yap?land?rma se?enekleri

--enable-suexec
Bu se?enek, hi?bir zaman ?ntan?ml? olarak kurulmayan ve etkinle?tirilmeyen suEXEC ?zelli?ini etkin k?lar. suEXEC ?zelli?ini kullanma iste?inizi Apache’nin kabul edebilmesi i?in --enable-suexec se?ene?inin yan?nda en az?ndan bir tane de --with-suexec-xxxxx se?ene?i belirtilmi? olmal?d?r.
--with-suexec-bin=YOL
Güvenlik sebebiyle suexec ?al??t?r?labilirinin bulundu?u yer sunucu koduna yaz?l?r. Bu se?enekle ?ntan?ml? yol de?i?tirilmi? olur. ?rnek:
--with-suexec-bin=/usr/sbin/suexec
--with-suexec-caller=KULLANICI
Normalde httpd’nin aidiyetinde ?al??t??? kullan?c?d?r. Bu, suEXEC ?al??t?r?c?s?n? ?al??t?rmas?na izin verilen tek kullan?c?d?r.
--with-suexec-userdir=D?Z?N

Kullan?c?lar?n ev dizinleri alt?nda suEXEC’in eri?mesine izin verilen alt dizinin yerini tan?mlar. Bu dizin alt?nda suEXEC kullan?c?s? taraf?ndan ?al??t?r?lacak tüm programlar "güvenilir" olmal?d?r. E?er “basit” bir UserDir y?nergesi kullan?yorsan?z ( i?inde “*” bulunmayan), bunun ayn? dizin olmas? gerekir. E?er burada belirtilen dizin, passwd dosyas?nda kullan?c? i?in belirtilmi? dizinin alt?nda UserDir y?nergesinde belirtilen dizin olmad??? takdirde suEXEC i?ini gerekti?i gibi yapmayacakt?r. ?ntan?ml? de?er public_html’dir.

E?er, sanal konaklar?n?z?n herbiri farkl? UserDir y?nergeleri i?eriyorsa burada belirtilecek dizinin üst dizininin hepsinde ayn? olmas? gerekir. Aksi takdirde, "~kullan?c?" istekleri düzgün ?al??mayacakt?r.

--with-suexec-docroot=D?Z?N
httpd i?in belge k?k dizinini belirler. Bu, (UserDir’lardan ba?ka) suEXEC i?in kullan?lacak tek hiyerar?i olacakt?r. ?ntan?ml? dizin sonuna "/htdocs" eklenmi? --datadir dizinidir. Yani, se?ene?i "--datadir=/home/apache" olarak belirtmi?seniz suEXEC ?al??t?r?c?s? i?in belge k?k dizini "/home/apache/htdocs" olur.
--with-suexec-uidmin=UID
suEXEC kullan?c?s?n?n kullan?c? kimli?i olarak izin verilen en dü?ük de?eri belirler. ?o?u sistemde bu ya 500’dür ya da 100; 100 ?ntan?ml?d?r.
--with-suexec-gidmin=GID
suEXEC kullan?c?s?n?n grup kimli?i olarak izin verilen en dü?ük de?eri belirler. ?o?u sistemde bu 100 olup, se?ene?in de ?ntan?ml? de?eridir.
--with-suexec-logfile=DOSYA
suEXEC hareketlerinin ve hatalar?n?n kaydedilece?i günlük dosyas?n?n ad?n? belirler (denetim ve hata ay?klama i?in kullan??l?d?r). ?ntan?ml? günlük dosyas? ismi "suexec_log" olup yeri (--logfiledir se?ene?i ile belirtilen) günlük dosyalar? dizinidir.
--with-suexec-safepath=YOL
CGI ?al??t?r?labilirlerine aktar?lacak güvenilir PATH ortam de?i?keninin de?erini tan?mlar. "/usr/local/bin:/usr/bin:/bin" ?ntan?ml?d?r.

SuEXEC ?al??t?r?c?s?n?n derlenmesi ve kurulumu

SuEXEC ?zelli?ini --enable-suexec se?ene?i ile etkinle?tirdiyseniz make komutunu verdi?inizde httpd ile birlikte suexec ?al??t?r?labilir dosyas? da derlenecektir.

Tüm bile?enler derlendikten sonra make install komutunu vererek kurulumu tamamlayabilirsiniz. suexec ?al??t?r?labilir dosyas? --sbindir se?ene?i ile tan?mlanan dizine kurulacakt?r; ?ntan?ml? yeri /usr/local/apache2/bin/ dizinidir.

Kurulum ad?m?nda root yetkisine sahip olman?z gerekti?ini unutmay?n. ?al??t?r?c?ya kullan?c? kimli?inin atanabilmesi ve dosyan?n sahibi olan kullan?c? kimli?i ile ?al??t?r?labilmesini mümkün k?lan bitinin etkin k?l?nabilmesi i?in kurulumun root taraf?ndan yap?lmas? ?nemlidir.

Paranoyak yetkilendirme

SuEXEC ?al??t?r?c?s? kendini ?al??t?ran kullan?c?n?n configure beti?ine --with-suexec-caller se?ene?i ile belirtilen kullan?c? olup olmad???na bakacaksa da, bu s?naman?n da bir sistem veya kütüphane ?a?r?s? ile istismar edilmi? olma ihtimali g?zard? edilmemelidir. Bunun meydana gelmesini ?nlemek i?in ve genelde yap?ld??? gibi dosyan?n izinlerini suEXEC ?al??t?r?c?s? sadece httpd'nin aidiyetinde ?al??t??? grup taraf?ndan ?al??t?r?lacak ?ekilde ayarlay?n?z.

?rne?in, sunucunuz ??yle yap?land?r?lm??sa:

User www
Group webgroup

Ve suexec ?al??t?r?labilir de /usr/local/apache2/bin/ dizinine kurulmu?sa ?u komutlar? vermelisiniz:

chgrp apache-grup /usr/local/apache2/bin/suexec
chmod 4750 /usr/local/apache2/bin/suexec

B?ylece suEXEC ?al??t?r?c?s?n? httpd’yi ?al??t?ran grubun üyelerinden ba?kas?n?n ?al??t?ramayaca??ndan emin olabilirsiniz.

top

suEXEC’in etkin k?l?nmas? ve iptal edilmesi

httpd ba?lat?ld??? s?rada suexec ?al??t?r?c?s? i?in --sbindir se?ene?i ile tan?mlanan dizine bakar (se?ene?in ?ntan?ml? de?eri /usr/local/apache/sbin/suexec’tir). httpd düzgün yap?land?r?lm?? bir suEXEC ?al??t?r?c?s? buldu?u takdirde hata günlü?üne ??yle bir ileti yazacakt?r:

[notice] suEXEC mechanism enabled (wrapper: /dosya/yolu/suexec)

Sunucu ba?lat?ld???nda bu ileti yaz?lmazsa sunucu ya ?al??t?r?c? program? umdu?u yerde bulamam??t?r ya da dosyan?n setuid biti root taraf?ndan etkin k?l?nmam??t?r.

SuEXEC mekanizmas?n? etkin k?lmak istedi?iniz sunucu ?al??maktaysa sunucuyu ?nce ?ldürmeli sonra yeniden ba?latmal?s?n?z. Basit bir HUP veya USR1 sinyali ile yeniden ba?lamas?n? sa?lamak yeterli olmayacakt?r.

SuEXEC mekanizmas?n? iptal etmek i?in ise suexec dosyas?n? sildikten sonra httpd'yi ?ldürüp yeniden ba?lamal?s?n?z.

top

SuEXEC’in kullan?m?

CGI programlar?na yap?lan isteklerin suEXEC ?al??t?r?c?s? taraf?ndan yerine getirilebilmesi i?in sanal kona??n bir SuexecUserGroup y?nergesi i?ermesi veya iste?in mod_userdir taraf?ndan i?leme konulmas? gerekir.

Sanal Konaklar:
SuEXEC ?al??t?r?c?s?n? farkl? bir kullan?c? ile etkin k?lman?n tek yolu VirtualHost b?lümleri i?inde SuexecUserGroup y?nergesini kullanmakt?r. Bu y?nergede ana sunucuyu ?al??t?ran kullan?c?dan farkl? bir kullan?c? belirterek ilgili sanal konak üzerinden CGI kaynaklar? i?in yap?lan tüm isteklerin belirtilen kullan?c? ve grup taraf?ndan ?al??t?r?lmas? sa?lan?r. Bu y?nergeyi i?ermeyen sanal konaklar i?in ana sunucunun kullan?c?s? ?ntan?ml?d?r.

Kullan?c? dizinleri:
mod_userdir taraf?ndan i?leme sokulan tüm istekler i?in suEXEC ?al??t?r?c?s? istek yap?lan kullan?c? dizininin sahibinin aidiyetinde ?al??t?r?lacakt?r. Bu ?zelli?in ?al??mas? i?in tek gereklilik, kullan?c?n?n SuEXEC ?al??t?r?c?s? i?in etkin k?l?nm?? olmas? ve ?al??t?r?c?n?n yukar?daki güvenlik s?namalar?ndan ge?ebilmesidir. Ayr?ca, --with-suexec-userdir derleme se?ene?inin a??klamas?na da bak?n?z.

top

SuEXEC ve hata ay?klama

SuEXEC ?al??t?r?c?s? yukar?da de?inildi?i gibi günlük bilgilerini --with-suexec-logfile se?ene?i ile belirtilen dosyaya yazacakt?r. ?al??t?r?c?y? do?ru yap?land?rarak kurdu?unuzdan emin olmak istiyorsan?z, yolunda gitmeyen ?eyler var m? diye bu günlük dosyas?na bakmay? ihmal etmeyin.

top

Uyar?lar ve ?rnekler

UYARI! Bu b?lüm henüz bitmedi. Bu b?lümün son hali i?in ?evrimi?i belgelere bak?n?z.

SuEXEC ?al??t?r?c?s?ndan dolay? sunucu ayarlar?na baz? s?n?rlamalar getiren bir ka? ?nemli nokta mevcuttur. SuEXEC ile ilgili hata bildiriminde bulunmadan ?nce bunlara bir g?z atmal?s?n?z.

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

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.
白小姐透特期期