Rootkit, çalışan süreçleri, dosyaları veya sistem bilgilerini işletim sisteminden gizlemek suretiyle varlığını sürdüren bir program veya programlar grubudur. Amacı yayılmak değil bulunduğu sistemde varlığını gizlemektir. Önceleri çok kullanıcılı sistemlerde sıradan kullanıcıların yönetim programlarına ve sistem bilgilerine erişimini gizlemek için geliştirilmiş ve kullanılmış olmasına rağmen kötü niyetli kullanımına da rastlamak mümkündür.
Rootkit'ten Korunma Yolları
Kullanılan dağıtımın resmi paket dağıtım sistemi dışına çıkmaması pek çok sorunu çözecektir. Ancak güvenilmeyen kaynaklardan kurulan bir betik/binary dosya veya içeriği bilinmeyen bir tar.gz dosyasını (veya uygulanacak bir yamayı) derleyip çalıştırmak pek çok sorunu beraberinde getirebilir. Genel kaide olarak dağıtımın resmi paket depoları ile kullanılacak programın resmi internet sitesinden alınacak kaynak kodlar korunmada bir derece etkili olacaktır. Diğer insanların erişimine açık bir sistem kullanılıyorsa güncellemeleri zamanında yapmak ve sık sık kontrol etmek de unutulmaması gereken bir işlemdir.
Rootkit Hunter (Rootkit Avcısı)
Rootkit Hunter (Rkhunter), Linux tabanlı olup BASH(Bourne Again SHell) kabuğunda çalışan bir Rootkit tarayıcıdır.
Rootkit Avcısı Kurulumu
Program kurulmadan önce gerekli paket sisteme indirilir.
#wget download_linki_rkhunter
İndirilen paket sıkıştırılmış ise açılır.
#tar zxf rkhunter-*.*.*.tar.gz
Paketler rkhunter adı altında bir dizine açılır, paketlerin açılma işlemi sırasında rkhunter dizini kendiliğinden oluşturulur, ve rkhunter dizininin içine girilir.
#cd rkhunter
Burada bulunan installer.sh betiği çalıştırılır ve program kurulumaya başlanır.
#./installer.sh
Programla ilgili belgeler /usr/local/rkhunter/lib/rkhunter/docs/ altında tutulur. Bu program için herhangi bir man dosyası bulunmamaktadır.
Program /usr/local/bin/rkhunter yolu üzerinde çalıştırılabilir.
Programın geçerli bazı parametreleri:
Komut | Açıklama |
checkall (-c) | Bütün sistemi kontrol eder. |
createlogfile | Kayıt dosyası oluşturur. (/var/log/rkhunter.log adı altında) |
cronjob | Eğer zamanlayıcıya bağlanmış ise cron üzerinden çalıştırılması sağlanır. |
display-logfile | Taramadan sonra kayıt dosyasını gösterir. |
report-mode | Sadece özet bilgileri gösterir. |
skip-application- check | Programların sürüm taramalarını atlaması sağlanır. |
skip-keypress | Her testin sonunda geçiş yapmak için soru sorması engellenir. |
quick | Bütün sistemi kontrol etmesinden ziyade hızlı bir tarama yapar. |
quiet | Sadece uyarıları gösterecek şekilde tarama yapar. |
update | Güncelleme aracını çalıştırır ve veritabanı güncellemesi yapar. |
configfile <file> | Farklı bir yapılandırma dosyası kullanılacaksa bu parametre kullanılır. |
dbdir <dir> | Farklı bir veritabanı dizini kullanılacaksa bu parametre kullanılır. |
Programın yapılandırma dosyasının erişimi
#vim rkhunter/files/testing/rkhunter.conf şeklindedir. Bu dosyada bulunan MAIL-ON-WARNING parametresi root@localhost şeklinde değiştirilmelidir.
Taramanın sonunda kayıt dosyası oluşturmak için aşağıdaki komutlar yürütülmelidir.
#/usr/local/bin/rkhunter -c --createlogfile --skip-keypress --checkall
Bu komut dizisi ile bütün sistem taratılır ve sonunda kayıt dosyası oluşturulur. Kayıt dosyasının konumu ise /var/log/rkhunter.log . Tarama sonuçlarını kayıt defterine geçirmek için devamlı olarak yukarıdaki komut dizisi kullanılmalıdır, ancak ikinci bir taratma sonucu yeni bir kayıt dosyası oluşturulmaz ilk seferde oluşturulan dosyanın üzerine yazar ve dosyanın silinmesine neden olur. Bundan dolayı ikinci ve daha sonraki taramalar başlamadan bir önceki kayıt dosyasının yedeği alınmalıdır.
Programın düzenli zamanlarda çalışmasını sağlamak için de crontab dosyasına bilgi girişi yapılmalıdır. Bunu yapmak için ise aşağıda belirtilen yol izlenir.
#crontab -e
Bu komut ile yeni bir metin editörü açılır ve editörün içerisine aşağıdaki bilgiler kopyalanır:
a b c d e (/usr/local/bin/rkhunter -c --cronjob --report-mode --createlogfile --skip-keypress 2>&1 | mail -s "Daily Rkhunter Scan Report""root@localhost )
Burada belirtilen satırda a,b,c,d ve e zaman belirteçlerine göre rkhunter programı çalıştırılır ve Daily Rkhunter Scan Report (Günlük Rkhunter Tarama Raporu) başlığı altında root (kök)'a e-posta gönderir. Aşağıda zaman belirteçleri ile ilgili açıklama yapılmıştır.
a | Dakika | 0-59 |
b | Saat | 0-23 |
c | Ayın Günü | 1-31 |
d | Ay | 1-12 |
e | Haftanın Günü | 0-7, 0=7=Pazar |