Duyuru 8 dk okuma

Linux KSMBD Güvenlik Açıkları: Kontrol ve Korunma

Linux çekirdeğinde SMB dosya paylaşımı sağlayan KSMBD bileşeninde iki kritik güvenlik açığı bildirildi. Linux sunucu yöneticilerinin bu bileşenin kullanım durumunu kontrol etmesi ve gerekli güvenlik önlemlerini uygulaması gerekiyor.

Linux KSMBD Güvenlik Açıkları: Kontrol ve Korunma

Kısa cevap: Her Linux sunucusu bu açıklardan etkilenmez. KSMBD desteğinin bulunması, modülün yüklü olması ve hizmetin ağ üzerinden erişilebilirliği ayrı ayrı kontrol edilmelidir. PHP güvenlik ayarları bu açıkları kapatmaz.

Bilgilendirme tarihi: 23 Ekim 2026. Güvenlik yamalarının durumu dağıtım sağlayıcılarına göre değişebilir.

KSMBD nedir?

KSMBD, Linux çekirdeği içinde çalışan bir SMB dosya paylaşım sunucusudur. SMB protokolü, cihazlar arasında dosya ve klasör paylaşımı gibi işlemlerde kullanılır.

KSMBD ve Samba farklı bileşenlerdir. Sunucuda Samba bulunması veya TCP 445 portunun açık olması, tek başına KSMBD kullanıldığı anlamına gelmez. DirectAdmin, Nginx veya Apache kullanılması da KSMBD’nin etkin olduğunu göstermez.

Bildirilen KSMBD güvenlik açıkları neler?

22 Ekim 2026 tarihli güvenlik haberinde, ZDI tarafından CVSS 9.0 seviyesinde değerlendirilen iki rapor ele alınıyor:

Güvenlik raporuEtki alanıTemel risk
ZDI-CAN-33774KSMBD protokol işlemeKimlik doğrulaması öncesinde tetiklenebilen bellek güvenliği hatası.
ZDI-CAN-33549SMB Direct ve RDMARDMA, yazılabilir paylaşım ve SMB Direct kullanımı gerektiren bellek taşması.

Bu raporlar uzaktan kod çalıştırma riskiyle ilişkilendiriliyor. Etkilenme durumu, sunucudaki kernel yapılandırmasına ve KSMBD kullanımına bağlıdır.

Önemli: PHP güncellemesi veya session.upload_progress.enabled = Off ayarı, KSMBD güvenlik açıklarını kapatmaz. Daha önce kernel güncellemesi yapılmış olması da bu iki rapora ilişkin düzeltmelerin kurulu olduğunu tek başına kanıtlamaz.

Hangi Linux sunucular kontrol edilmeli?

Özellikle Linux üzerinden SMB dosya paylaşımı sağlayan sistemler, NAS çözümleri ve özel kernel kullanan sunucular kontrol edilmelidir. VPS, VDS ve dedicated sunucularda da aynı kontrol uygulanabilir.

Red Hat’in 23 Ekim 2026 tarihli açıklamasına göre, dağıttığı RHEL sürümleri KSMBD kodunu içermediğinden bu açıklardan etkilenmiyor. Farklı dağıtımlarda ve sonradan kurulan özel kernellerde ise sunucu üzerinde doğrulama yapılmalıdır.

1. Sunucuda KSMBD kullanımını kontrol edin

Aşağıdaki komutlar yapılandırmayı değiştirmeden bilgi toplar. Root hesabıyla çalıştırabilirsiniz. Normal kullanıcı hesabında ayrıntılı işlem bilgilerini görmek için bazı komutlarda sudo gerekebilir.

echo "=== SUNUCU VE KERNEL ==="
hostname
uname -r

echo "=== KERNEL KSMBD DESTEĞI ==="
grep 'CONFIG_SMB_SERVER' "/boot/config-$(uname -r)"

echo "=== KSMBD MODUL BILGISI ==="
modinfo ksmbd 2>&1 | head -n 8

echo "=== YUKLU KSMBD MODULU ==="
lsmod | awk 'NR==1 || $1=="ksmbd"'

echo "=== KSMBD SERVISLERI ==="
systemctl list-units --all --no-pager | grep -i ksmbd

echo "=== TCP 445 DINLEYICILERI ==="
ss -lntp 'sport = :445'

Kontrol sonuçları nasıl yorumlanır?

