SUID ve SGID Bit’ler ve Bu Bitlere Sahip Dosyaların Bulunması

Nix sistemerde kullanılan SUID ve SGID özelliği, bir kullanıcının, bir programı kendisine tanınmış haklardan daha fazla izne sahip olarak çalıştırması gerektiği durumlarda kullanılmaktadır. Suid ve sgid oldukça kullanışlı birer dosya yetki özelliği olmasına rağmen güvenlik açısından dikkat edilmesi gereken bir husustur. Zira, suid biti aktif edilmiş dosyalar suistimal edilerek ve zafiyete neden olabilirler. suid sgid bit

İşte bu nedenle, sistemdeki SUID ve SGID dosyaların taranması ve listelenmesi rutin bir güvenlik önlemi konuyla ilgili biraz detay vermek istedim. Yazının devamında SUID/SGID bit’lerinin ne olduğu ve sistemde bu bitlere sahip dosyaların nasıl saptanabileceği ile ilgili bilgiler bulabilirsiniz.

Yazinin devami icin tiklayin.


Bir Dizin Yapısının Kopyalanması

Sistemde bulunan bir dizinin yapısını, tüm alt dizinleri de kapsayacak şekilde -ve dizin içeriğindeki dosyaları almadan- kopyalamak için find komutundan yararlanılabilir. Örnek olarak /usr/share dizininin yapısı, tüm alt dizinleri ile birlikte başka bir yere aşağıdaki şekilde kopyalanabilir.

# mkdir /dizin/yapisinin/kopyalanacagi/alan
# cd /usr/share
# find * -type d -exec mkdir /dizin/yapisinin/kopyalanacagi/alan/\{\} \;

Gördüğünüz gibi, find komutu ile /usr/share dizini altındaki dizinler aranıyor ve bunlar belirttiğimiz diğer dizinin altında mkdir ile oluşturuluyor. Böylece, share dizininin boş bir kopyası, tüm dosyalardan arındırılmış şekilde oluşturulmuş oluyor.


Herkes tarafından yazılabilir dosyaların saptanması

Nix sistemlerde izinleri 777 olarak set edilmiş, yani herkesin yazıp çizebileceği (world writable) tüm dosya ve dizinleri saptamak için aşağıdaki find komutu kullanılabilir.

# find / \( -perm -o+rwx -o -perm -g+rwx -perm -o+rwx \) | xargs ls -l

Detaylar için find’in man sayfasindan yararlanilabilir.

http://unixhelp.ed.ac.uk/CGI/man-cgi?find
http://linux.die.net/man/1/find


Belli bir zaman aralığında değiştirilmiş dosyaların saptanması

*nix sistemlerde belli bir zaman aralığında değiştirilmiş (modify edilmiş) dosyaları bulmak için find komutunun mmin ve mtime gibi parametrelerinden yararlanılabilir. Özellikle sızıldığından şüphe ettiğiniz bir sistemi incelerken, hangi dosyaların değiştirilmiş olduğunu saptamak olayların nasıl geliştiğini anlamak için önemli bir nokta olacaktır.

Aşağıda, find mtime ve mmin ile değiştirilmiş dosyaların saptanmasına ait bir kaç örnek bulabilirsiniz.

Yazinin devami icin tiklayin.


*nix Sistemlerde Değiştirilen Dosyaların Belirlenmesi

Bazı durumlarda, özellikle yönetimini sizin yapmadığınız Linux ya da Unix sistemlerde yapılmış olan değişiklikleri belirmek ve sistem üzerinde hangi conf dosyalarının editlendiğini görmek isteyebilirsiniz.

Her ne kadar işletim sisteminin audit özelliği devrede ise bu tip işleri audit loglarında bulabilirsiniz. Fakat böyle bir şansınız yoksa ilgili dosyaları saptamak kullanabileceğiniz bir iki yöntem daha bulunuyor.

Yazinin devami icin tiklayin.