Windows İşletim Sistemi Sıkılaştırmalarına Yönelik Temel Kontrol Maddeleri – 2

0
2065
views
Kurumsal ortamlarda en çok kullanılan işletim sistemlerinin başında Windows gelmektedir. Bu sebeple, Windows işletim sistemine yönelik gerekli kontrollerin yapılması ve bir takım güvenlik önlemlerinin alınması önemlidir. Bir yazı dizisinin ikincisi olan bu yazıda Windows işletim sistemi sıkılaştırmalarına yönelik temel kontrol maddeleri incelenecektir.

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

Bu yazı içerisinde belirtilen kontrollerin bir çoğu etki alanı denetleyicisi üzerinden merkezi olarak Grup İlkeleri ile gerçekleştirilmektedir. Böylece hem merkezi bir kontrol sağlanabilmekte hem de hedef bir sistem üzerinde yetki elde edilmiş bile olsa bu ayarlar değiştirilememektedir. Bu sebeple belirtilen sıkılaştırma ayarlarının grup ilkeleri üzerinden gerçekleştirilmesi tavsiye edilmektedir.

Not: Tespit edilen bulgular maddeler halinde aşağıdaki gibi sıralanmıştır. Bulgular giderilirken etkileri iyi analiz edilmeli, etkileri incelenmeli ve işlevsellik testleri gerçekleştirilmelidir. Değişikliklerden sonra sistemlerin yeniden başlatılması da gerekebilmektedir.

 

1) SMB İletişimi

SMB protokolü OSI modelinde uygulama (7.) ve sunum (6.) katmanda kullanılır. Taşıma işlemi ise daha alt seviyedeki katmanlarda TCP veya NetBIOS üzerinden gerçekleştirilebilir.

SMB protokolünün bir çok sürümü vardır. Bu sürümler ve kullanıldıkları işletim sistemleri aşağıdaki gibi listelenebilir.

  • CIFS: Microsoft NT 4.0 (1996)
  • SMB 1.0 : Windows 2000, Windows XP, Windows Server 2003, Windows Server 2003 R2
  • SMB 2.0: Windows Vista
  • SMB 2.1: Windows 7, Windows Server 2008 R2
  • SMB 3.0: Windows 8, Windows Server 2012
  • SMB 3.0.2: Windows 8.1, Windows Server 2012 R2
  • SMB 3.1.1: Windows 10, Windows Server 2016 (AES 128 GCM & AES 128 CCM)

 

Kontrol: SMBv1 üzerinden araya girme saldırıları (MITM – Downgrade) gerçekleştirilebilmekte ve SMB üzerinde bir çok zafiyete yol açmaktadır.

Önlem: Belirtilen kontrol maddesi için, gerçekleştirilebilecek önlemler aşağıdaki gibi sıralanabilir.

  • Gerekli ayarlar Sunucu Yönetimi ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • (Sunucu ise) Server Manager –> Manage –> Remove Roles and Features –> Features
      • SMB1.0/CIFS File Sharing Support –> Kaldırılır
    • (İstemci ise) Control Panel –> Programs and Features –> Turn Windows features on or off
      • SMB1.0/CIFS File Sharing Support –> Kaldırılır
  • SMBv1 sürümünü devre dışı bırakmak için gerekli ayarlar Kayıt Defteri ile aşağıda belirtildiği gibi ayarlanabilir:
    • (Windows 7/Vista, Windows Server 2008 R2/2008 için) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameter
      • SMB1 (DWORD) –> 0
  • SMBv1 sürümünü devre dışı bırakmak için gerekli ayarlar Powershell ile aşağıda belirtildiği gibi ayarlanabilir:
    • (Windows 8, Windows Server 2012 için) Set-SmbServerConfiguration -EnableSMB1Protocol $false
    • (Windows 8.1/10 için) Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol
    • (Windows 8.1/10, Windows Server 2012 R2 / 2016 için) Remove-WindowsFeature FS-SMB1

 

Kontrol: SMB trafiğinde araya girilebilir (Man-in-the-Middle Attack) ve paket değiştirilebilir.

Önlem: Belirtilen kontrol maddesi için, gerçekleştirilebilecek önlemler aşağıdaki gibi sıralanabilir.

  • İstemci ve sunucu arasındaki iletişimi için gerekli ayarlar Grup İlkesi Nesnesi ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • Computer Configuration –> Policies –> Windows Settings –> Security Settings –> Local Policies –> Security Options
      • Microsoft network client: Digitally sign communications (always) –> Enabled
      • Microsoft network client: Digitally sign communications (if server agrees) –> Enabled
      • Microsoft network client: Send unencrypted password to third-party SMB servers –> Disabled
      • Microsoft network server: Amount of idle time required before suspending session –> 15 or fewer minute(s), but not 0
      • Microsoft network server: Digitally sign communications (always) –> Enabled
      • Microsoft network server: Digitally sign communications (if client agrees) –> Enabled
      • Microsoft network server: Disconnect clients when logon hours expire –> Enabled [DİKKAT EDİLMELİ]
      • Microsoft network server: Server SPN target name validation level –> Accept if provided by client (veya daha yükseği) [DİKKAT EDİLMELİ]
      • Network security: LAN Manager authentication level: Send NTLMv2 response only\refuse LM & NTLM [DİKKAT EDİLMELİ]
      • Network security: Allow Local System to use computer identity for NTLM –> Enabled
      • Network Security: Allow LocalSystem NULL session fallback
      • Network security: Do not store LAN Manager hash value on next password change
    • Computer Configuration –> Policies –> Administrative Templates –> Network –> Lanman Workstation
        • Enable insecure guest logons –> Disabled
  • İstemci ve sunucu arasındaki iletişimi için gerekli ayarlar Kayıt Defteri ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ LanmanWorkstation \ Parameters
      • RequireSecuritySignature (REG_DWORD) –> 1
      • EnableSecuritySignature (REG_DWORD) –> 1
      • EnablePlainTextPassword (REG_DWORD) –> 0
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ LanManServer \ Parameter
      • AutoDisconnect (REG_DWORD) –> 15
      • RequireSecuritySignature (REG_DWORD) –> 1
      • EnableSecuritySignature (REG_DWORD) –> 1
      • ForceLogoffWhenHourExpire (REG_DWORD) –> 1
      • SMBServerNameHardeningLevel (REG_DWORD) –> 0
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa
      • LmCompatibilityLevel (REG_DWORD) –> 5
      • UseMachineId (REG_DWORD) –> 1
      • NoLMHash (REG_DWORD) –> 1
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0
      • allownullsessionfallback (REG_DWORD) –> 0
    • HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Windows \ LanmanWorkstation
      • AllowInsecureGuestAuth (REG_DWORD) –> 0

 

2) Ağ Üzerinden Erişim

Kontrol: Ağ üzerinden yetkisiz erişimlere izin verilmesi sonucu, ağ paylaşımlarına anonymous (isimsiz) olan bağlantılara Everyone grubu gibi kendini tanıtamayan bağlantı isteklerine izin verilebilir veya yetkisiz sorgulamara olanak sağlanır.

Önlem: Belirtilen kontrol maddesi için, gerçekleştirilebilecek önlemler aşağıdaki gibi sıralanabilir.

  • Ağ üzerinden erişim için gerekli ayarlar Grup İlkesi Nesnesi ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • Computer Configuration –> Windows Settings –> Security Settings –> Local Policies –> Security Options
      • Network access: Allow anonymous SID/Name translation –> Disabled
      • Network access: Do not allow anonymous enumeration of SAM accounts –> Enabled
      • Network access: Do not allow anonymous enumeration of SAM accounts and shares –> Enabled
      • (İstemci ve sunucu ise) Network access: Named Pipes that can be accessed anonymously –> Blank (Boş)
      • (Etki alanı denetleyicisi rolünde ise) Network access: Named Pipes that can be accessed anonymously –> LSARPC & NETLOGON & SAMR
      • Network access: Let Everyone permissions apply to anonymous users –> Disabled
      • Network access: Remotely accessible registry paths –>
        • System\CurrentControlSet \ Control \ ProductOptions
        • System\CurrentControlSet \ Control \ Server Applications
        • Software\Microsoft\Windows NT\CurrentVersion
      • Network access: Remotely accessible registry paths and sub-paths –>
        • Software\Microsoft\OLAP Server
        • Software\Microsoft\Windows NT\CurrentVersion\Perflib
        • Software\Microsoft\Windows NT\CurrentVersion\Print
        • Software\Microsoft\Windows NT\CurrentVersion\Windows
        • System\CurrentControlSet \ Control \ ContentIndex
        • System\CurrentControlSet \ Control \ Print\Printers
        • System\CurrentControlSet \ Control \ Terminal Server
        • System\CurrentControlSet \ Control \ Terminal Server\UserConfig
        • System\CurrentControlSet \ Control \ Terminal Server\DefaultUserConfiguration
        • System\CurrentControlSet\Services\Eventlog
        • System\CurrentControlSet\Services\Sysmonlog
        • System\CurrentControlSet\Services\CertSvc (Sertifika Otoritesi rolündeki sistemlerde)
        • System\CurrentControlSet\Services\WINS (WINS rolündeki sistemlerde)
      • Network access: Restrict anonymous access to Named Pipes and Shares –> Enabled
      • Network access: Shares that can be accessed anonymously –> Blank (Boş)
      • (Windows Server 2016 ve sonrası ise) Network access: Restrict clients allowed to make remote calls to SAM –> Security descriptor: –> Administrators –> Remote Access – Allow
      • Network access: Do not allow storage of passwords and credentials for network authentication –> Enabled
  • Ağ üzerinden erişim için gerekli ayarlar Kayıt Defteri ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa
      • RestrictAnonymous (REG_DWORD) –> 1
      • RestrictAnonymousSAM (REG_DWORD) –> 1
      • EveryoneIncludesAnonymous (REG_DWORD) –> 0
      • (Windows Server 2016 ve sonrası ise) RestrictRemoteSAM (REG_SZ) –> O:BAG:BAD:(A;;RC;;;BA)
      • DisableDomainCreds (REG_DWORD) –> 1
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control
      • NullSessionPipes (REG_MULTI_SZ) –> Blank (Boş)
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurePipeServers \ Winreg \ AllowedPaths
      • Machine (REG_MULTI_SZ) –> “Network access: Remotely accessible registry paths and sub-paths” ilkesi altında belirtilenler
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurePipeServers \ Winreg \ AllowedExactPaths\
      • Machine (REG_MULTI_SZ) –> “Network access: Remotely accessible registry paths” ilkesi altında belirtilenler
    • HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ LanManServer \ Parameters
      • RestrictNullSessAccess (REG_DWORD) –> 1
      • NullSessionShares (REG_MULTI_SZ) –> Blank (Boş)

 

3) LLNMR ve NETBIOS İletişimi

NETBIOS, Windows sistemlerde disk üzerindeki yerel kaynak (C:\Windows\System32\drivers\etc\hosts), DNS önbelleği, DNS sorguları ve LLMNR protokolü ile bulunamayan alan adlarını çözmek için kullanılan bir protokol kümesi, API’dir. Böylece yerel ağ (LAN) üzerindeki sistemler ağa dahil olabilir, birbirleri ile iletişim kurabilir (oturum başlatıp/sonlandırabilir), veri aktarabilir, isim çözümlemesi gerçekleştirilebilir. Windows ortamında, NETBIOS isimlerini IP adreslerine dönüştürme işlemi WINS (Windows Internet Name Service) adı verilen servis tarafından gerçekleştirilir. Bu NetBIOS isimlerinin ağda benzersiz olması gerekmektedir.

Windows sistemlerde disk üzerindeki yerel kaynak (C:\Windows\System32\drivers\etc\hosts), DNS önbelleği ve DNS sunucusunda bulunamayan alan adlarını çözmek için kullanılan DNS tabanlı protokoldür. Windows Vista sonrasındaki Windows sürümleri tarafından desteklemektedir. Ayrıca güncel bazı Linux sürümlerinde de kullanılabilir. LLMNR için NetBIOS’un atası (selefi) de denebilir.

 

Kontrol: Yerel ağda LLMNR ve NBT-NS üzerinden zehirleme saldırıları gerçekleştirilebilir.

Önlem: Belirtilen kontrol maddesi için, gerçekleştirilebilecek önlemler aşağıdaki gibi sıralanabilir.

  • LLMNR sıkılaştırması Grup İlkesi Nesnesi ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • Computer Policy –> Computer Configuration –> Administrative Templates –> Network –> DNS Client
      • Turn Off Multicast Name Resolution –> Enabled
  • LLMNR sıkılaştırması Kayıt Defteri ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • HKEY_LOCAL_MACHINE –> SOFTWARE –> Policies –> Microsoft –> Windows NT –> DNSClient
      • EnableMulticast (DWORD): 0
      • DisableSmartNameResolution (DWORD): 1
  • Bulgunun giderilmesi için NETBIOS sıkılaştırması komut satırından aşağıda belirtildiği gibi ayarlanabilir:

wmic /interactive:off nicconfig where (TcpipNetbiosOptions=0 OR TcpipNetbiosOptions=1) call SetTcpipNetbios 2

  • NETBIOS sıkılaştırması Yerel Ağ Bağlantısı ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • Control Panel –> All Control Panel Items –> Network and Sharing Center –> Network Interface [*] –> Activity –> Properties –> Internet Protocol Version 4 (TCP/IPv4) –> Properties –> Advanced –> WINS –> NetBIOS setting
      • Disable NetBIOS over TCP/IP –> Clicked (Seçili)
  • NETBIOS sıkılaştırması Kayıt Defteri ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ NetBT \ Parameters \ Interfaces \ *
      • NetbiosOptions (DWORD): 2
  • NETBIOS sıkılaştırması DHCP Yönetim Paneli ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • IPv4 –> Scope [*] DHCP –> Scope Options –> Advanced
      Vendor class –> Microsoft Windows 2000 Options

      • 001 Microsoft Disable Netbios Option –> 0x2
  • NETBIOS sıkılaştırması Internet Explorer ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    Tools –> Internet Options –> Connections –> LAN settings –> Automatic configuration

    • Automatically detect settings: Unchecked (Kaldırılmalıdır)

Not: Sıkılaştırmanın bilinen yan etkileri aşağıdaki gibi sıralanabilir.

  • Windows Server 2003 ve öncesi gibi eski sunucu sürümlerinde hata verebilmektedir.
  • Domain Controller ve Exchange sunucusu olarak Windows Server 2003 ve önceki sürümlerinde sorun çıkabilmektedir.
  • Eğer güven ilişkisi varsa, etki alanı denetleyici (Domain Controller) isimleri aynı ve kaynak erişim ihtiyaçları varsa sorun çıkabilmektedir.
  • Uygulama, program, harici servis gibi bir kaynak WINS/NetBIOS kullanıyorsa, bu uygulamanın çalışması hata verebilmektedir.

 

4) RDP Bağlantısı

Windows bir bilgisayara uzak masaüstü bağlantısı (Remote Desktop Connection) sağlamak için RDP (Remote Desktop Protocol) [3] adlı protokol kullanılır. RDP OSI modelinin 7. katmanında çalışır ve üçlü el sıkışma tamamlandıktan sonra başlar. Microsoft tarafından RDP güvenliği için 2 temel yöntem sunar:

  • Standard RDP Security (Native / Plain): Standart RDP Güvenliği ile yapılan uzak masaüstü bağlantısı klasik SSL iletişimine benzer. Kimlik doğrulama ve anahtar değişimi için RSA asimetrik şifreleme algoritması kullanılır.
  • Enhanced RDP Security (TLS / CredSSP): Gelişmiş RDP Güvenliği ile yapılan uzak masaüstü bağlantısı için özel bir SSL implementasyonu kullanılır. Uzak masaüstü trafiği kimlik bilgileri de dahil olmak üzere SSL tünel içerisinden geçer.

Microsoft tarafından uzak masaüstü bağlantısı için 2 temel güvenlik özelliği sunulmaktadır.

  • Early User Authorization: Bu özellik ile kimlik doğrulama öncesinde, sunucu, kullanıcının oturum açma yetkisi olup olmadığı kontrolü gerçekleştirilebilir.
  • Network Level Authentication (NLA): Bu özellik ile işletim sisteminde yük oluşmasının önüne geçilir. NLA etkinleştirildiğinde, Windows Server 2008 ve sonrasındaki işletim sistemlerinde ise istemci tarafından bağlantı isteği sonrasında kimlik bilgileri istemciden açılan bir pencereye (mstsc.exe) girmesi istenir ve kimlik doğrulama kontrolü sonrasında hedef sunucunun oturum açma ekranı gelmesi sağlanır.

 

Kontrol: RDP güvenlik seviyesinin desteklenen en yüksek seviyede tutulması gerekmektedir.

Önlem: Belirtilen kontrol maddesi için, gerçekleştirilebilecek önlemler aşağıdaki gibi sıralanabilir.

  • RDP trafik güvenliği için gerekli ayarlar Grup İlkesi Nesnesi ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • Computer Configuration –> Policies –> Administrative Templates –> Windows Components –> Remote Desktop Services –> Remote Desktop Session Host –> Security
      • Set client connection encryption level –> Enabled –> High Level
      • Require use of specific security layer for remote (RDP) connections –> Enabled –> SSL (TLS 1.0)
  • RDP trafik güvenliği için gerekli ayarlar Kayıt Defteri ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Windows NT \ Terminal Services
      • MinEncryptionLevel (REG_DWORD) –> 3
    • HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
      • SecurityLayer (REG_DWORD) –> 2
    • HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
      • SecurityLayer (REG_DWORD) –> 2

 

Kontrol: İstemcilerin, terminal hizmeti veren sunuculara bağlantısı sırasında imzalı olmayan bir sertifika gelmesi durumunda, bu terminal servise bağlanamamalıdır.

Önlem: Belirtilen kontrol maddesi için, gerçekleştirilebilecek önlemler aşağıdaki gibi sıralanabilir.

  • Sunucu kimlik doğrulaması için gerekli ayarlar Grup İlkesi Nesnesi ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • Computer Configuration –> Policies –> Administrative Templates –> Windows Components –> Remote Desktop Services –> Remote Desktop Connection Client
      • Configure server authentication for client: Enabled
  • Sunucu kimlik doğrulaması için gerekli ayarlar Kayıt Defteri ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Windows NT \ Terminal Services
      • AuthenticationLevel (REG_DWORD) –> 2

 

Kontrol: Terminal hizmeti veren sunuculara bağlanmak istendiğinde, istemcilerin NLA ile kimlik doğrulatmaya zorlanmalıdır.

Önlem: Belirtilen kontrol maddesi için, gerçekleştirilebilecek önlemler aşağıdaki gibi sıralanabilir.

  • İstemci tarafında NLA ile kimlik doğrulaması için gerekli ayarlar Grup İlkesi Nesnesi ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • Computer Configuration –> Policies –> Administrative Templates –> Windows Components –> Remote Desktop Session Host –> Security
      • Require user authentication for remote connections by using Network Level Authentication: Enabled
  • İstemci tarafında NLA ile kimlik doğrulaması için gerekli ayarlar Kayıt Defteri ile aşağıda belirtildiği gibi gerçekleştirilebilir.
    • HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
      • UserAuthentication (REG_DWORD) –> 1

 

Kontrol: Sunuculara bağlanılmakta kullanılan istemci bilgisayarda ilgili kullanıcıların hesap bilgilerinin saklanılmasına izin verilirse, istemci bilgisayarın ele geçirilmesi durumunda saldırgan sunuculara da erişebilecektir. Bu kontrol, terminal servisleri istemcilerinde şifrelerin kaydedilip kaydedilmeyeceğini kontrol eder.

Önlem: Belirtilen kontrol maddesi için, gerçekleştirilebilecek önlemler aşağıdaki gibi sıralanabilir.

  • İstemci tarafında parolaların saklanmaması için gerekli ayarlar Grup İlkesi Nesnesi ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • Computer Configuration –> Administrative Templates –> Windows Components –> Remote Desktop Services –> Remote Desktop Connection Client
      • Do not allow passwords to be saved –> Enabled
    • Computer Configuration –> Policies –> Administrative Templates –> Windows Components –> Remote Desktop Services –> Remote Desktop Session Host –> Security
      • Always prompt for password upon connection –> Enabled
  • İstemci tarafında parolaların saklanmaması için gerekli ayarlar Kayıt Defteri ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Windows NT \ Terminal Services
      • DisablePasswordSaving (REG_DWORD) –> 1
      • fPromptForPassword (REG_DWORD) –> 1

 

Kontrol: Uzaktan yardım almayı sağlayan Remote Assistance özelliği kullanımı işletim sistemi güvenliğini tehlikeye atar.

Önlem: Belirtilen kontrol maddesi için, gerçekleştirilebilecek önlemler aşağıdaki gibi sıralanabilir.

  • İstemci tarafında parolaların saklanmaması için gerekli ayarlar Grup İlkesi Nesnesi ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • Computer Configuration –> Administrative Templates –> System –> Remote Assistance
      • Configure Offer Remote Assistance –> Disabled
      • Configure Solicited Remote Assistance –> Disabled
  • İstemci tarafında parolaların saklanmaması için gerekli ayarlar Kayıt Defteri ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Windows NT \ Terminal Services
      • fAllowUnsolicited (REG_DWORD) –> 0
      • fAllowToGetHelp (REG_DWORD) –> 0

 

5) Kriptografik Paketler

Secure Sockets Layer kısaltması olarak adlandırılan SSL, sunucu ile istemci arasındaki iletişimin şifrelenmiş şekilde yapılabilmesine imkân veren standartlaşmış bir teknolojidir. Güncel olmayan kriptografik paketlerin kullanımı araya girme saldırıları, hizmet dışı bırakma atakları gibi gizliliği ve/veya erişilebilirliği tehlikeye atan zafiyetlere sebep olmaktadır.

Güvenilir olan ve olmayan kriptografik paketler aşağıdaki gibi sıralanabilir.

Tanım Güvenilir Olmayan Güvenilir Olan
Protokol TLS 1.1 (*) TLS 1.3
TLS 1.0 TLS 1.2 (~)
SSL x
Şifreleme TKIP AES 256
SEED ChaCha20-Poly1305
GHOST ARIA
RCx AES 128
xDES (**) Camellia
NULL SM4
Özetleme SHA1 SHA384
MDx SHA256
İşlem Modu CBC (***) GCM
CCM-8
CCM
Zincir TLS_DHE_DSS TLS_ECDHE_RSA
TLS_RSA TLS_DHE_RSA
TLS_EDCSE_RSA
TLS_EDCSE_ECDSA
Eğri Biti (Anahtar) P521
P384
P256

 

* TLS 1.1 kullanımı PCI-DSS gibi bazı standartlar tarafından güvenilir kabul edilmemektedir.

** 3DES kullanımı bazı standartlar tarafından güvenilir kabul edilmemektedir.

*** CBC kullanımı güncel TLS1.3 için güvenilir kabul edilebilir.

 

Mevcut durumu görmek için sslscan aracı kullanılabilir.

sslscan [IP]:[Port]

 

Kontrol: Güvenilir olmayan SSLv2, SSLv3, TLS1.0 gibi protokollerin; MD4, MD5, SHA-1 gibi özetleme algoritmalarının; RC4, 3DES gibi şifreleme algoritmalarının kullanılmaması gereklidir.

