[Gelistirici] COMAR ve yetkiler
Gürer Özen
gurer at pardus.org.tr
25 Mar 2007 Paz 19:15:49 EEST
On Sunday 25 March 2007 18:33:28 Faik Uygur wrote:
> TASMA'dan KDE'nin kendi içerisinde şifre sorup sormaması ayarlanabiliyor.
> Bunu bir şekilde COMAR sistemine uyarlamamız acaba mümkün olabilir mi? Ya
> da ne kadar doğru olur?
Yanlış olur. Bütün bu root kullanıcı kavramı yanlış zaten. Biz sistem bozulup
elle müdahale falan gerekmediği durumlarda kullanıcının root kimliğine
geçmesini istemiyoruz normal olarak. Bunun ana sebebi güvenlik değil hataları
önlemek, root olarak kendi ayağını vurmak çok kolay.
Güvenlik tarafından bakınca, kurumsal müşteri adaylarımızın bizden
istedikleri, ve mesela amerikanın DoD orange book vb gibi örneklerden
gördüğüm askeri kurumların konuyla ilgili temel istekleri, mesela network'ü
açıp kapayabilen, ama kullanıcıların dosyalarını okuyamayan kullanıcılar
oluşturabilmek üzerine kurulu. Yani yetkilerin ince olarak dağıtılabilmesi
gerekiyor.
Windows bunu gayet güzel sağlıyor, şuraya bir bakın mesela:
http://www.wellesley.edu/Computing/Win2k/w2kgroups.html
şu meşhur "power user" dan bahsediyor :)
Çomarı tasarlarken temel gereklerden biri bunu sağlayabilmekti. Çomarı bir
nevi sudo-on-steroids gibi düşünebilirsiniz. Çomar kendisinden istenen
işleri, istekte bulunan kişiye o iş için yetki verilmişse yapıyor.
Root parolası ile işlem yapmaktaki birinci yanlış, her yetki gerektiren işlem
(mesela internete bağlanmak bile root yetkisi istiyor) yapmak isteyene root
parolası dağıtırsan hiç bi güvenlik önleminin anlamı kalmaz.
İkinci yanlış ise, asıl yetki gerektiren işlem ufacık bir şeyken, koca bir gui
programını ve kullandığı kitaplıkların tümünü boşu boşuna root kimliği
altında çalıştırmak. Bunların içinde mesela dosya silmeyle ilgili bir bug
olsa, gidip /usr yi silebilir olduğu gibi, ne gerek var buna.
Biz çomar modelinde işlemlerin gerçekten yetki gerektiren, sistem
yapılandırmasına ait kısımlarını tanımlıyoruz. Yetki verilmiş kişiler de
bunları kullanabiliyor.
Diyebileceğin bir şey, mesela ben kullanıcıya yetki vermedim, mesela
kardeşimin kullanıcısı, ama kardeşim abi bana şunu kursana dedi bilgisayarı
kullanırken, ben de onun çalışmasını kapamadan kurmak istiyorum. E bunun yolu
da belli, fast user switching, bas menüye, kullanıcı değiştiri seç, kendi
admin kullanıcında (root demiyorum bak, hiç bir durumda root olmana gerek
olmamalı) işini yap çık. Yeni bir x açmak istemiyor musun? Program
çalıştırdan tasmayı seç, alttaki opsiyonları açıp kullanıcı girişini (kendi
admin kullanıcın gene) yap, işini bitir çık.
Çomar yetki değerlendirmeyi karşısındaki kişiye göre yapıyor.
Bunu /etc/comar/security-policy.xml içinden istediğiniz gibi ayarlamak
mümkün. Kişi değiştirmekle ilgili her türlü destek de masaüstü ortamı içinde
var zaten.
Özetlersek:
1. Root olarak çalışan şeylerin minimum olmasını istiyoruz.
2. Mekanizmalar uzun uzun düşünülerek tasarlandı, çünkü girmek istediğimiz
corporate desktop pazarının ihtiyaçlarını klasik Linux çözümleri
karşılamıyor.
3. Kullanıcı değiştirmeyle ilgili çözümler halihazırda mevcut ve diğer
sorunların da çözümü bu.
Sonuncu madde ile ilgili olarak:
Mesela netten bir binary çektin bunu güvenle çalıştırmak istiyorsun. E o zaman
yapacağın şey zaten hemen bu iş için hazırlanmış sıfır yetkili bir
kullanıcıya geçip onla bunu yapmak. Trojanları önlemenin başka yolu yok
çünkü. Öyle bir program istediği gibi paket kurabilir senin yetkin varsa
zaten. Parola mı mecburi tuttun? kendini autostart a falan ekler, bir dahaki
sefer normal bir iş için parola girmeni bekleyip, orada yapar işini, vb bin
türlü yolu var.
Binlerce parola/onay vb sorusu sormakla güvenlik gelmiyor, sadece günlük hayat
zorlaşıyor.
Vakit bulunca daha detaylı yazacağım güvenlik modelimizi, uygulamada aksayan
taraflar var, mesela programlar yetki olmadığı durumları düzgün raporlamıyor
vb, ama gerekler analizi ve mimari kısmında bir eksiklik yada yanlışlık
göremiyorum.
Gelistirici mesaj listesiyle ilgili
daha fazla bilgi