Re: güvenlik problemi gibi gelen iki durum
ben de aralara yazdım :)
2005/12/16, Tonguc Yumruk <tongucyumruk@member.fsf.org>:
> Cevaplar aralarda...
>
> Thus saith Azer Demir :
> > herkese merhaba,
> >
> > size bana güvenlik problemi gibi gelen iki şeyden bahsedip bunlarla
> > ilgili görüşlerinizi almak istiyorum.
> >
> > birincisi /sbin ve /usr/sbin dizinlerinin altında bulunan programlarla
> > ilgili. normalde bu dizinlerin içerikleri root kullanıcısı için path
> > değişkenine ekli, fakat normal kullanıcı için ise ekli değil ki, böyle
> > olması doğal. yalnız bu dizinlerdeki programların dosya izinleri bu
> > programları normal kullanıcıların çalıştırmalarına olanak tanıyor,
> > yani komut satırından şöyle dersek;
> >
> > $ /sbin/modprobe ... (modprobe /sbin'in içinde miydi tam
> > hatırlamıyorum, örnek olarak görelim :) )
> >
> > eğer modprobe'un kendisinden çalıştırıldığı kullanıcıya dair bir
> > denetim yapılmıyorsa(keza bu denetim dpkg ve apt-get için var) biz
> > normal kullanıcı olarak bu komutu çalıştırabildik demektir. ben bu
> > durumun bi önceki sistemimde farkına varmış, ve /sbin ve /usr/sbin
> > dizinlerinin içerdiği dosyaları normal kullanıcılar tarafından
> > çalıştırılamayacak şekilde düzenlemiştim(64 bitlik sistemimde). şimdi
> > yenilerde bir 32 bitlik kurulum yaptım, burada da durum aynı, tabi
> > aynı olmaması için bir gerekçe yok, sonuçta bu debian'ın yada bütün
> > dağıtımların genel izlediği bir yol olsa gerek. yani normal kullanıcı
> > olarak sistemi ele geçiren kötü niyetli biri (ki böyle bir kişi az
> > bilgiye de sahip değildir) /sbin'den yada /usr/sbin'den direk komut
> > çalıştırabilir, bu bir güvenlik problemi olarak görülmüyor mu, yada bu
> > kullanıcının alması gereken bir problemdir denip kullanıcıya mı
> > bırakılıyor, ve diğer dağıtımlarda da durum aynı mıdır?
>
> /sbin ve /usr/sbin içerisindeki programlar kullanıcı yetkileriyle
> çalışır. ifconfig, modprobe gibi programların yaptığı şey çekirdeğe bazı
> sistem çağrıları yapıp çekirdek modülü yükleme gibi işleri yapmasını
> sağlamaktır. Örneğin modprobe programı herhangi bir yetki kontrolü
> yapmaz. modprobe komutunu çalıştıran kullanıcının modül yükleme
> yetikisinin olup olmadığı gibi kontroller çekirdek seviyesinde yapılır.
> Bu nedenle siz kullanıcı olarak modprobe'u çalıştırabilseniz bile
> "capabilities" veya ona benzer bir sistemle size çekirdek seviyesinde bu
> tip bir izin özellikle verilmemişse modprobe başarısız olur. Bu nedenle
> örneğin /sbin/lsmod komutunu herhangi bir kullanıcı sorunsuz
> çalıştırabilirken /sbin/modprobe'u çalıştırdığında "abi senin iş zor
> bee" tarzında bir hata mesajı alır.
>
> Kısacası bunlar tek başına bir güvenlik açığı sayılmaz. Ancak tabiiki
> ekstra bir güvenlik önlemi olarak bu dosyaların çalıştırma iznini
> kaldırmaktan da zarar gelmez.
>
> Not: Bildiğim kadarıyla dpkg veya apt-get böyle bir kimlik kontrolü
> yapmıyor (yanılıyor olabilirim). Yani bu komutların okumaya/yazmaya
> çalıştığı dizinler üzerinde gerekli yetkilere sahipseniz bu komutları
> sorunsuz kullanabilmeniz gerekir diye düşünüyorum.
yazdıklarınızın bana düşündürdükleri şunlar : /sbin ve /usr/sbin
sistem programlarıdır, çokça root kullanıcı tarafından kullanılır, ama
sadece root seviyesi programları değildir, ki root seviyesi
çalıştırılması gereken programlar için çekirdek yada program
seviyesinde güvenlik alınmıştır. yani benim bunu bir güvenlik açığı
olarak düşünmemin sebebi, /sbin ve /usr/sbin altındaki bütün
programların root kullanıcısı tarafından kullanılabilecek programlar
olduğunu düşünmemdi. eğer durum dediğiniz gibiyse bu bir güvenlik
problemi oluşturmuyor gerçekten.
>
> > ikinci bir durum da sudo'yla ilgili. sudo'yu hep kullanmak istemiştim
> > ama sudoers'ın man sayfasının okumanın derdinden hep ertelemiştim,
> > geçen gün bu işe eğildim. sudo'nun sağladığı geçici olarak bir komut
> > için root olup, o komutu işletip sonra yeniden normal kullanıcının
> > kabuğuna düşmesi özelliğini seviyorum, yoksa şifresiz birşey
> > çalıştırmak değil derdim. ama sudoers dosyasını en basit şekilde
> > değiştirip sudo'yu denediğimde bir problemle karşılaştım.
> >
> > $ sudo aptitude install istedigim_paket
> >
> > dediğimde şifre olarak root şifresini girdiğimde reddediliyordum.
> > sonradan öğrendim ki burada kendi kullanıcımın şifresini girmem
> > gerekiyormuş. şu anda bu halde sudo'yu kullanabiliyorum. ama bu da
> > bana bir güvenlik problemi gibi geliyor. yine benim kullanıcımı ele
> > geçiren kötü niyetli biri sudo'yu kullanıyor olduğumu düşünüp deneme
> > yapabilir, ve gayet de güzel başarılı sonuçlara ulaşabilir, hatta
> > üstteki durumdan daha kesin bir sonuç olur :) (tabii sudoers
> > dosyasının içeriğine göre). neden sudo benden root şifresini istemiyor
> > da benim kendi şifremi istiyor anlayabilmiş değilim. yada şöyle
> > sorayım sudo'yu bana root şifresini soracak şekilde ayarlayabilir
> > miyim? eğer böyle bir şeyi sağlayamıyorsam benim için sudo kullanmanın
> > da bir anlamı olmaz. yine su ile root olup işimi yapıp çıkarım daha
> > iyi.
> >
>
> Zaten sudo sisteminin amacı kullanıcıların root parolasına sahip olmadan
> root yetkileri gerektirecek bazı işleri yapabilmesini sağlamaktır. Eğer
> man sayfasını dikkatlice okursanız göreceksiniz, kullanıcının hangi
> komutları hangi yetkilerle kullanabileceği konusunda çok ince, detaylı
> ayarlar yapmak mümkündür. Eğer siz sıradan bir kullanıcıya tam sudo
> yetkisi verirseniz bu tabiiki hoş birşey değildir, onun yerine sudo ile
> kullanılabilecek komutları kısıtlamanız faydalı olur.
evet normal bir kullanıcıya tam sudo yetkisi vermek doğru değil, ama
ne yaparsanız yapın sudo kullanıyorsanız bir şekilde bazı komutlar
için yetki veriyorsunuz, burada olması gereken sanırım bu yetkilerin
iyi düzenlenmesi.
> Ancak bir saldırganın kullanıcının parolasını ele geçirmesinden korkmanız
> yersizdir zira bir saldırgan kullanıcının parolasını ele
> geçirebiliyorsa büyük olasılıkla sizin root parolanızı da ele
> geçirebilir. Güvenlik anlamında bu ikisi arasında çok bir fark olduğunu
> sanmıyorum.
bu söylediğiniz de haklı olabilirsiniz, benim güvenlik problemi
olabilir mi diye düşündüğüm bu iki durumda da kafamdaki şey, normal
kullanıcı şifresi ele geçirilip root şifresi bilinmiyorsa, saldırganın
bu iki durumu kullanıp kullanamayacağıydı. bunun dışında /etc/shadow'a
tarama yoluyla normal kullanıcı şifresini ele geçirdiyseniz tabii ki
root şifresini de ele geçirebilirsiniz.
>
> Not: Eğer amacınız root olarak tek bir komut çalıştırıp sonra kendi
> kabuğunuza geri dönmekse şu komutu kullanabilirsiniz:
>
> su root <işletilecek komut>
bunu akşam deneyeceğim. belki daha tahmin edici olabilir bu benim için :)
cevaplarınız için teşekkür ederim.
>
> > bu kafama takılan şeyleri sormak istedim.
> > sevgiler.
>
> --
> Sevgi Saygı GNU/Linux
> ########################################################################
> But you have to allow a little for the desire to evangelize when you
> think you have good news.
> -- Larry Wall in <1992Aug26.184221.29627@netlabs.com>
> ########################################################################
> Tonguç Yumruk
>
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.1 (GNU/Linux)
>
> iD8DBQFDoo+/1xWu4MLSyoYRAk1nAJsF2CbL+P4y/l6ocUzFaUSKbF6/QQCfWzth
> A1wY7x8euPDVHUbuN2AUMmQ=
> =KAU4
> -----END PGP SIGNATURE-----
>
>
>
Reply to: