Malware ve Rootkit Tarama: rkhunter ve ClamAV Rehberi
Linux sunucunuzu malware ve rootkit'lere karşı koruyun. rkhunter ve ClamAV kurulumu, tarama yapılandırması, sonuç yorumlama ve zamanlanmış tarama rehberi.
İçindekiler
Malware ve Rootkit Tarama: rkhunter ve ClamAV Rehberi
Linux sunucular, Windows sistemlere kıyasla daha az hedef alınsa da malware ve rootkit saldırılarından tamamen muaf değildir. Özellikle internete açık sunucularda düzenli güvenlik taraması yapmak kritik önem taşır. Bu rehberde rkhunter ve ClamAV araçlarını kullanarak kapsamlı bir güvenlik tarama altyapısı kuracaksınız.
rkhunter Nedir?
rkhunter (Rootkit Hunter), Linux sistemlerde rootkit, backdoor ve yerel exploit'leri tespit etmek için tasarlanmış açık kaynaklı bir güvenlik aracıdır. Sistem dosyalarının hash değerlerini, izinlerini ve bilinen rootkit imzalarını kontrol eder.
rkhunter Kurulumu
# Ubuntu/Debian
sudo apt update
sudo apt install rkhunter -y
# CentOS/AlmaLinux/Rocky Linux
sudo dnf install rkhunter -y
# veya EPEL reposundan:
sudo dnf install epel-release -y
sudo dnf install rkhunter -y
rkhunter Veritabanını Güncelleme
# İmza veritabanını güncelle
sudo rkhunter --update
# Sistem dosyalarının başlangıç hash değerlerini kaydet
# Bu adımı temiz bir sistemde yapın!
sudo rkhunter --propupd
--propupd komutunu yalnızca sisteminizin temiz olduğundan emin olduğunuzda çalıştırın. Bu komut mevcut dosya hash'lerini referans olarak kaydeder.
rkhunter ile Tarama Yapma
# Tam sistem taraması
sudo rkhunter --check
# Etkileşimli olmayan mod (cron için)
sudo rkhunter --check --skip-keypress
# Yalnızca belirli testleri çalıştır
sudo rkhunter --check --rwo # Yalnızca uyarıları göster
# Ayrıntılı çıktı
sudo rkhunter --check --verbose-logging
# Log dosyasını görüntüle
sudo cat /var/log/rkhunter.log
rkhunter Yapılandırması
sudo nano /etc/rkhunter.conf
# /etc/rkhunter.conf önemli ayarlar
# E-posta bildirimi
MAIL-ON-WARNING=admin@example.com
MAIL_CMD=mail -s "[rkhunter] Uyarı - $(hostname)"
# Günlük güncelleme
AUTO_X_DETECT=1
UPDATE_MIRRORS=1
MIRRORS_MODE=0
# Beyaz liste - bilinen iyi dosyalar
SCRIPTWHITELIST=/usr/bin/egrep
SCRIPTWHITELIST=/usr/bin/fgrep
SCRIPTWHITELIST=/usr/bin/which
# Gizli dizin kontrolü
ALLOW_HIDDEN_SYS_FILELIST=0
# SSH root girişi kontrolü
ALLOW_SSH_ROOT_USER=no
ALLOW_SSH_PROT_V1=0
rkhunter Sonuçlarını Yorumlama
rkhunter çıktısında üç durum görebilirsiniz:
- OK (Yeşil): Dosya veya ayar güvenli
- Warning (Sarı): Şüpheli durum, manuel inceleme gerekli
- Not found (Beyaz): Araç veya dosya sistemde yok
# Yalnızca uyarıları filtrele
sudo grep -i warning /var/log/rkhunter.log
# Özet raporu görüntüle
sudo tail -50 /var/log/rkhunter.log
Bazı uyarılar yanlış pozitif olabilir. Örneğin, özel derleme araçları veya özelleştirilmiş sistem dosyaları uyarı tetikleyebilir. Her uyarıyı manuel olarak doğrulayın.
ClamAV Nedir?
ClamAV, açık kaynaklı bir antivirüs motorudur. Linux sunucularda dosya taraması, e-posta eki kontrolü ve web içeriği taraması için yaygın olarak kullanılır.
ClamAV Kurulumu
# Ubuntu/Debian
sudo apt update
sudo apt install clamav clamav-daemon -y
# CentOS/AlmaLinux
sudo dnf install clamav clamd clamav-update -y
Virüs Veritabanını Güncelleme
# ClamAV servisini durdur (güncelleme için)
sudo systemctl stop clamav-freshclam
# Veritabanını manuel güncelle
sudo freshclam
# Servisi yeniden başlat
sudo systemctl start clamav-freshclam
sudo systemctl enable clamav-freshclam
# Güncelleme durumunu kontrol et
sudo freshclam --verbose
ClamAV ile Tarama
# Tek dizin taraması
sudo clamscan -r /home
# Tüm sistem taraması (yavaş olabilir)
sudo clamscan -r / --exclude-dir="^/sys" --exclude-dir="^/proc" --exclude-dir="^/dev"
# Yalnızca enfekte dosyaları göster
sudo clamscan -r /var/www --infected
# Enfekte dosyaları kaldır (dikkatli kullanın!)
sudo clamscan -r /home --infected --remove
# Enfekte dosyaları karantinaya al
sudo clamscan -r /home --infected --move=/quarantine
# Tarama sonuçlarını dosyaya kaydet
sudo clamscan -r / --log=/var/log/clamav-scan.log --exclude-dir="^/sys" --exclude-dir="^/proc"
ClamAV Daemon (clamd) Kullanımı
clamd, arka planda çalışan ClamAV servisidir ve tekrarlayan taramalar için çok daha hızlıdır.
# clamd yapılandırması
sudo nano /etc/clamav/clamd.conf
# /etc/clamav/clamd.conf
LocalSocket /var/run/clamav/clamd.ctl
User clamav
ScanMail true
ScanArchive true
ArchiveBlockEncrypted false
MaxDirectoryRecursion 20
FollowDirectorySymlinks false
FollowFileSymlinks false
ReadTimeout 180
MaxThreads 12
MaxConnectionQueueLength 15
LogSyslog false
LogFile /var/log/clamav/clamav.log
LogFileMaxSize 2M
LogTime true
LogClean false
LogVerbose false
DatabaseDirectory /var/lib/clamav
# clamd servisini başlat
sudo systemctl start clamav-daemon
sudo systemctl enable clamav-daemon
# clamdscan ile hızlı tarama
sudo clamdscan -r /home
Zamanlanmış Tarama Kurulumu
Cron ile Otomatik Tarama
# Cron dosyası oluştur
sudo nano /etc/cron.d/security-scan
# /etc/cron.d/security-scan
# Her gece 02:00'de rkhunter taraması
0 2 * * * root /usr/bin/rkhunter --check --skip-keypress --report-warnings-only 2>&1 | mail -s "[rkhunter] $(hostname) Günlük Rapor" admin@example.com
# Her Pazar 03:00'de ClamAV tam tarama
0 3 * * 0 root /usr/bin/clamscan -r / --exclude-dir="^/sys" --exclude-dir="^/proc" --exclude-dir="^/dev" --infected --log=/var/log/clamav-weekly.log
# Her gün ClamAV veritabanı güncelleme
0 1 * * * root /usr/bin/freshclam --quiet
Tarama Scripti Oluşturma
sudo nano /usr/local/bin/security-scan.sh
#!/bin/bash
# Kapsamlı güvenlik tarama scripti
DATE=$(date +%Y%m%d_%H%M%S)
LOG_DIR="/var/log/security-scans"
REPORT="$LOG_DIR/scan_$DATE.txt"
mkdir -p $LOG_DIR
echo "=== Güvenlik Tarama Raporu: $DATE ==" > $REPORT
echo "Sunucu: $(hostname)" >> $REPORT
echo "" >> $REPORT
# rkhunter taraması
echo "--- rkhunter Taraması ---" >> $REPORT
rkhunter --check --skip-keypress --report-warnings-only >> $REPORT 2>&1
# ClamAV taraması
echo "" >> $REPORT
echo "--- ClamAV Taraması ---" >> $REPORT
clamscan -r /home /var/www /tmp --infected >> $REPORT 2>&1
# Sonuçları e-posta ile gönder
if grep -q "Warning\|FOUND" $REPORT; then
mail -s "[UYARI] Güvenlik Tarama Raporu - $(hostname)" admin@example.com < $REPORT
fi
echo "Tarama tamamlandı: $REPORT"
sudo chmod +x /usr/local/bin/security-scan.sh
Olay Müdahalesi (Incident Response)
Eğer tarama sonucunda tehdit tespit edilirse:
1. Sistemi İzole Et
# Ağ bağlantılarını kontrol et
sudo ss -tlnp
sudo netstat -tlnp
# Şüpheli bağlantıları bul
sudo ss -anp | grep ESTABLISHED
# Gerekirse ağ erişimini kısıtla
sudo ufw default deny incoming
sudo ufw default deny outgoing
sudo ufw allow ssh # SSH erişimini koru
2. Kanıt Topla
# Çalışan süreçleri kaydet
ps aux > /tmp/processes_$(date +%Y%m%d).txt
# Ağ bağlantılarını kaydet
ss -anp > /tmp/connections_$(date +%Y%m%d).txt
# Son değiştirilen dosyaları bul
find / -mtime -1 -type f 2>/dev/null | grep -v proc | grep -v sys
# Cron job'ları kontrol et
crontab -l
ls -la /etc/cron*
3. Temizlik ve Kurtarma
# Şüpheli dosyaları karantinaya al
mkdir -p /quarantine
mv /path/to/suspicious/file /quarantine/
# Sistem dosyalarını doğrula
sudo debsums -c # Debian/Ubuntu
sudo rpm -Va # CentOS/RHEL
# Rootkit temizleme (son çare: yeniden kurulum)
# Ciddi enfeksiyonlarda sunucuyu yeniden kurun
Ciddi bir rootkit enfeksiyonu tespit edildiğinde, en güvenli çözüm sunucuyu sıfırdan yeniden kurmaktır. Rootkit'ler sistem araçlarını değiştirebildiğinden, temizleme işlemi her zaman güvenilir olmayabilir.
Sonuç
Düzenli malware ve rootkit taraması, sunucu güvenliğinin temel bileşenlerinden biridir. rkhunter ve ClamAV'ı birlikte kullanarak kapsamlı bir koruma katmanı oluşturabilirsiniz. Zamanlanmış taramalar ve e-posta bildirimleri sayesinde güvenlik tehditlerini erken tespit edebilirsiniz.
İlgili Makaleler
Fail2Ban Yapılandırma: SSH Brute-Force Koruması Rehberi
Fail2Ban ile SSH brute-force saldırılarına karşı sunucunuzu koruyun. Kurulum, jail.local yapılandırması, Nginx/Apache jail'leri, IP beyaz listesi ve e-posta bildirimleri.
WireGuard VPN Sunucusu Kurulumu: Adım Adım Rehber
WireGuard VPN sunucusu kurun: anahtar üretimi, sunucu ve istemci yapılandırması, IP yönlendirme, firewall kuralları ve Windows/Linux/Android istemci kurulumu.
Zero Trust Ağ Güvenliği: Temel Yapılandırma Rehberi
Zero Trust ağ güvenliği ilkeleri ve pratik uygulama: asla güvenme her zaman doğrula, mikro-segmentasyon, kimlik tabanlı erişim ve mevcut araçlarla uygulama rehberi.