Önlem: Belirtilen kontrol maddesi için, gerçekleştirilebilecek önlemler aşağıdaki gibi sıralanabilir.

  • NARTAC IISCrypto aracı [4] ile güvenilir olmayan protokoller, özetleme algoritmaları, şifreleme paketleri, anahtar değişimi algoritmaları kaldırılmalıdır.
  • Güvenilir şifreleme paketleri sıkılaştırmaları Kayıt Defteri ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Ciphers \ AES 128/128
      • Enabled (REG_DWORD) –> FFFFFFFF
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Ciphers \ AES 256/256
      • Enabled (REG_DWORD) –> FFFFFFFF
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Ciphers \ DES 56/56
      • Enabled (REG_DWORD) –> 0
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Ciphers \ NULL
      • Enabled (REG_DWORD) –> 0
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Ciphers \ RC2 128/128
      • Enabled (REG_DWORD) –> 0
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Ciphers \ RC2 40/128
      • Enabled (REG_DWORD) –> 0
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Ciphers \ RC2 56/128
      • Enabled (REG_DWORD) –> 0
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Ciphers \ RC4 128/128
      • Enabled (REG_DWORD) –> 0
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Ciphers \ RC4 40/128
      • Enabled (REG_DWORD) –> 0
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Ciphers \ RC4 56/128
      • Enabled (REG_DWORD) –> 0
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Ciphers \ RC4 64/128
      • Enabled (REG_DWORD) –> 0
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Ciphers \ Triple DES 168
      • Enabled (REG_DWORD) –> 0
  • Güvenilir özetleme algoritmaları sıkılaştırmaları Kayıt Defteri ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Hashes \ MD5
      • Enabled (REG_DWORD) –> 0
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Hashes \ SHA
      • Enabled (REG_DWORD) –> 0
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Hashes \ SHA256
      • Enabled (REG_DWORD) –> FFFFFFFF
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Hashes \ SHA384
      • Enabled (REG_DWORD) –> FFFFFFFF
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Hashes \ SHA512
      • Enabled (REG_DWORD) –> FFFFFFFF
  • Güvenilir anahtar değişimi algoritmaları sıkılaştırmaları Kayıt Defteri ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ KeyExchangeAlgorithms \ Diffie-Hellman
      • Enabled (REG_DWORD) –> 0
      • ServerMinKeyBitLength (REG_DWORD) –> 00000800
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ KeyExchangeAlgorithms \ ECDH
      • Enabled (REG_DWORD) –> FFFFFFFF
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ KeyExchangeAlgorithms \ PKCS
      • Enabled (REG_DWORD) –> FFFFFFFF
  • Güvenilir protokol sıkılaştırmaları Kayıt Defteri ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ Multi-Protocol Unified Hello \ Client
      • Enabled (REG_DWORD) –> 0
      • DisabledByDefault (REG_DWORD) –> 1
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ Multi-Protocol Unified Hello \ Server
      • Enabled (REG_DWORD) –> 0
      • DisabledByDefault (REG_DWORD) –> 1
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ PCT 1.0 \ Client
      • Enabled (REG_DWORD) –> 0
      • DisabledByDefault (REG_DWORD) –> 1
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ PCT 1.0 \ Server
      • Enabled (REG_DWORD) –> 0
      • DisabledByDefault (REG_DWORD) –> 1
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ SSL 2.0 \ Client
      • DisabledByDefault (REG_DWORD) –> 1
      • Enabled (REG_DWORD) –> 0
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ SSL 2.0 \ Server
      • Enabled (REG_DWORD) –> 0
      • DisabledByDefault (REG_DWORD) –> 1
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ SSL 3.0 \ Client
      • Enabled (REG_DWORD) –> 0
      • DisabledByDefault (REG_DWORD) –> 1
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ SSL 3.0 \ Server
      • Enabled (REG_DWORD) –> 0
      • DisabledByDefault (REG_DWORD) –> 1
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ TLS 1.0 \ Client
      • Enabled (REG_DWORD) –> 0
      • DisabledByDefault (REG_DWORD) –> 1
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ TLS 1.0 \ Server
      • Enabled (REG_DWORD) –> 0
      • DisabledByDefault (REG_DWORD) –> 1
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ TLS 1.1 \ Client
      • Enabled (REG_DWORD) –> FFFFFFFF
      • DisabledByDefault (REG_DWORD) –> 0
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ TLS 1.1 \ Server
      • Enabled (REG_DWORD) –> FFFFFFFF
      • DisabledByDefault (REG_DWORD) –> 0
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ TLS 1.2 \ Client
      • Enabled (REG_DWORD) –> FFFFFFFF
      • DisabledByDefault (REG_DWORD) –> 0
    • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ TLS 1.2 \ Server
      • Enabled (REG_DWORD) –> FFFFFFFF
      • DisabledByDefault (REG_DWORD) –> 0

 

Kaynaklar:

[1] https://www.siberportal.org/red-team/network-penetration-tests/sizma-testlerinde-ve-denetimlerde-en-cok-karsilasilan-servisleri-degerlendirme-smb-over-tcp-ve-smb-over-netbios/
[2] https://www.siberportal.org/red-team/network-penetration-tests/sizma-testlerinde-ve-denetimlerde-en-cok-karsilasilan-servisleri-degerlendirme-netbios-ve-llmnr/
[3] https://www.siberportal.org/red-team/windows-operating-system-penetration-tests/seth-araci-ile-rdp-mitm-saldirisi-gerceklestirme/
[4] https://www.nartac.com/Products/IISCrypto
https://support.microsoft.com/en-us/help/2696547/detect-enable-disable-smbv1-smbv2-smbv3-in-windows-and-windows-server

 

 

 

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

CEVAP VER

Yorumunuzu giriniz
İsminizi giriniz

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.