Buyukweb
Linux Güvenlik Denetimi: Lynis, AIDE ve ClamAV ile Pratik Koruma

Linux Güvenlik Denetimi: Lynis, AIDE ve ClamAV ile Pratik Koruma

VDS sunucunuz hacklendiğinde ne zaman girildiğini, hangi dosyanın değiştiğini ve hangi malware bırakıldığını bulmak için Lynis, AIDE ve ClamAV kurulum, kullanım ve otomasyon rehberi.

Büyükweb Editör EkibiHosting, Sunucu ve Sistem Yönetimi Editörü11 dakika okuma

Linux Güvenlik Denetimi: Lynis, AIDE ve ClamAV ile Pratik Koruma

VDS sunucunuz hacklendi — saldırgan ne zaman girdi, neyi değiştirdi, hangi malware bıraktı? Bu üç soruya cevap verebilmek için sırasıyla AIDE, ClamAV ve Lynis lazım. Güvenlik denetimi reaktif değil, proaktif kurulur. Saldırı geldiğinde "şimdi ne yapacağız?" diye soranlar değil, haftalık raporları önceden okuyanlar hasarı minimum tutar.

Bu yazıda üç açık kaynaklı aracı sıfırdan kuruyoruz, anlamlı şekilde kullanıyoruz ve haftalık otomatik e-posta raporuna bağlıyoruz. AlmaLinux 9, Ubuntu 22.04, Debian 12 ve RHEL 9 için geçerli komutlar verildi — hepsi standart paket depolarında mevcut.

Buyukweb perspektifi: Buyukweb cPanel hosting paketlerinde Imunify360 entegre — malware taraması ve gerçek zamanlı koruma Buyukweb tarafından günlük çalıştırılır, müşteri ek kurulum yapmak zorunda değil. VDS unmanaged — Lynis, AIDE ve ClamAV kurulumu, yapılandırması ve zamanlama tamamen müşteri sorumluluğundadır. Bu rehber VDS kullanıcılarına yöneliktir. Tercih etmeyin: Lynis + AIDE + ClamAV başlangıç katmanı — kurumsal SOC ortamında yetersiz kalır; gerçek SIEM (Wazuh, Graylog, ELK gibi açık kaynak çözümler) gerekir. Ama tek sunucu veya küçük altyapı için bu üçlü, saldırı tespitinin yüzde seksenini karşılar.

Üç Araç, Üç Farklı Soruya Cevap

Güvenlik araçlarını karıştırmak yaygın hata. Lynis sistem zafiyeti sorar; AIDE dosyanın değişip değişmediğini izler; ClamAV kötücül yazılım imzalarına bakar. Üçü aynı işi yapmaz; üçü birbirini tamamlar.

Araç Görev Temel soru Sıklık
Lynis 3.x Zafiyet ve yapılandırma denetimi "Sistemde bilinen açık var mı?" Haftalık / aylık
AIDE 0.18+ Dosya bütünlük izleme "Hangi dosya değişti, eklendi, silindi?" Günlük
ClamAV 1.x Malware imza taraması "Sunucuda kötücül yazılım var mı?" Haftalık

Üç aracı birlikte kullanma senaryosu şudur: Lynis aylık çalışır ve açık kalan sysctl parametrelerini, gereksiz açık portları, zayıf SSH yapılandırmasını listeler. AIDE gece otomatik çalışır; sabah e-postada "/etc/passwd değişti" görürsün. ClamAV hafta sonu web kök dizini tarar; yüklenen PHP webshell'ini yakalar. Bu üçlü kurulu değilse saldırı haftalarca fark edilmez.

1. Lynis — Zafiyet ve Yapılandırma Tarayıcısı

Lynis, 300'den fazla otomatik test çalıştıran sistem güvenlik denetim aracıdır. SSH yapılandırma hataları, kernel parametreleri, gereksiz çalışan servisler, zayıf parola politikası, güncellenmemiş paketler — tek komutla tüm bunları raporlar.

Kurulum

# Ubuntu 22.04 / Debian 12
apt install -y lynis

# AlmaLinux 9 / RHEL 9
dnf install -y lynis

# Lynis sürümünü doğrula — 3.x olmalı
lynis show version

Eğer paket deposundaki sürüm eskiyse CISOfy'ın kendi deposunu ekleyebilirsin; ama çoğu güncel dağıtımda depo sürümü 3.x gelir.

Sistem Denetimi

# Tam sistem taraması
lynis audit system

# Sessiz mod — sadece uyarı ve önerileri listeler
lynis audit system --quiet

# Belirli kategoriyi tara
lynis audit --tests-from-group authentication
lynis audit --tests-from-group networking
lynis audit --tests-from-group malware

Tarama tamamlanınca ekran sarı ve kırmızı satırlarla dolar — paniklemek değil okumak gerekir.

Rapor Yorumlama

Lynis çıktısı üç bölümden oluşur:

Bölüm Anlamı Öncelik
Warning Açık veya yanlış yapılandırma; acil Yüksek
Suggestion İyileştirme önerisi; ertelenebilir Orta
Hardening index 100 üzerinden genel puan Referans
# Tüm önerileri listele
lynis show suggestions

# Belirli bir testin detayına bak
lynis show details AUTH-9262

# Ham log dosyası
cat /var/log/lynis.log | grep -A5 "Warning"

# Makineye okunabilir rapor
cat /var/log/lynis-report.dat

Yaygın Lynis uyarıları ve ilk düzeltmeleri:

# AUTH-9328: root SSH girişi açık
sed -i 's/^#*PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
systemctl reload sshd

# KRNL-6000: sysctl dmesg_restrict kapalı
echo "kernel.dmesg_restrict = 1" >> /etc/sysctl.d/99-lynis.conf
echo "kernel.kptr_restrict = 2" >> /etc/sysctl.d/99-lynis.conf
sysctl --system

# PKGS-7392: güncellenmemiş paketler
apt upgrade -y           # Ubuntu/Debian
dnf upgrade --security   # AlmaLinux/RHEL

2. AIDE — Dosya Bütünlük İzleme

AIDE (Advanced Intrusion Detection Environment), kurulum anında sistemin "temiz hali"ni veritabanına kaydeder. Sonraki her çalışmada aynı dosyaları karşılaştırır; değişiklik, ekleme veya silme olmuşsa seni uyarır.

Senaryo: Saldırgan sunucuya girdi, /usr/bin/python3 yerine trojanlanmış bir binary koydu. Shell history'i temizledi, syslog'u değiştirdi. Gözle fark edilmez. AIDE gece çalıştığında "AIDE: /usr/bin/python3 — sha256 mismatch" raporu e-postana gelir.

Kurulum

# Ubuntu 22.04 / Debian 12
apt install -y aide

# AlmaLinux 9 / RHEL 9
dnf install -y aide

# Sürüm kontrolü — 0.18+ olmalı
aide --version

Yapılandırma

# /etc/aide.conf — kritik bölümler (dağıtıma göre /etc/aide/aide.conf da olabilir)

# Veritabanı yolları
database_in=file:/var/lib/aide/aide.db
database_out=file:/var/lib/aide/aide.db.new

# Kural tanımları
CONTENT_EX = sha256+ftype+p+lnk+n+u+g+acl+xattrs

# İzlenecek dizinler
/etc     CONTENT_EX
/bin     CONTENT_EX
/sbin    CONTENT_EX
/usr/bin CONTENT_EX
/usr/sbin CONTENT_EX
/boot    CONTENT_EX
/lib     CONTENT_EX
/lib64   CONTENT_EX
/root    CONTENT_EX

# İzlenmeyecek dizinler (sık değişenler; görmezden gelinmeli)
!/var/log
!/var/cache
!/var/run
!/proc
!/sys
!/tmp
!/dev

İlk Veritabanını Oluşturma

Bu adım bir kez yapılır — sunucu temiz ve sertleştirilmişken:

# Veritabanını başlat — birkaç dakika sürer
aide --init

# Oluşturulan veritabanını aktif hale getir
mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db

# (Ubuntu/Debian dağıtımında uzantılı olabilir)
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

Kritik: AIDE veritabanını sunucu dışında sakla — harici depolama, salt okunur NFS veya güvenli nesne depolaması. Veritabanı sunucuda kalırsa saldırgan onu da değiştirebilir.

Bütünlük Kontrolü ve Uyarı Yorumlama

# Değişiklikleri kontrol et
aide --check

# Sadece değişen satırları filtrele
aide --check 2>&1 | grep -E "added:|removed:|changed:"

# Meşru değişiklik (örn. sistem güncellemesi) sonrası veritabanı güncelle
aide --update
mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db

AIDE çıktısında üç değişiklik tipi görünür:

Tip Anlamı Yapılacak
added Yeni dosya oluşturulmuş Paketten mi geldi? Değilse şüpheli
changed Mevcut dosya değişmiş Güncelleme mi? Saldırı mı? Kontrol et
removed Dosya silinmiş Kasıtlı mı? Kötü niyetli mi? Araştır

Sistem güncellemesi sonrası onlarca "changed" satırı normal — ama güncelleme yokken gelen "changed: /usr/bin/sshd" kırmızı alarm.

Otomatik Kontrol ve Veritabanı Güncelleme Sıklığı

# /etc/cron.d/aide-check
0 4 * * * root /usr/bin/aide --check 2>&1 | mail -s "AIDE: $(hostname) - $(date +%F)" [email protected]

# Güncelleme (sistem güncellemesi sonrası elle)
# aide --update && mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db

Ne sıklıkta veritabanı güncellenmeli? Kural şudur: sisteme planlı değişiklik yapıldığında (paket yükseltme, yeni servis kurulumu) AIDE veritabanını güncelle. Aksi hâlde günlük "changed" seli gerçek uyarıyı gömler.


3. ClamAV — Malware Taraması

ClamAV, açık kaynaklı antivirüs motorudur. İmza tabanlı çalışır — virüs veritabanı düzenli güncellenmezse eski imzalara bakar ve yeni tehditleri kaçırır. Bu yüzden freshclam servisi kritik.

Buyukweb cPanel hosting'de ClamAV Imunify360 altyapısı içinde gelir ve Buyukweb tarafından günlük güncellenerek çalıştırılır. VDS'de ise müşteri kurar ve yönetir.

Kurulum

# Ubuntu 22.04 / Debian 12
apt install -y clamav clamav-daemon

# AlmaLinux 9 / RHEL 9
dnf install -y clamav clamd clamav-update

# Sürüm kontrolü — 1.x olmalı
clamscan --version

Virüs Veritabanını Güncelle (freshclam)

# freshclam daemon'u durdur, güncelle, başlat
systemctl stop clamav-freshclam 2>/dev/null || true
freshclam
systemctl enable --now clamav-freshclam

# Manuel güncelleme
freshclam --verbose

freshclam günlük otomatik güncelleme yapar. Bant genişliği endişesi varsa günde 1 kez ile sınırlayabilirsin; /etc/clamav/freshclam.conf içinde Checks 1 yeterli.

Tarama Modları

# Tüm web dizinini tara, sadece enfekte dosyaları göster
clamscan -r --infected /var/www/html

# Sessiz mod, raporu dosyaya yaz
clamscan -r --infected --quiet --log=/var/log/clamav-scan.log /var/www/html

# Enfekte dosyaları karantinaya taşı (sil değil — önce incele)
clamscan -r --move=/var/quarantine /var/www/html

# Sadece sonuç özetini göster
clamscan -r --infected --summary /var/www

ClamAV tarama modları karşılaştırması:

Mod Komut seçeneği Kullanım senaryosu
Standart tarama clamscan -r Tüm sonuçları görmek
Sadece enfekte --infected E-posta raporlama
Karantina --move=/path Güvenli izolasyon
Silme --remove Dikkatli kullan — geri dönüş yok
Sessiz log --quiet --log Cron otomasyonu

Dikkat: --remove seçeneğini üretim ortamında doğrudan kullanma. Önce --move ile karantinaya al, dosyayı incele, sonra karar ver.

ClamAV ve RAM Kullanımı

ClamAV imza veritabanı büyük; freshclam güncellemesinin ardından clamd daemon'u 600 MB - 1 GB RAM tüketebilir. Düşük RAM'li VDS'lerde (1-2 GB) clamd yerine clamscan ile zamanlanmış tarama tercih et — daemon sürekli çalışmaz, sadece tarama anında yüklenir.

# RAM'i kontrol et
free -h

# clamd çalışıyor mu?
systemctl status clamav-daemon

# daemon yerine on-demand tarama için daemon'u durdur
systemctl disable clamav-daemon
# Taramayı cron ile çalıştır (aşağıda)

Üçlü Kombinasyon: Haftalık Otomatik Güvenlik Raporu

Üç araç ayrı ayrı kuruldu. Şimdi haftalık e-posta raporu için birleştiriyoruz.

Haftalık Güvenlik Raporu Scripti

cat > /usr/local/bin/weekly-security-report.sh << 'SCRIPT'
#!/bin/bash
REPORT_FILE="/tmp/security-report-$(date +%F).txt"
ADMIN_EMAIL="[email protected]"
HOSTNAME_LABEL=$(hostname)

echo "===== Haftalık Güvenlik Raporu: $HOSTNAME_LABEL =====" > "$REPORT_FILE"
echo "Tarih: $(date)" >> "$REPORT_FILE"
echo "" >> "$REPORT_FILE"

# --- Lynis ---
echo "=== LYNIS: Sistem Denetimi ===" >> "$REPORT_FILE"
lynis audit system --quiet 2>&1 | grep -E "Warning|Suggestion|Hardening index" >> "$REPORT_FILE"
echo "" >> "$REPORT_FILE"

# --- AIDE ---
echo "=== AIDE: Dosya Bütünlük Kontrolü ===" >> "$REPORT_FILE"
aide --check 2>&1 | grep -E "added:|removed:|changed:|AIDE found" >> "$REPORT_FILE"
echo "" >> "$REPORT_FILE"

# --- ClamAV ---
echo "=== CLAMAV: Malware Taraması ===" >> "$REPORT_FILE"
freshclam --quiet 2>/dev/null
clamscan -r --infected --quiet --log=/dev/null /var/www 2>&1 >> "$REPORT_FILE"
echo "" >> "$REPORT_FILE"

echo "=== Rapor Sonu ===" >> "$REPORT_FILE"

mail -s "Güvenlik Raporu: $HOSTNAME_LABEL ($(date +%F))" "$ADMIN_EMAIL" < "$REPORT_FILE"
rm -f "$REPORT_FILE"
SCRIPT

chmod +x /usr/local/bin/weekly-security-report.sh

Cron Zamanlaması

# /etc/cron.d/security-suite
# AIDE — her gece 03:00
0 3 * * * root /usr/bin/aide --check 2>&1 | grep -E "added:|removed:|changed:" | mail -s "AIDE: $(hostname)" [email protected]

# ClamAV virüs veritabanı güncelleme — her gün 02:00
0 2 * * * root /usr/bin/freshclam --quiet 2>/dev/null

# ClamAV tarama — her Pazar 04:00
0 4 * * 0 root /usr/bin/clamscan -r --infected --quiet /var/www 2>&1 | mail -s "ClamAV: $(hostname)" [email protected]

# Lynis — her Pazar 05:00
0 5 * * 0 root /usr/bin/lynis audit system --quiet 2>&1 | grep -E "Warning|Suggestion" | mail -s "Lynis: $(hostname)" [email protected]

Üçlü Haftalık Çalıştırma Şeması

Araç Zaman Tetikleyici
freshclam güncelleme Her gün 02:00 Cron
AIDE --check Her gece 03:00 Cron
ClamAV tarama Pazar 04:00 Cron
Lynis audit Pazar 05:00 Cron
AIDE --update Sistem güncellemesi sonrası Manuel

Sıkça Sorulan Sorular

Lynis raporu yorumlamak zor — nereden başlamalı?

Raporda önce "Warnings" bölümüne bak — bunlar acil müdahale gerektiren açıklar. Suggestion sayısı çok yüksek olabilir (50-80 öneri normal) ama hepsini aynı anda çözmek gerekmez. lynis show details TEST-ID ile her öneri için spesifik açıklama ve düzeltme adımı görürsün. Önce yüksek puan düşüren Authentication ve Network kategorilerindeki uyarıları çöz.

AIDE veritabanını ne sıklıkla güncellemeliyim?

Rutin zamanlama yok — güncelleme meşru değişiklik sonrası yapılır. Paket yükseltmesi, yeni uygulama kurulumu veya yapılandırma değişikliği sonrasında aide --update çalıştır ve yeni veritabanını aktif et. Gelişigüzel güncelleme saldırı izlerini siler; bu yüzden --update öncesi --check çıktısını oku ve "changed" satırlarının hepsini açıklayabildiğinden emin ol.

ClamAV sunucuyu yavaşlatıyor — nasıl optimize ederim?

ClamAV imza veritabanı büyük ve tarama RAM yoğun. Üç çözüm: (1) clamd daemon'u devre dışı bırak, sadece cron ile on-demand clamscan çalıştır; (2) tarama saatini iş dışı vakite al (gece 04:00 gibi); (3) yüksek öncelikli tarama alanını sadece web kök dizinine sınırla (/var/www), tüm sistemi tarama. Günlük tarama yerine haftalık tarama VDS kaynaklarını daha az tüketir.

ClamAV, AIDE ve Lynis'i ayrı ayrı mı yoksa birlikte mi çalıştırmalıyım?

Birbirinden bağımsız çalışırlar; çakışma yok. AIDE en sık çalışmalı (günlük) çünkü dosya değişikliklerini anlık yakalaması önemli. ClamAV ve Lynis haftalık yeterli. Üçünü aynı anda çalıştırma — RAM ve I/O baskısı oluşturur; aralarına en az 1 saat boşluk bırak (yukarıdaki cron şeması buna göre yazıldı).

ClamAV webshell bulamadı ama sitede şüpheli aktivite var — ne yapmalı?

ClamAV imza tabanlıdır; bilinmeyen (zero-day) veya obfuscated webshell'leri kaçırabilir. Bu durumda ek adımlar: find /var/www -name "*.php" -newer /var/www/html/index.php ile son eklenen PHP dosyalarını listele; grep -r "eval(base64_decode" /var/www ile gizlenmiş kod ara; AIDE raporu varsa "added" satırlarını incele — beklenmedik PHP dosyası görünebilir. Lynis malware grubunu ayrıca çalıştır: lynis audit --tests-from-group malware.

Üç araç kurumsal ortamda yeterli mi?

Tek sunucu veya küçük yapı için başlangıç güvenlik katmanını sağlarlar. Ama birden fazla sunucu yönetiyorsan merkezi log toplaması, korelasyon ve uyarı yönetimi için Wazuh, Graylog veya ELK gibi açık kaynak SIEM çözümlere geçmen gerekir. Lynis, AIDE ve ClamAV raporlarını bu sistemlere aktarabilirsin; ama kurumsal SOC işleyişi için üçlünün tek başına yeterli olmadığını baştan kabul et.


İlgili Büyükweb Hizmetleri

Sunucu güvenliğini ciddiye alanlar için:

7/24 teknik destek: 0850 302 60 70 veya iletişim sayfamız.

Güvenlik & SSL İlgili Hizmetlerimiz

Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin

Etiketler:

#lynis#aide#clamav#güvenlik#ssl#siber güvenlik

Bu yazıyı paylaş