ÇıktıAnlamı
# CONFIG_SMB_SERVER is not setKontrol edilen kernel yapılandırmasında KSMBD desteği kapalı.
CONFIG_SMB_SERVER=mKSMBD yüklenebilir modül olarak derlenmiş. Bu sonuç, modülün çalıştığını göstermez.
CONFIG_SMB_SERVER=yKSMBD doğrudan kernele derlenmiş. Aşağıdaki modprobe engelleme yöntemi bu duruma uygulanamaz.
Module ksmbd not foundÇalışan kernel için KSMBD modül dosyası bulunamadı. Kernel yapılandırmasıyla birlikte değerlendirilmelidir.
lsmod çıktısında ksmbdKSMBD modülü yüklü.
TCP 445 üzerinde dinleyiciBir SMB hizmeti çalışıyor olabilir. Hangi uygulamanın dinlediği ayrıca belirlenmelidir.

Kernel yapılandırma dosyasının bulunamaması veya komutların hata vermesi, sunucunun etkilenmediği anlamına gelmez. Belirsiz sonuçlarda dağıtım belgeleri ve kernel paketinin yapılandırması incelenmelidir.

2. Kullanılmayan KSMBD modülünü devre dışı bırakın

Aşağıdaki adımlar, KSMBD’nin modül olarak bulunduğu ve kullanılmadığı sistemler içindir.

Dosya paylaşımına dikkat: Aktif KSMBD servislerini durdurmak, bu hizmet üzerinden yapılan dosya paylaşımını keser. İşlem öncesinde sunucunun kullanım amacını ve uygulama bağımlılıklarını kontrol edin.

Modprobe engelleme dosyasını oluşturun

Aşağıdaki komut, aynı dosya mevcutsa yedeğini alır ve KSMBD için engelleme kurallarını oluşturur:

sudo sh -c '
set -e
conf_file=/etc/modprobe.d/99-disable-ksmbd.conf

if [ -e "$conf_file" ]; then
    cp -a "$conf_file" "${conf_file}.bak.$(date +%Y%m%d-%H%M%S)"
fi

printf "%s\n" \
    "blacklist ksmbd" \
    "install ksmbd /bin/false" > "$conf_file"

chmod 644 "$conf_file"
'

Varsa KSMBD servislerini durdurun

for service in ksmbd.service ksmbd.mountd.service; do
    if systemctl cat "$service" >/dev/null 2>&1; then
        sudo systemctl disable --now "$service"
    fi
done

Servis adları kurulum yöntemine göre değişebilir. KSMBD özel bir servis, konteyner veya başlangıç betiği üzerinden çalıştırılıyorsa ilgili başlatma mekanizması da incelenmelidir.

Yüklü KSMBD modülünü kaldırın

if lsmod | awk '$1=="ksmbd" {found=1} END {exit !found}'; then
    sudo modprobe -r ksmbd
fi

“Module is in use” hatası alınırsa zorla kaldırmayın. Modülü kullanan servisleri ve aktif bağlantıları inceleyin. Bu işlem tamamlanmadan modülün devre dışı kaldığını kabul etmeyin.

3. Engellemenin uygulandığını doğrulayın

echo "=== YUKLU MODUL KONTROLU ==="
lsmod | awk 'NR==1 || $1=="ksmbd"'

echo "=== BLACKLIST SIMULASYONU ==="
modprobe --use-blacklist --dry-run --verbose ksmbd
echo "Test sonucu: $?"

echo "=== ACILISTA YUKLEME TANIMLARI ==="
grep -RnsE '^[[:space:]]*ksmbd([[:space:]]|$)' \
/etc/modules /etc/modules-load.d /usr/lib/modules-load.d \
2>/dev/null

echo "=== SMB PORT KONTROLU ==="
ss -lntp 'sport = :445'

Kontrolde şu sonuçlar beklenir:

  • lsmod çıktısında ksmbd satırı bulunmaması.
  • Blacklist simülasyonunda KSMBD için yükleme adımı oluşmaması ve test sonucunun 0 olması.
  • İncelenen açılış dosyalarında KSMBD yükleme tanımı bulunmaması.
  • KSMBD hizmetinin dinlememesi; TCP 445 açık kalıyorsa dinleyen uygulamanın belirlenmesi.

Bazı sistemlerde softdep kuralları, install ksmbd /bin/false kuralından öncelikli olabilir. Bu nedenle kontrol komutunda --use-blacklist seçeneği kullanılır. Dosyanın oluşturulmuş olması tek başına yeterli doğrulama değildir.

Bu işlem bir kernel yaması değildir. Kullanılmayan KSMBD bileşeninin etkinleşmesini önlemeye yardımcı olur. Blacklist, yetkili bir kullanıcının doğrudan modül yüklemesine karşı mutlak bir kilit sağlamaz. Özel başlangıç mekanizmaları ve initramfs yapılandırması ayrıca değerlendirilmelidir.

KSMBD kullanılması gerekiyorsa ne yapılmalı?

KSMBD üzerinden dosya paylaşımına devam edilmesi gerekiyorsa, kullanılan Linux dağıtımının bu iki güvenlik raporuna ilişkin açıklamaları takip edilmelidir.

  • Dağıtım sağlayıcısının bu açıkları giderdiğini belirttiği kernel paketlerini uygulayın.
  • Yeni kernel kurulumu sonrasında gerekli yeniden başlatmayı planlayın.
  • Yeniden açılışta uname -r ile çalışan kernel sürümünü doğrulayın.
  • SMB erişimini yalnızca gerekli istemciler ve güvenilir ağlarla sınırlandırın.
  • KSMBD hizmetinin internete doğrudan erişilebilirliğini kaldırın veya kısıtlayın.

Yalnızca kernel sürüm numarasına bakarak “güvenlik açığı kapandı” sonucuna varmayın. Dağıtımlar düzeltmeleri mevcut sürümlere geriye dönük olarak uygulayabilir; ilgili güvenlik duyurusu ve paket bilgisi esas alınmalıdır.

VPS, VDS ve dedicated sunucu kullanıcılarına hatırlatma

Self-servis sunucu hizmetlerinde misafir işletim sistemi, kernel ve uygulama güvenlik güncellemelerinin takibi sunucu yöneticisinin sorumluluğundadır. Bir sunucuda yapılan kontrol, diğer sunucuların durumunu göstermez.

Birden fazla sunucu kullanıyorsanız kontrolleri her sunucuda ayrı ayrı gerçekleştirin. Bakım öncesinde güncel yedeklerinizin bulunduğunu ve gerektiğinde sunucu konsoluna erişebildiğinizi doğrulayın.

Sık sorulan sorular

DirectAdmin kullanıyorum; bu açıklardan etkilenir miyim?

DirectAdmin kullanılması tek başına etkilenme göstergesi değildir. Kernelin KSMBD desteği ve bileşenin çalışma durumu kontrol edilmelidir.

KSMBD modülü mevcut ama yüklü değilse ne anlama gelir?

Modülün diskte bulunması, dosya paylaşım hizmetinin çalıştığını göstermez. KSMBD kullanılmıyorsa otomatik yüklemeye karşı önlem alınması ve başlangıç tanımlarının kontrol edilmesi önerilir.

TCP 445 portunun kapalı olması yeterli mi?

Tek başına yeterli değildir. Modülün yüklenme durumu, servisler, dinleme adresleri ve ağ erişim kuralları birlikte değerlendirilmelidir.

PHP güvenlik güncellemesi KSMBD açıklarını da kapatır mı?

Hayır. PHP ve KSMBD farklı bileşenlerdir. PHP için yapılan güncellemeler veya upload progress ayarı, bu kernel bileşenindeki açıkları gidermez.

Bu işlemler için sunucuyu yeniden başlatmak gerekir mi?

KSMBD zaten yüklü değilse yalnızca modprobe kuralı oluşturmak için reboot gerekmez. Kernel güncellemesi, erken açılışta modül yükleme veya kaldırılamayan aktif modül gibi durumlarda ek işlem ve yeniden başlatma gerekebilir.

KSMBD modülü bulunamıyorsa sunucu tamamen güvenli midir?

Hayır. Bu kontrol yalnızca KSMBD ile ilgili değerlendirmeye yardımcı olur. Diğer kernel, PHP, web sunucusu ve uygulama açıkları için ayrı güvenlik kontrolleri gerekir.

Kaynaklar

Sunucularınızdaki güvenlik kontrollerini ertelemeyin

Kullanılmayan servisleri kapatın, dağıtımınızın güvenlik duyurularını takip edin ve güncelleme sonrasında çalışan sürümleri doğrulayın.

Bu duyuruyu faydalı buldunuz mu?

Ekibinizle paylaşın

Bu güncellemeyi etkilenebilecek müşterileriniz veya takipçilerinizle paylaşabilirsiniz.

Tüm Duyurulara Dön
Ürün sepete eklendi!