SMB Ataklarına Karşı Önlemler

SMB Ataklarına karşı önlemler nasıl alınmalı eğer alınmazsa ne gibi sistem güvenliği sıkıntıları yaşanmaktadır. Bu yazımızda SMB protokolünü detaylı olarak inceleceğiz. SMB Ataklarına karşı neler yapmamız gerekmektedir bunlara bakacağız.

SMB Nedir

Server Message Block olarak geçen sunucu ve client arasındaki iletişimi sağlayan bir ağ protokolüdür. Bu protokol 139 ve 445 portlarını kullanarak dosya paylaşılmanıza olanak sağlamaktadır. Dünden bugüne baktığımızda birçok versiyonu bulunmaktadır.

CIFS
SMB 1.0
SMB 2.0
SMB 2.1
SMB 3.0
SMB 3.02
SMB 3.1.1

Tabiki dünden bugüne gelişen SMB versiyonları her zaman sistem güvenliği için bir tehdit oluşturmaktadır. SMB her sistemde genel olarak kullanılmaktadır. Sistem yöneticileri olarak bu açığımızı her zaman kapatmamız gerekmektedir. Microsoft tarafından SMB güvenliği ile ilgili yayınlanan bir çok makale bulunmaktadır.

SMB üzerinden sistemlere çok fazla atak olmaktadır. SMB relay , Netcat komutları ve NTLMRelay araçları ile paylaşımlara bağlanmak gibi birçok senaryo ortaya çıkmaktadır. Bu senaryolar sistem güvenliğini her zaman tehlikeye atmaktadır. Bunun için yapılması gereken ayarlar vardır. Bunları aşağıda başlıklar halinde sıralayalım.

SMB V1 Disable Etmek

Öncelliğimiz Domain Controller cihazlarında SMB V1 ‘i kaldırmak olacaktır. Ayrıca dip not olarak Exchange Sunucularında da kapatmak yararlı olacaktır.Daha client ve sunucular için policy ile kapatacağız.

SMB Ataklarına Karşı Önlemler v1

İlk olarak SMB V.1 manuel kapatmak için Server Manager Remove Role kullanarak kapatabilirsiniz. Ayrıca Windows makinelerde ise windows özelliklerinden açıp katabilirsiniz. Bu bahsettiğim manuel olarak yapmaktır.

SMB V.1 Sunucularda Kapatmak

İlk olarak Sunucularda Group Policy ayarlarını yapmamız gerekmektedir. Bunun için regedit ayarlarını değiştiriyoruz.

HKEY_LOCAL_MACHINE>SYSTEM\CurrentControlSet\Services\LanmanServer>Parameters  

Regedit ayarlarında yapmamız gereken Value:SMB1 Value Type:REG_DWORD Value Data:0 Action:Create olarak ayarlanmaktadır.

SMB Ataklarına Karşı Önlemler SMB Server Disable

SMB V.1 Clientlarda Kapatmak

Clientlarda kapatmak için yapılması gereken 2 tane ayar vardır. Bunların uygulanması gerekmektedir.

HKEY_LOCAL_MACHINE>SYSTEM\CurrentControlSet\Services\mrxsmb10

Regedit ayarlarında yapmamız gereken Value:Start Value Type:REG_DWORD Value Data:4 Action:Update olarak ayarlanmaktadır.

SMB Ataklarına Karşı Önlemler client disable
HKEY_LOCAL_MACHINE>SYSTEM\CurrentControlSet\Services\LanmanWorkstation

Regedit ayarlarında yapmamız gereken DependOnService Value Type:REG_MULTI_SZ Value Data:Bowser , MRxSMB20,NSI Action:Replace olarak ayarlanmaktadır.

Sonuç olarak Yukarıdaki ayarlamalarla beraber SMBV1 hem kaldırdık hem de client ve sunucularda disable ettik. Bu sayede ilk önlemimizi almış bulunmaktayız. Şimdi diğer adımlara geçelim.

SMB Signing Enable Etmek

SMB Signing ayarlarıda SMB güvenliği için önemli bir ayarlamadır. Signing ile SMB trafiğinin paket seviyesinde dijital imzalanmasını sağlar. Bu sayede Man-in-the-Middle Atak saldırılarından korunmuş oluruz. Domain Controller sunucularında bu ayar default olarak aktiftir.

SMB Relay üzerinden sisteme sızma girişiminde bulunan kişilerin nmap tarzı araçlarla SMB Signing security modlarına ulaştıklarını bilmekteyiz.

Bunun için iki ayar olduğunu bilmemiz gerekmektedir. Bir taraf client bir taraf server tarafıdır.

Bunun için uygulanacak policy aşağıda verilmiştir.

Computer Configuration>Policies>Windows Settings>Security Settings>Local Policies >Security Options 
  • Microsoft network client: Digitally sign communications (always)
  • Microsoft network server: Digitally sign communications (always) enable olarak ayarlanır.
SMB Ataklarına Karşı Önlemler SMB signing

Insecure Guest Logon

Üçüncü olarak SMB güvenlik önlemleri kapsamında Güvenli olmayan konuk oturumları gelmektedir. Bu da bizler için önemli bir group policydir. Bu policy sayesinde dosya sunucuları tarafından paylaşılan klasörlere kimliğini doğrulamadan erişime izin vermemek için kullanılmaktadır. Bu policy de gerekli olan ayarı yapmazsak SMB Signing veya SMB kriptolamanın pek bir anlamı olmamaktadır. Dosya paylaşım sunucularında veriler ağdaki herkesin potansiyel olarak erişebilir duruma düşmektedir.

Policy’imize geçelim.

Computer Configuration>Administrative Templates>Network>Lanman Workstation>Enable insecure guest logon

Ayarını disable olarak ayarlıyoruz.

SMB Encryption

SMB kriptolaması da yapılması gereken son ayarlardan biridir. Eğer yeni bir paylaşım yapacak veya mevcut paylaşımlarınızı SMB tarafında kriptolamak istiyorsanız powershell script yardımıyla rahatça yapılabilmektedir. Buradaki parametre -encryptData yı true yapmaktadır. Daha ayrıntılı konfigürasyonları microsoft’un sayfasından öğrenebilirsiniz.

Set-SmbShare -Name "Paylasim" -EncryptData $true
Set-SMBServerConfiguration -EncryptData $true 

Sonuç olarak SMB’nin açıklarından sistemlerimizi korumak gerekmektedir. Bu sebepten dolayı yukarıda SMB Ataklarına Karşı Önlemler kapsamında gerek windows ayarları gerekse policy’ler yardımıyla bu işleri yaptık. Diğer yazılarımızı aşağıdaki kategorilerden takip edebilirsiniz.