SMB Protokolü hakkında bilmemiz gerekenler

0
5502

SMB protokolü bir client-server iletişim protokolüdür ve Windows tarafında dosya, printer, network isimleri ve diğer network araçlarının ağ üzerinden erişilebilmesini ve kullanılabilmesini sağlamaktadır. SMB “server message block” ‘un açılımıdır ve genellikle kaynak paylaşımının bir parçasıdır. Ayrıca IPC (Inter-Process-Communication) için özellikle mailslot erişimleri içinde kullanılmıştır.

SMB protokolünün geçmişi:

SMB defalarca kez evrilmiş ve gelişim göstermiştir ve birçok versiyonu ile anılmaktadır. Microsoft bu konuda üzerine gelişime, SMB ‘yi her yeni windows versiyonunda daha iyi bir noktaya getirmek içinde çalışmalarına devam etmektedir.

SMB Yılİşletim SistemiKey Points
SMB 1.01984 Windows XP, 2003 and earlierExtremely chatty, No encryption, Insecure
CIFS1996Windows 95, Windows NT 4.0Geniş dosyaları TCP/IP üzerinden direk olarak transferi symlink ve hardlink olarak destekler.
SMB 2.02006Windows Vista, Server 2008Bir istemcinin veya sunucu arasında tekrar eden, veri iletmeden önce gerçekleşen onay süreçlerinin azaltıldı, pipelining mekanizması desteği geldi.
SMB 2.12010Windows 7, Server 2008 R2karşılıklı performans artırımı, eş zamanlı kullanım ve , memnun edici seviyede MTU desteği.
SMB 3.02012Windows 8, Server 2012Uçtan-Uca Şifreleme, SMB kesintisiz failover, Remote Direct Memory Access (RDMA) destekleyen ethernet kartları için SMB direct, SMB multichannel ile daha iyi bir dosya paylaşımı sunucusu deneyimi ve SMB scale out
SMB 3.022014Windows 8.1, Server 2012 R2Performanseda iyileştirme, CIFS/SMB 1.0 kullanmayarak gelişmiş güvenlk.
SMB 3.1.12015Windows 10, Server 2016, Server 2019AES-128-GCM ve CCM encryption desteği, dizin bellekleme, MITM saldırılarını azaltmak için kimlik doğrulama öncesi bütünlük kontrollerini desteği.
SMB 3.1.1*2021Windows 11, Server 2022AES-256-GCM ve -CCM encryption desteği, SMB direct ile de encryption desteği.

Tabloda da görebileceğiniz gibi, Windows 11 ve Windows Server 2022 hala smb 3.1.1 içeren versiyonu kullanıyor.

SMB Protoklünün sağladığı servisleri anlayalım

Bir client-server protokolü olarak SMB’nin çalışabilmesi için bir server servisine (LanmanServer) ihtiyaç duyduğu aslında anlaşılmaktadır. Elbette yine client tarafında da bir servis gereklidir (LamanWorkstation). Her bir windows işletim sistemi yüklü cihaz, bu ister client, ister server işletim sistemi olsun, LamanServer ve LamanWorkstation servislerine sahiptir. Servislerin durumunu kısa bir komut dizimi ile kontrol debilirsiniz. Bunu power shell üzerinde yazmanız gerekmtedir.

Get-Service Lanman*

Hiç kimsenin iyi hatırlamadığı WannaCry ,Petya yada benzeri ataklara karşı korunmak için önce bu servislerin kapatılması söylendi. Devam etmeden önce bu servisleri anlayalım.

Lanman Server service

Unutmayalım ki, bilgisayarınız bir client işletim sistemi olsa da üzerinde çalışan LanmanServer servisi ile bilgisayarınızın SMB paylaşımlarını sağlayabilmek için bir sunucu gibi davranır. Herhangi bir klasör paylaşıma açmasanız bile, bazı varsayılan paylaşımlar hali hazırda açık konumdadır. Örn: admin$, C$, IPC$. Bu paylaşımlar yönetsel amaçlar için önemlidir ve tamamı da LanmanServer servisine bağlı çalışır. Bu paylaşımları görmek için Get-SmbShare PowerShell komutlarını kullanabilirsiniz.

LanmanServer servisi ile ilgili kayıtları da aşağıdaki Regstry lokasyonunda bululabilir.

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer

Lanman Server servisini devre dışı bırakmak güvenli midir?

Yukarıda tartıştığımız gibi, LanmanServer servisleri bilgisayarınızda SMB paylaşımlarının yapılabilmesi için önemlidir. Eğer bu servisi durdurursak tüm tüm paylaşımlar duracaktır. Bunların içerisine Klasör, Printer Paylaşımları ve varsayılan admin paylaşımları da dahildir. Bu açıklama ile servisin önemi hakkında bizi aydınlatıcı olabilir. Özellikle FileServer ya da domain controller makinaları Active Directory için daha da önemlidir. Çünkü Sysvol ve Netlogon paylaşımları bu makinalar üzerinde aktif olmalıdır.

Ev kullanıcıları için, eğer iki bilgisayar arasında ağ üzerinden dosya paylaşımı ya da yazıcı paylaşımı yapmıyorlar ise servis güvenle kapatılabilir. Gerçekten kapatmamak önce bağlı olarak çalışan başka servislerin olup olmadığına aşağıdaki komut ile bakmak gerekir.

Get-Service LanmanServer -DependentServices

Eğer bilgisayarınızda herhangi bir bağımlı servis görmüyorsanız yine aşağıdaki komutu kullanarak LanmanServer hizmetini güvenli bir şekilde devre dışı bırakabilrsiniz.

Bu işlemden sonra bilgisayarınız yeniden başladığında port 445 ‘in artık bilgisayarınızda hizmet vermek için dinlenmediğini fark edeceksiniz. Bu hizmet bilgisayarınızın interneti ile hiç bir servisi etkilemeyecektir.

Lanman Workstation Service

Benzer şekilde, bilgisayarınızdaki LanmanWokstation hizmeti, uzak bilgisayarlardan veya sunuculardan SMB paylaşımlarını ve paylaşılan yazıcıların kullanılabilmesini sağlar. Bu hizmet ile ilgili bilgiler ise aşağıdaki kayıt defteri alanında depolanır.

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation

Lanman Workstation servisini devre dışı bırakmak güvenli midir?

LanmanWorksation servisini durdurmanın anlamı esasen, bilgisayarın uzak smb paylaşımlarını kullanabilme yeteneğinin durdurulması anlamına gelir. Aşağıdaki powershell komutunu çalıştırırsanız, en az iki servisin bu servis ile ilişkili çalıştığını görebilirsiniz (Netlogon ve Remote Desktop Configuration). İsimden anlaşılabileceği gibi, netlogon, bizim network’de oturum açma ve kimlik doğrulama hizmetleri için önemli bir servistir. Eğer disable ve stop edilirsek bilgisayarımız network cihazları ile muhtemelen tam anlamıyla iletişim kurmayı başaramayacaktır.

Get-Service LanmanWorkstation -DependentServices

Yine herhangi bir ağ hizmeti kullanmayan ev kullanıcıları bu hizmeti devre dışı bırakabilir. Devre dışı bırakmak, İnternet’i, yerel yazıcıyı (USB ile bağlı) ve hatta ağ yazıcısını (build-in TCP/IP desteğine sahip) kullanma yeteneğinizi etkilemez. Ancak Bilgisayarınızın uzak bilgisayarlardaki paylaşılan kaynaklara erişemeyeceğini ve diğer bilgisayarların da bilgisayarınıza erişemeyecektir. Normal bir ev bilgisayarı için bu hizmeti devre dışı bırakmak güvenlik açısından iyi bir şey olabilir. LanmanWorkstation hizmetini devre dışı bırakmak için aşağıdaki komutları kullanabilirsiniz.

Set-Service LanmanWorkstation -StartupType Disabled -PassThru | Stop-Service -Force

LanmanWorkstation servisi bir bilgisayarda durdurulduğunda, o bilgisayara ağdan erişmeye çalışan herhangi biri, The specified network name is no longer an available error (belirtilen ağ adı artık kullanılabilir bir hata değil) mesajını görecektir:

Bu hatayı domain ortamınızdaki veya workgrubu ortamınızda alırsanız, lütfen bağlanmaya çalıştığınız uzak bilgisayarda LanmanWorkstation hizmetinin çalıştığından emin olun. Bu hizmeti başlattığınızda, bağımlı netlogon hizmetini de başlatmayı unutmayın; aksi takdirde

“An attempt was made to logon, but the network logon service was not started”

hatasını alabilirsiniz.

Ağ bilgisayarları için önemli not

Eğer bilgisayarınız bir domain’in yada workgroup’un üyesi ise, benim önemli tavsiyem LanmanServer ve LanmanWorkstation servislerinin enable durumda olmasıdır. Bunları devre dışı bırakmak hiçbir işe yaramayacağı gibi, aksine yönetici olarak size çok fazla baş ağrısı verir. Bunları kısıtlamak yerine, var lan ilgili portları düzgünce güvenilir networklere göre limitlemek güvenlik gerekçeleri için yeterli olacaktır.

Çeşitli SMB protokolü gerçekleştirimleri

SMB ağ üzerinden dosya ve kaynak paylaşımı için en popüler protokoldür. Yalnızca Windows da değil, diğer işletim sistemleri tarafından da yaygın olarak adapte edilmiştir. Örneğin: Linux/Unix and macOS. Aşağıda SMB protokolünün en popüler gerçekleştirimlerinin bazılarını paylaşıyorum.

  • CIFS- Common internel file system (CIFS) SMB tarafındaki Micosoft’un gerçekleştirimidir.
  • Samba-Open source SMB gerçekleştirimi olan samba genellikle Linux, Un,x ve macOS tarafında kullanılır
  • NQ-(YNQ, JNQ NQ Storage)- Bu diğer bir SMB gerçekleştirimi Visuality System tarafından tescilli kullanımdadır.
  • Fusion File Share- Eskiden Tuxera SMB olarak bilinirdi. Tuxera tarafından geliştirilen Samba’nın tescilli gerçekleştiriminin adıdır.

SMB protokolünün yalnızca Windows’a özgü bir şey olmadığını unutmayın. Size SMB’nin popülaritesi hakkında kabaca bir fikir vermek için, çeşitli programlama dillerinde çok sayıda başka SMB uygulaması vardır: JFileServer (Java tabanlı), pySMB ve impacket (Python tabanlı), MoSMB (mojo tabanlı) vb.

SMB protokolü için güvenlik konuları

Kötü ünlü WannaCry ve Petya saldırılarını ve EternalBlue istismarlarını hatırlıyor musunuz? Hepsi bizi SMB 1.0 güvenlik açığına götürüyor. Bu yüzden ağınıza SMB iletişiminde olması gerektiği gibi bazı hayati şeyleri kapsayacak düzeyde önem vermeniz sizin için çok hayatidir.

Burada SMB iletişimini güvence altına almak için en iyi birkaç uygulamayı ele alacağım.

  • Ağınızda kullanılan SMB iletişimini yükseltin ve SMB 1 ve NBT gibi protok seviyelerini devre dışı bırakın.
  • SMB bağlantı noktalarının güvenilir ağlara ve istemcilere göre erişimini kısıtlayın.
  • Mümkün olduğunda her zaman en son SMB ‘yi kullanın (SMB 3.1.1) ve güvenlik özelliklerini etkinleştirin.

SMB 1.0 devre dışı bırakma

Daha önce tartıştığımız gibi, SMB 1.0 artık güvenli kabul edilmiyor. Verimsizdir, herhangi bir şifrelemeyi desteklemiyor ve geçmişte bir çok güvenlik zaafiyetiyle kullanılarak, kullanıcılar istismar edilmiştir. Önerilen en iyi gerçekleştirim, SMB 1 ‘i ağınızda devre dışı bırakmaktır. Bunu yapmanın birden çok yolu vardır ve burada olası tüm yollara değinmeyeceğiz.

Ağınızda hala çok sayıda eski istemci (eski yazıcılar, Windows XP bilgisayarlar veya gerçekten eski firmware üzerinde çalıştıran diğer cihazlar gibi) varsa, sorunlara ve olası sorun potansiyeline neden olabileceğinden SMB 1.0 ‘ı hemen devre dışı bırakmayın. Bu durum organizasyon içerisinde ani kesintiler ile verimlilik kaybına yol açabilir. İlk olarak, denetim günlüğünü etkinleştirmeniz ve ardından hala SMB 1.0 kullanan cihazları belirlemek için günlükleri izlemeniz gerekir. Bu tür eski istemcilerin sayısını belirleyerek, ağınızda SMB 1.0 desteğini devre dışı bırakmanın genel etkisini değerlendirmenizde size yardımcı olacaktır. Denetim günlüğünü etkinleştirmek için, tüm SMB paylaşımlarının barındırıldığı dosya sunucusunda aşağıdaki PowerShell komutunu çalıştırın:

Set-SmbServerConfiguration -AuditSmb1Access $True -Force

Bu komutu çalıştırdıktan sonra birkaç gün bekleyin ve ardından  Event Viewer’a erişim günlüklerini kontrol edin. Günlük dosyasının konumu: Applications and Services Logs > Microsoft > Windows > SMBServer > Audit

Aşağıdaki ekran görüntüsü, bir SMB 1.0 erişim olay günlüğünün nasıl göründüğünü gösterir:

Checking the SMB 1.0 access audit logs in the Event Viewer

Bu tür olaylar, Event ID: 3000 ve Source: SMBServer ile günlüğe kaydedilir. Clint IP adresini not edebilir ve bu tür cihazları tanımlayabilirsiniz. Bu olayları görmek için aşağıdaki PowerShell komutunu kullanabilirsiniz.

Get-WinEvent -LogName Microsoft-Windows-SMBServer/Audit | Out-GridView

Bu tür cihazları belirledikten sonra, güvenlik riskini azaltmak için bunları güncelleyebilir veya ağın geri kalanından düzgün bir şekilde izole etmek için belirli önlemler alabilirsiniz.

SMB 1.0 ‘ı devre dışı bırakmaya hazır olduğunuzda aşağıdaki adımları izleyebilirsiniz.

SMB 1.0 ‘ın aktif olup olmadığından emin olmak için aşağıdaki komutu kullanabilirsiniz.

Get-SmbServerConfiguration | select EnableSMB1Protocol, EnableSMB2Protocol

EnableSMB1Protocol sütununun altında True görürseniz, sunucunuz hala SMB 1.0’ı destekliyor demektir.

Sunucunuzda SMB 1.0 desteğini devre dışı bırakmak için aşağıdaki komutu çalıştırın:

Set-SmbServerConfiguration -EnableSMB1Protocol $False -Force

Ağınız tamamen en son cihazları çalıştırıyorsa ve eski bir istemci yoksa, SMB 2.0 desteğini devre dışı bırakabilir ve her cihazı daha güvenli olan SMB 3.0 diyalektini kullanmaya zorlayabilirsiniz. SMB 2.0’ı devre dışı bırakmak için aşağıdaki komutu kullanın:

Set-SmbServerConfiguration -EnableSMB2Protocol $False -Force

File server’ınıız ‘ın üzerinden ağınızda bulunan hangi bilgisayarların, hangi SMB versiyonu ile bağlantı isteği oluşturduklarını aşağıdaki komut ile görebilirsiniz.

Get-SmbSession | select ClientComputerName, ClientUserName, NumOpens, Dialect

Burada Get-SmbSession komutu, dosya sunucusunda LanmanServer hizmeti tarafından barındırılan SMB paylaşımlarıyla iletişim kurmak için çeşitli istemciler tarafından kullanılan SMB versiyonları gösterilir.

Viewing the SMB sessions to show the SMB dialect used by clients on the file server

