[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: güvenlik problemi gibi gelen iki durum



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.

> 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. 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.

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>

> 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

Attachment: signature.asc
Description: Digital signature


Reply to: