Merhaba, SMBv1
protokolünü kullanan İstemci veya Sunucu
cihazlarınızı bulmak ve SMBv1 kullanımını iptal etmek isterseniz yazımız tam
size göre J öncelikle SMBv1 kullanımını sorgulayacağınız
parametrelerin OS bazında değişkenlik gösterdiğini belirtmek isterim. Doğru
parametreler ve kullanımları için Microsoft’un linkini aşağıda paylaşıyorum.
https://docs.microsoft.com/en-us/windows-server/storage/file-server/troubleshoot/detect-enable-and-disable-smbv1-v2-v3
biz makalemizde Server 2012 R2 ve 2016 sunucularımızdaki
kullanım durumunu sorgulayacağımız için komut setimizi bu 2 OS türüne göre
çalıştıracağız.
Öncelikle SCCM / MECM üzerinde bir Configuration Item
oluşturaracak işlemlere başlayalım.
İsim olarak Detect SMBv1 For Servers şeklinde bir isim ve
açıklama girebilirsiniz.
Supported OS Platforms kısmında ise çalıştıracağımız
Powershell Komut setinin desteklediği işletim sistemlerini seçmeniz de yarar
var. Kaynak olarak paylaştığım linkte ilgili OS türleri ve karşılık gelen
çalıştırılacak komutlar yer almakta. Ben seçimlerimi aşağıdaki gibi yaptım.
Settings ekranında New seçimi ile ilerliyoruz.
Create Setting ekranında Setting Type alanında Script seçimi
yapacağız ve Discovery Script ekleyerek Smbv1 aktif olan sistemleri bulacak
scripti tanımlayacağız.
İlgili Discovery Script içeriğimiz aşağıdaki gibidir.
$smb1 = Get-WindowsOptionalFeature -Online -FeatureName
smb1protocol
echo $smb1.State
Script içeriğimizi ekledikten sonra Next ile ilerliyoruz.
Compliance rules ekranında yapmamız gereken kısa bir ayar
var. Compalince Rules ekranında ayarları
aşağıdaki gibi yapabiliriz. SMBv1
Disabled olmayan tüm sistemler Non-Compliant olarak gözükecek.
Next ve Finish ile Compliance Item oluşturma sürecini
tamamlayabiliriz.
Sistemlerimizden veri çekebilmemiz için önceki
makalelerimizden hatırlayacağınız üzere Configuration Baseline ihtiyacımız var.
Hemen oluşturalım.
Create Configuration Baseline seçimi yaparak isim ve
açıklama giriyoruz. Açıklama
opsiyoneldir. Add > Configuration
Item seçimi ile ilerleyeceğiz.
Configuration Baseline oluşturduktan sonra ilgili
sistemlerimize Deploy etmemiz gerekiyor ki veri toplayabilelim J
Baseline üzerinde
> Sağ click > Deploy seçimi yapıyoruz.
Veri toplamak istediğimiz
Sunucu platformumuzu yansıtan Collection seçimi yaparak Baseline çalışma aralığını belirliyor ve
Deployment sürecini tamamlıyoruz. Ben tek OS grubundan veri çekeceğim bu
nedenle ayarlarım aşağıdaki gibidir.
Deployment işlemini gerçekleştirip SCCM Right click tool ile
süreci tetikledim. Şimdi kontrol zamanı. 1-2 tane Windows Server 2012 R2 sistem
üzerinde kontrol yapacağım.
Göreceğiniz üzere ilgili sunucuda SMBv1 açık ve
Non-Compliant durumda.
SMBv1 açık olan bir sunucu üzerinde PowerShell Run as admin
mode ile açarak aşağıdaki komutu çalıştıralım.
Disable-WindowsOptionalFeature -Online -FeatureName
smb1protocol -Norestart
İlgili sunucuyu restart ederek durumu gözlemleyelim.
Üstteki resimde göreceğiniz üzere SMBv1 kapalı durumda ve
Baseline artık Compliant gözüküyor.
Bu işlemleri dilersek Remediation Script yardımı ile
otomatize edebiliriz.
İlgili script içeriğini aşağıda paylaşıyorum. Unutulmaması
gereken ilgili ayar değişikliğinin aktif olması için sunucunun restart edilmesi
gerektiği.
Disable-WindowsOptionalFeature -Online -FeatureName
smb1protocol -Norestart
Ek not: SCCM sürüm
1806 ile gelen CMPivot özelliği ile daha kolay bir şekilde SMBv1 çalışan
sistemleri görebiliyoruz. Fakat production ortamlar da her SCCM sürümü en
güncel sürüm değil. Bu nedenle makalemiz referans alınabilir.
Monitoring üzerinden Deployment status hakkında bilgi
alabilirsiniz.