Yukarıdaki ekran görüntüsünde, hala SMB 3.0.2 kullanan bir istemci (turuncu ile işaretlenmiş) dışında, ağımdaki istemci aygıtların çoğunun SMB 3.1.1 kullandığını gösteriyor. Bunun nedeni, bir Windows Server 2012 R2 cihazı olmasıdır ve onun Server 2019’a güncellememiz gerekiyor.

Benzer şekilde, bir istemci bilgisayarda SMB paylaşımlarına erişmek için hangi SMB versiyonunun kullandığını öğrenmek için aşağıdaki komutu kullanabilirsiniz:

Get-SmbConnections

Viewing the SMB connections to show the SMB dialect used by a particular client

Burada Get-SmbConnection komutu, yerel bilgisayarınızdaki LanmanWorkstation hizmetini kullanarak SMB paylaşımlarına erişmek için kullanılan SMB versiyonunu gösterir.

SMB Trafiğinin Güvenilen Ağ Erişimleri Hariç Kısıtlama

SMB trafiğini yalnızca güvenilen ağlardan erişim yapılabilecek şekilde kısıtlamak için, bir çok teknolojiden faydalanılabilir. Bunlar, Ağınızın VLAN ile bölümleyerek yönetmek, IPsec politikaları uygulamak ya da Endpoint’e aynı VLAN dan bile erişilse ilgili enpoint üzerindeki FW ile kısıtlayıcı Firewall kuralları oluşturmak olabilir. Bunun yapmak için ister kullandığınız EPP çözümünüzün (McAfee vs) Firewall modüllerini ister Windows’un Firewall’u kullanabilirsiniz.

Windows Defender Firewall üzerinde yalnızca Private veya Domain profilleri için Dosya ve Yazıcı Paylaşımını ( File and Printer Sharing) etkinleştirmek üzere her sistemde yapılandırabilirsiniz. Windows defender üzerinde yapmak için aşağıdaki komutları kullanabilirsiniz.

Set-NetFirewallRule -DisplayGroup “File And Printer Sharing” -Enabled True -Profile Private

Asla Public Profil de bu kuralı etkinleştirmeyiniz, Bunu User Interface ile yapak için, Windows Defender Güvenlik Firewall’ u açın ve ardından sol köşedeki Windows Defender Güvenlik Firewall üzerinden bir uygulamaya veya özelliğe izin ver (Allow an app or feature )bağlantısını tıklayın. Şimdi Domain veya Yalnızca Public altında bu Dosya ve Yazıcı Paylaşımını işaretleyin. Public altındaki kutuyu işaretlemeyin. Referans için aşağıdaki ekran görüntüsüne bakabilirsiniz.

Ayrıca, Windows Defender Advanced Security kullanarak File And Printer Sharing için tabii ki daha sıkılaştırıcı ve granule kurallarda uygulayabilirsiniz.

Burada vurgulamak istediğim bir şey daha var, SMB trafiğinin ağınızdan asla dışarıya doğru çıkmadığından kesinlikle emin olmalısınız. Bunun için En Kapsayıcı noktadaki güvenlik duvarınızda TCP 445 ve 139 portlarını mutlaka devre dışı bırakmalısınız. Bu Portlar Internet’e açık bırakmak büyük bir güvenlik riski oluşturur.

SMB 3.x Güvenlik Özelliklerinin Etkinleştirme

Microsoft SMB 3.0 ile güvenliği ve performansı arttırmak için bazı önemli değişiklikler yaptı. Yüksel düzeyde SMB 3.0 versiyonun kullanılması mümkün olunan her yerde tavsiye edilmektedir. SMB 3.1.1 bugün itibari ile son sürümdür. SMB 3.x ın bahsetmeye değer özelliklerini aşağıdaki gibidir

  • SMB Encryption
  • SMB Signing
  • SMB Pre-authentication integrity
  • SMB Authentication rate limiter (yalnızca Server vNext önizlemesiyle kullanılabilir)

SMB Enryption

Uçtan uca şifreleme ile tek tek yada tüm dosya sunucularında etkinleştirilir. SMB şifrelemesi, her iki SMB sunucusunun EncryptData özelliği tarafından kontrol edilir. Belirli bir paylaşımda (ör. ORTAK) şifrelemeyi etkinleştirmek için aşağıdaki PowerShell komutunu kullanabilirsiniz.

Set-SmbShare -Name Projects$ -EncryptData $True -Force

Şifrelemeyi tüm fileserver’da aktif etmek için aşağıdaki komutu kullanabilirsiniz.

Set-SmbServerConfiguration –EncryptData $True -Force

Bir SMB paylaşımında şifrelemeyi etkinleştirdiğinizde, şifrelemeyi desteklemeyen istemciler buna erişemez.

Şimdi, SMB paylaşımlarında şifrelemeyi etkinleştirmeniz gerektiği halde, henüz şifrelemeyi desteklemeyen eski istemcilere izin vermek istediğiniz durumlarda (eski istemcileri yükseltirken geçiş döneminde olduğunu varsayarak) aşağıdaki PowerShell komutunu çalıştırabilirsiniz.

Set-SmbServerConfiguration -RejectUnencryptedAccess $False -Force

Bu, şifrelemeyi etkinleştirme amacını ortadan kaldırdığı için önerilmez, ancak eski istemcilerin tamamen yükseltilene kadar izin verilmesine ilk etapta yardımcı olacaktır.

SMB Protocol signing

SMB Signing yada SMB Güvenlik Imzası SMB Protokolünün SMB iletişimi anında bir dış ekten tarafından kurcalanmasına karşı koruyan bir güvenlik özelliğidir. Bu, SMB Header’ındaki imza alanına tüm mesajın HASH bilgisini ekleyerek elde edilir. Eğer verinin transferi esnasında veri değişirse hash değeri eşleşmeyecek ve SMB verinin transfer anında kurcalandığını bilecektir. Bu özellik SMB 1.0’dan beri mevcut olsa da, modern güvenlik ihtiyaçlarını karşılamak için zaman içinde gelişmiştir. SMB 1.0, MD5 tabanlı mesaj imzalamayı desteklerken ve SMB 3.1.1, AES CMAC tabanlı imzalamayı desteklemektedir.

Signing’in Encryption ile aynı olmadığını unutmayın. Şifreleme, bir dinleyicinin kablodaki verileri okumasını zorlaştırırken, veri bütünlüğü doğrulamasından imzalama sorumludur. SMB signing, hem SMB sunucusunun hem de istemcinin RequireSecuritySignature özelliği tarafından kontrol edilir. Sunucuda SMB imzalamayı etkinleştirmek için aşağıdaki komutu kullanın:

Set-SmbServerConfiguration -RequireSecuritySignature $True -Force

Yalnızca SMB 1.0 ile kullanılan EnableSecuritySignature adlı başka bir özellik daha mevcut. SMB 2.0 veya üzeri ile bu ayar yok sayılır ve herhangi bir etkisi yoktur. Hem SMB Server hem de Client için GPO kullanarak Domain ortamınızda SMB imzalamayı da kontrol edebilirsiniz.

Aşağıdaki tablo, SMB iletişimi sırasında imzalamanın ne zaman gerçekleşeceğini ve ne zaman olmayacağını gösterir.

SMB Server
RequireSecuritySignature = 0
SMB Server
RequireSecuritySignature = 1
SMB Client
RequireSecuritySignature = 0
Not signedSigned
SMB Client
RequireSecuritySignature = 1
SignedSigned

SMB imzalamanın yalnızca hem SMB Client hem de SMB Server EnableSecuritySignature ayarı False olarak ayarlandığında gerçekleşmediğini görebilirsiniz. Diğer tüm durumlarda, imzalama gerçekleşir

SMB Pre-authentication integrity

Pre-authentication integrity SMB signing ‘i desteklemek için tanıtıldı. SMB imzalamadaki problem, Veri bütünlüğünü SMB oturumu kurulduktan sonra yapabilmesiydi. Yani pre-authentication integrity ile ilk SMB görüşmesi aşamasında birisi middleman olsa bile, yine de veriler kurcana bilecektir. Pre-authentication integrity bu sorunu çözdü. SMB 3.1.1 de zorunlu bir özellik olarak tanıtılan SHA-512 Hash kullanımı ilk oturumda bile olsa veri bütünlüğü doğrulamasını sağlayabildi. Saldırganın SMB 3.1.1 şifreli bir bağlantıyı SMB 2.x protokolüne indirerek şifrelenmemiş bir bağlantıya neden olabileceği protokol downgrade saldırılarına karşı koruma sağlar. Zorunlu bir özellik olarak, SMB 3.1.1 ile varsayılan olarak etkinleştirilmiştir.

Tüm SMB sunucusu güvenlik özellikleri, aşağıdaki PowerShell komutu kullanılarak görüntülenebilir:

Get-SmbServerConfiguration | select EnableSMB1Protocol, EncryptData, RejectUnencryptedAccess, EnableSecuritySignature, RequireSecuritySignature

Bu özelliklerin tümü bir Boolean değerini kabul eder. Bu nedenle, herhangi bir özelliği etkinleştirmek veya devre dışı bırakmak için Set-SmbServerConfiguration cmdlet‘i ile birlikte parametre adını sağlamanız ve özellik ayarını değiştirmek için $true veya $false yazmanız yeterlidir. Aşağıdaki PowerShell komutu, SMB 1.0’ı devre dışı bırakır ve dosya sunucusunda aynı anda tüm SMB güvenlik ilkelerini etkinleştirir.

Set-SmbServerConfiguration -EnableSMB1Protocol $false -EncryptData $true -EnableSecuritySignature $true -RequireSecuritySignature $true -Force

SMB authentication rate limiter

Rainbow table attacks veya brute force attacks nardir yaşanan şeylerden değildir. SMB’nin bu tür saldırıları yavaşlatmak için bazı özellikleri bulunmadığından, SMB portlarını internet’te açığa çıkıyor olması gerçekten kötü bir durumdur. Modern BT gücüyle, bugün normal bir bilgisayar saniyede binlerce parola deneyebilir.

Henüz ön izleme aşamasında olan Windows Server vNext’in yeni sürümü ile Microsoft, bu tür kaba kuvvet saldırılarını yavaşlatmak için yeni bir SMB özelliği tanıttı. Bu özellik SMB kimlik doğrulama hızı sınırlayıcısı (SMB rate limiter) olarak bilinir ve Set-SmbServerConfiguration cmdlet’inin –InvalidAuthenticationDelayTimeInMs parametresi tarafından kontrol edilebilir. Geçerli ayarı görüntülemek için aşağıdaki komutu kullanabilirsiniz.

Get-SmbServerConfiguration | select InvalidAuthenticationDelayTimeInMs

Varsayılan geçersiz kimlik doğrulama gecikme süresi 2 saniyedir (2000 milisaniye), ancak bunu 10.000 milisaniyeye (10 saniye) kadar ayarlayabilirsiniz. 10 saniyelik bir gecikmenin brute force saldırılarını yavaşlatmak için ne kadar fark yaratabileceğini tahmin edebilirsiniz. PowerShell kullanarak hız sınırlayıcıyı ayarlamak için aşağıdaki komutu kullanabilirsiniz:

Set-SmbServerConfiguration -InvalidAuthenticationDelayTimeInMs 10000 -Force

Bu komut, geçersiz kimlik doğrulama gecikmesini, desteklenen maksimum gecikme olan 10 saniyeye ayarlar. Değerin 0 olarak ayarlanması özelliği devre dışı bırakır. Bu özelliğin yalnızca Windows Server vNext Insider Preview (Build 25075 veya üstü) ile kullanılabildiğini unutmayın.

Bu makaleyi okuyarak, SMB protokolünün nasıl çalıştığını ve ağınızdaki SMB iletişimini korumanın farklı yollarını iyi anlayacağınızı umuyorum. Bu kapsamlı bir güvenlik kontrol listesi değildir, ancak birkaç SMB güvenlik önlemi hakkında yeterince fikir verir.

Microsoft – Banasorun.net

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz