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

# find / \( -perm -4000 -o -perm -2000 -o -perm -1000 \) -type f -print

komutu ile bulunabilir.

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 

*/5 * * * * /usr/local/sxid/bin/sxid --config /usr/local/sxid/etc/sxid.conf

0 comments:

Post a Comment

 
Top