Tanım
Suid biti etkin hale getirilmiş bir o dosya o anda kendisini çalıştıran kullanıcı yerinde, gerçekte sahibi olan kullanıcının haklarıyla çalışıyormuş gibi olmaktadır.
# ls -al /etc/passwd /etc/shadow
-rw-r--r-- 1 root root 804 Mar 28 09:46 /etc/passwd
-r-------- 1 root root 584 Mar 28 09:46 /etc/shadow
Yukarıdaki çıktı gözönünde bulundurulduğunda dosya izinlerinden de görülebileceği üzere iki dosyaya da root kullanıcısı/grubu haricinde herhangi birinin yazma hakkı yoktur. Peki bu durumda kullanıcı bilgilerini saklayan bu dosyalar nasıl düzenlenmekte, sıradan bir kullanıcı parolasını nasıl değiştirebilmektedir. Bunun cevabını vermek için parola değiştirmek için kullanılan passwd uygulamasının dosya izinlerine bakmak yeterlidir.
# which passwd
/usr/bin/passwd
# ls -al /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 Feb 17 2012 /usr/bin/passwd
Komut çıktısında "s" harfi ile ifade edilen değer suid bitinin etkin hale getirildiğini gösterir. Yani passwd komutunu çalıştıran herkes dosyanın sahibi olan root haklarıyla işlem yapmakta ve bu şekilde /etc/passwd ve shadow dosyalarının içeriğini değiştirebilmektedir.
Etkinleştirme
Düzgün şekilde takip edilmediği takdirde sudi/sgid biti etkin hale getirilmiş dosyalar tehlike arz etmektedir. Sistem kurulumu ile gelen dosyalar dışında bu yetkilere sahip dosya bulunmamalıdır. Suid ve Sgid bitlerinin aktif olduğu dosyalar
komutu ile bulunabilir.
# find / \( -perm -4000 -o -perm -2000 -o -perm -1000 \) -type f -print
chmod u+s /bin/program
komutu ile suid etkin hale getirilirken
chmod g-s /bin/program
ile sgid etkisi hale getirilebilir.
SXiD ile Otomatik Suid/Sgid Takibi
SXiD yazılımı Linux/UNIX sistemlerde suid ve sgid biti aktif dosyaların tespit edip raporlayan ve durumu mail yolu ile bildiren küçük bir yazılımdır. Kurulum için;
#cd /tmp
# wget http://freshmeat.net/redir/sxid/10146/url_tgz/sxid_4.0.4.tar.gz
# tar -zxvf sxid_4.0.4.tar.gz
# cd sxid-4.0.4/
# ./configure --prefix=/usr/local/sxid
# make
# make install
Kurulum ardından /usr/local/sxid/etc/sxid.conf içerisinde bulunan yapılandırma dosyası isteğe göre düzenlenerek cron girdisi ile çalışması sağlanabilir. Yazılımın e-posta gönderebilmesi için mail komutunun tam yolu öğrenilerek sxid.conf içerisinde gerekli belirtimleri gerçekleştirilmelidir.
# which mail
/bin/mail
Ardından mail komutunun tam yolu yapılandırma dosyasında belirtilmeli ve cron işi girilmelidir. Örnek sxid.conf yapılandırma dosyası
SEARCH = "/"
EXCLUDE = "/proc /mnt /cdrom /floppy"
EMAIL = "root"
ALWAYS_NOTIFY = "no"
LOG_FILE = "/var/log/sxid.log"
KEEP_LOGS = "5"
ALWAYS_ROTATE = "no"
FORBIDDEN = "/home /tmp"
ENFORCE = "no"
LISTALL = "no"
IGNORE_DIRS = "/home"
MAIL_PROG = "/bin/mail"
Her 5 dakikada bir yazılımın çalışması için gerekli cron işi için aşağıdaki adımdaki gibi gerçekleştirilebilir
0 comments:
Post a Comment