SUID ve SGID Bit’ler ve Bu Bitlere Sahip Dosyaların Bulunması
İş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.
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.
*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.