Linux Sunucularda Rootkit Taraması Rkhunter ve Chkrootkit

Bir Linux sunucuda CPU ve bellek değerleri normal görünüyor ve servisler çalışıyorsa sistem sağlıklı sanılabilir. Fakat bu göstergeler tek başına yeterli değildir. Beklenmeyen outbound trafik, tanımsız bağlantılar ya da loglara düşmeyen hareketler varsa, yaşanan durum performans sorunundan çok güvenlik ihlaline işaret edebilir. Böyle senaryolarda rootkit ihtimali göz önünde bulundurulmalıdır.

Rootkit Nedir?

Rootkit, sistem içerisinde aktifken fark edilmemek üzere tasarlanmış zararlı yazılımlardır. Komut çıktılarıyla oynayan basit türlerin yanında, çekirdek seviyesinde çalışan gelişmiş rootkit’ler de bulunur. Bu yapı sayesinde süreçler, dosyalar ve ağ bağlantıları gizlenebilir. Rootkit’in temel amacı saldırı yapmak değil, saldırıyı gizlemektir.

Rootkit Türleri

Rootkit TürüÇalıştığı KatmanNe YaparTespit Zorluğu
Userland RootkitKullanıcı alanıSistem komutlarını (ls, ps, netstat) değiştirirOrta
Kernel RootkitÇekirdek seviyesiKernel modüllerini değiştirir, her şeyi gizlerÇok zor
BootkitBoot süreciSistem açılırken yüklenirÇok zor
Firmware RootkitBIOS / UEFIDisk silinse bile kalıcıdırAşırı zor

Linux ortamlarında rootkit kontrolü denildiğinde en sık kullanılan araçlar Rkhunter ve Chkrootkit’tir. Bu araçların her tehdidi tespit etmesi beklenmez ve tek başına mutlak doğruluk sağlamazlar. Buna rağmen doğru senaryoda çalıştırıldıklarında, yöneticilere erken uyarı veren etkili bir güvenlik katmanı oluştururlar.

Taramaya Geçmeden Önce Hazırlık

Rootkit taraması, sistemin mevcut durumunu baz alır. Tarama, güncelleme yapılmış ya da yeni değişiklikler uygulanmış bir sistemde çalıştırılırsa, çıkan uyarıların büyük kısmı yanlış alarm olabilir.

Yetki Ve Ortam Kontrolü

Aşağıdaki komutlar, hangi kullanıcıda olduğunuzu ve temel sistem bilgisini sabitlemenizi sağlar.

whoami
uname -a
uptime 

Rkhunter Kurulumu

Rkhunter, detaylı kontroller sunarak rootkit tespitine yardımcı olan bir araçtır. İmza kontrolleri, yapılandırma analizleri ve dosya özellikleri üzerinden değerlendirme yapar. Doğru yapılandırma ile sistem yöneticisine erken uyarı sağlayan güçlü bir kontrol mekanizması haline gelir.

Kurulum

Debian Ubuntu için

apt install rkhunter -y

RHEL Alma Rocky için

dnf install epel-release -y
dnf install rkhunter -y

Sistemin temiz durumundaki dosya özellikleri ve hash değerleri kaydedilmelidir.

sudo rkhunter --propupd

Bu adım atlanırsa sonraki taramalarda üretilen uyarıların büyük kısmı anlamsız olur. Araç, hangi değişikliğin normal olduğunu ayırt edemez. Tarama şu şekilde yapılır.

sudo rkhunter --check --sk

Tarama sonrası tüm çıktılar şu dosyada toplanır.

/var/log/rkhunter.log

Burada görülen her warning gerçek bir ihlal anlamına gelmez. Paket güncellemeleri, kernel değişiklikleri veya özel derlenmiş binary’ler de benzer uyarılar üretebilir.

Chkrootkit ile Hızlı Rootkit Kontrolü

Chkrootkit, temel seviyede ancak hızlı bir tarama imkanı sunar. Ek ayar gerektirmeden çalışır ve kısa sürede çıktı üretir. Bu nedenle genellikle ek bir kontrol ve doğrulama aracı olarak kullanılır.

Kurulum

Debian Ubuntu için

apt install chkrootkit -y

RHEL Alma Rocky için

dnf install chkrootkit -y

Tarama ve log alma

chkrootkit
chkrootkit | tee /var/log/chkrootkit.log

Chkrootkit çıktısında INFECTED benzeri ifadeler görüldüğünde hemen sonuca varılmamalıdır. Bazı kontroller özellikle LKM testlerinde yanlış pozitif üretebilir. Bu nedenle uyarılar mutlaka ek kontrollerle doğrulanmalıdır.

Rootkit Uyarılarının Değerlendirilmesi

Bu aşamada, tarama aracının oluşturduğu uyarıyı doğrulayacak adımların planlanması gerekir. Tarama sonuçları tek başına yeterli değildir ve doğrudan karar vermek doğru olmaz. Asıl değerlendirme, sistem yöneticisinin Linux komutlarını kullanarak elde ettiği çıktılar üzerinden yapılmalıdır.

Süreç ve Bağlantı Kontrolü

Beklenmedik süreçler ve dinleyen portlar öncelikle kontrol edilmelidir.

ps auxf | head -n 50 
ss -tulpn
lsof -i -P -n | head -n 50

Kullanıcılar ve Oturumlar

Anormal oturumlar ve beklenmedik kullanıcılar, rootkit kadar önemli sinyaller verebilir.

last -a | head
w
cat /etc/passwd

ve systemd Kalıcılık Kontrolü

Birçok kalıcılık yöntemi cron veya systemd üzerinden uygulanır. Beklenmeyen zamanlayıcılar ve servisler not edilmelidir.

crontab -l
ls -la /etc/cron.*
systemctl list-timers --all
systemctl list-unit-files --state=enabled | head -n 50

SUID ve SGID Dosyalarının İncelenmesi

SUID ve SGID izinleri tek başına bir güvenlik ihlali göstergesi değildir. Buna rağmen saldırganlar tarafından yetki kazanmak için sıklıkla tercih edilir. Bu nedenle ilgili dosyalar tespit edilip liste halinde değerlendirilmelidir.

find / -xdev -type f -perm -4000 -print 2>/dev/null | head -n 50
find / -xdev -type f -perm -2000 -print 2>/dev/null | head -n 50

Tamamlayıcı Güvenlik Araçları

Bu araçlar disk üzerindeki izlere odaklanır. Kernel seviyesinde gizlenen veya yalnızca bellek üzerinde çalışan tehditler klasik taramalardan kaçabilir. Bu nedenle tamamlayıcı araçlar kullanılmalıdır.

AIDE

Dosya bütünlüğü takibi yapar. Hash tabanlı çalışır.

apt install aide -y
aideinit
aide --check

Lynis

Sistem sıkılaştırma ve güvenlik denetimi yapar. Yanlış yapılandırmaları ortaya çıkarır.

apt install lynis -y
lynis audit system

Auditd

Sistemdeki kritik olayları kayıt altına alır. Yetki yükseltme, dosya erişimi, değişiklikler.

apt install auditd -y
systemctl enable auditd --now

Sık Sorulan Sorular

Rootkit ile backdoor arasındaki teknik fark nedir?

Backdoor, sisteme uzaktan erişim sağlayan bir giriş noktasıdır. Rootkit ise bu erişimi, süreçleri ve dosyaları gizleyen bir katmandır. Çoğu senaryoda rootkit, mevcut bir backdoor veya yetki yükseltme sonrası devreye girer ve saldırının fark edilmesini engeller.

Kernel rootkit, kullanıcı alanı rootkit’ten teknik olarak neden daha tehlikelidir?

Kernel rootkit’ler çekirdek seviyesinde çalıştığı için sistem çağrılarını manipüle edebilir. ps, ls, netstat, ss gibi araçların ürettiği çıktılar kernel üzerinden filtrelenir.

Rootkit taraması neden canlı sistemde güvenilir değildir?

Eğer rootkit aktifse, tarama aracının kendisi manipüle edilmiş çıktılarla çalışır. Bu nedenle ileri seviye analizlerde offline tarama veya farklı bir kernel ile boot edilerek inceleme tercih edilir.

Bellek üzerinde çalışan rootkit’ler disk taramalarından neden kaçar?

Disk tabanlı rootkit’ler dosya, modül veya binary bırakır. Bellek tabanlı rootkit’ler ise yalnızca RAM üzerinde yaşar ve reboot sonrası kaybolur. Bu tür tehditler rkhunter veya chkrootkit tarafından tespit edilemez.

Yorum yapın