HOWTO: Dezactivati protocoale slabe, suite de cifrare si algoritmi de hashing pe Proxie-uri de aplicatii web, servere AD FS si servere Windows care ruleaza Azure AD Connect – Lucrurile care sunt mai bine lasate nerostite

Majoritatea implementarilor de identitate hibrida bazate pe Microsoft folosesc serverele Active Directory Federation (AD FS), serverele de aplicatii web si instalatiile Azure AD Connect. In aceasta serie, intitulata Hardening Hybrid Identity, ne uitam la intarirea acestor implementari, folosind practici recomandate.

Nota:

Acest blog presupune ca toate aplicatiile web de aplicatii web, serverele AD FS si instalatiile Azure AD Connect ruleaza Windows Server 2016.

Intarirea ofera straturi suplimentare pentru aparare in abordarile profunde. Modifica comportamentul implicit al produselor si serviciilor pentru a le face mai rezistente la schimbarile si compromisurile neautorizate.

Motivele pentru care

Protocoalele, apartamentele de cifrare si algoritmii de hashing sunt utilizate pentru a cripta comunicatiile in fiecare implementare a identitatii hibride. De obicei, cifrele si algoritmii de utilizat se bazeaza pe o negociere intre ambele capete ale unui canal de comunicatii. Scopul este de a utiliza cele mai sigure protocoale, suite de cifrare si algoritmi de hashing care accepta ambele capete. Pentru a utiliza cele mai puternice cifre si algoritmi, este important sa dezactivati cifrele si algoritmii pe care nu mai doriti sa le vedeti utilizate.

Microsoft recomanda organizatiilor sa foloseasca protocoale puternice, suite de cifrare si algoritmi de hashing. Pentru Azure Active Directory, acestea modifica regulat setarile de negociere pe sistemele lor, pentru a evita scaderile in standardele de criptare.

Array

Posibil impact negativ (Ce ar putea merge rau?)

Atunci cand sistemele unei implementari de identitate hibrida sunt intarite in mod necorespunzator, nu va exista nicio comunicare intre Azure Active Directory si sistemele implementarii si / sau intre sistemele implementarii Hybrid Identity.

Acest lucru poate afecta autentificarile direct atunci cand utilizati Active Directory Federation Services (AD FS) sau Authentication Authentication ca metoda de autentificare in implementarea Hybrid Identity. Acest lucru poate provoca o functionalitate diminuata, atunci cand se utilizeaza sincronizarea Hash Password (PHS) ca metoda de autentificare. De asemenea, acest lucru poate determina expirarea certificatelor, suspendarea monitorizarii si / sau esecul copiilor de rezerva. Poate insemna, de asemenea, ca administratorii nu vor mai putea gestiona (de la distanta) sistemele.

Cand utilizati Protocolul Desktop la distanta (RDP) pentru a gestiona instalatiile Windows Server ale implementarii Hybrid Identity, stratul de securitate implicit din RDP este setat pe Negotiate, care accepta atat SSL (TLS 1.0) cat si RDP Security Layer. Deschideti configuratia de gazda a sesiunii desktop la distanta in instrumente administrative si faceti dublu clic pe RDP-Tcp sub grupul conexiuni. Daca este setat la SSL (TLS 1.0) si daca executati Windows Server 2008, asigurati-va ca ati instalat suportul TLS 1.1 si 1.

Array

2.

Pentru implementarile de identitate hibrida care prezinta conectarea unica fara sudura (3SO) a Azure AD Connect, nu dezactivati RC4_HMAC_MD5 in acest moment, deoarece acest lucru se poate intrerupe.

Pentru a dezactiva protocoalele slabe, apartamentele criptate si algoritmii de hashing pe Proxies pentru aplicatii web, serverele AD FS si serverele Windows care ruleaza Azure AD Connect, asigurati-va ca indepliniti urmatoarele cerinte:

Cerinte de sistem

Asigurati-va ca toate sistemele din domeniul de aplicare sunt instalate cu cele mai recente actualizari cumulate Windows. De asemenea, asigurati-va ca rulati cea mai recenta versiune stabila a Azure AD Connect.

Cerinte de privilegiu

Asigurati-va ca va conectati cu un cont care are privilegii pentru a crea si / sau schimba si conecta obiecte de politica de grup la Unitatea organizationala (OU) in care rezida sistemele din domeniul de aplicare.

Cui sa comunice

Cand intentionati sa modificati sistemele din implementarea Hybrid Identity, asigurati-va ca trimiteti o adresa catre aceste persoane si / sau echipe din organizatia dvs.:

  • Echilibratoare de incarcare si tipuri de gale si retele
  • Echipa Active Directory
  • Persoanele responsabile de backup-uri, restaurare si recuperare in caz de dezastre
  • Persoanele care trec prin jurnale, folosind o solutie SIEM si / sau o TSCM
  • Echipa de monitorizare

Una dintre provocarile pe care le puteti evita cu usurinta prin comunicare este aceea ca mai multe persoane si / sau echipe fac modificari in configuratie. Cand se sparge, nu vrei sa retragi o multime de schimbari, doar cea care a rupt-o. Asigurati-va ca aveti momentele adecvate de inghetare / dezghetare pentru a realiza acest lucru.

Metodele de criptare sunt cuprinse in:

  1. Un protocol, cum ar fi PCT, SSL si TLS
  2. O metoda de schimb cheie, cum ar fi ECDHE, DHE si RSA
  3. O suita de cifrare, cum ar fi AES, MD5, RC4 si 3DES

Protocoale

In scopul acestui blogpost, ma tin de dezactivarea urmatoarelor protocoale:

Nota:

PCT v1.0 este dezactivat implicit pe sistemele de operare Windows Server.

SSL v2 este dezactivat, in mod implicit, in Windows Server 2016 si versiunile ulterioare ale Windows Server.

Suite Cipher si algoritmi de hashing

In scopul acestui blogpost, ma voi opri din dezactivarea urmatoarelor suite de cifrare si algoritmi de hashing:

  • RC2
  • RC4
  • MD5
  • 3DES
  • DES
  • NUL
  • Toate apartamentele cu cifru marcate ca EXPORT

Nota:

apartamentele de cifrare NULL nu ofera criptare.

Nota:

Lista de mai sus este o imagine a cifrelor slabe si a algoritmilor care dateaza din iulie 2019. Va rugam sa consultati Documentatia Laboratoarele SSL pentru indrumari efective privind cifrele slabe si algoritmii de dezactivat pentru organizatia dvs.

In scopul acestui blogpost, voi respecta urmatoarele protocoale, suite de cifrare si algoritmi de hashing, in urmatoarea ordine de negociere:

  1. TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  2. TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  3. TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
  4. TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
  5. TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  6. TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
  7. TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  8. TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  9. TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  10. TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  11. TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  12. TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  13. TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  14. TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  15. TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  16. TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  17. TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
  18. TLS_DHE_RSA_WITH_AES_256_CBC_SHA256

Aceasta lista ofera o preferinta la secrete perfecte de redirectionare (PFS) cu suita de cifrare Diffie-Hellman cu curba eliptica (ECDHE_ *).

Intrucat sistemele din domeniul de aplicare pot fi sau nu de servicii de domeniu Active Directory, pot sau nu sa ruleze Server Core si pot sau nu sa permita descarcarea instrumentelor terte parti, dar in toate cazurile puteti dezactiva protocoale slabe folosind Windows PowerShell cu urmatoarele scripturi :

Nota:

Deoarece SSL v2 este dezactivat si eliminat din Windows Server 2016 si versiuni ulterioare, iar SSL v3 este dezactivat implicit in Windows Server 2016 si versiuni ulterioare, aceste protocoale nu trebuie sa fie dezactivate pe Windows Server 2016 si versiuni mai noi de Windows. Server.

Activati TLS 1.2

Pentru a activa TLS 1.2, executati urmatorul script Windows PowerShell intr-o fereastra ridicata a PowerShell pe fiecare dintre instalatiile Windows Server in scopul implementarii Hybrid Identity:

Nota:

Valoarea de registru DisabledByDefault nu inseamna ca protocolul este dezactivat implicit. Inseamna ca protocolul nu este anuntat ca disponibil in mod implicit in timpul negocierilor, dar este disponibil daca este cerut in mod specific.

$ SChannelRegPath = „HKLM: \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocole”

New-Item $ SChannelRegPath „\ TLS 1.2 \ Server” -Force

New-Item $ SChannelRegPath „\ TLS 1.2 \ Client” -Force

New-ItemProperty -Path $ SChannelRegPath „\ TLS 1.2 \ Server” `

-Nume Activat -Valor 1 -PropertyType DWORD

New-ItemProperty -Path $ SChannelRegPath „\ TLS 1.2 \ Server” `

-Nume DezactivatByDefault -Value 0 -PropertyType DWORD

New-ItemProperty -Path $ SChannelRegPath „\ TLS 1.2 \ Client” `

-Nume Activat -Valor 1 -PropertyType DWORD

New-ItemProperty -Path $ SChannelRegPath „\ TLS 1.2 \ Client” `

-Nume DisabledByDefault -Value 0 -PropertyType DWORD

Configurarea aplicatiilor .Net pentru a utiliza TLS 1.1 si TLS 1.2

Acum, trebuie sa configuram aplicatii .Net pentru a utiliza fie TLS 1.1, fie TLS 1.2. Acest lucru este important pentru functionalitatea Windows incorporata si pentru aplicatiile si serviciile terte parti. Executati urmatorul script Windows PowerShell in aceeasi fereastra PowerShell elevata ca cea anterioara:

$ RegPath1 = „HKLM: \ SOFTWARE \ WOW6432Node \ Microsoft \ .NETFramework \ v4.0.30319”

New-ItemProperty -path $ RegPath1 `-nume SystemDefaultTlsVersions -valor

1 -PropertyType DWORD

New-ItemProperty -path $ RegPath1 `

-numele SchUseStrongCrypto -valoarea 1 -PropertyType DWORD

$ RegPath2 = „HKLM: \ SOFTWARE \ Microsoft \ .NETFramework \ v4.0.30319”

New-ItemProperty -path $ RegPath2 `-nume SystemDefaultTlsVersions -valor

1 -PropertyType DWORD

New-ItemProperty -path $ RegPath2 `

-numele SchUseStrongCrypto -valoarea 1 -PropertyType DWORD

Dezactiveaza TLS 1.0 si TLS 1.1

Pentru a dezactiva TLS 1.0 si TLS 1.1, executati urmatorul script Windows PowerShell in aceeasi fereastra PowerShell elevata ca scriptul Windows PowerShell precedent pe fiecare instalatie Windows Server in sfera implementarii Hybrid Identity:

New-Item $ SChannelRegPath -Nume „TLS 1.0”

New-Item $ SChannelRegPath „\ TLS 1.0” -Numir SERVER

New-ItemProperty -Path $ SChannelRegPath „\ TLS 1.0 \ SERVER” `

-Nume Activat -Valor 0 -PropertyType DWORD

New-Item $ SChannelRegPath „\ TLS 1.1 \ Server” -force

New-Item $ SChannelRegPath „\ TLS 1.1 \ Client” -force

New-ItemProperty -Path $ SChannelRegPath „\ TLS 1.1 \ Server” `

-Nume Activat -Valor 0 -PropertyType DWORD

New-ItemProperty -Path $ SChannelRegPath „\ TLS 1.1 \ Server” `

-Nume DisabledByDefault -Value 0 -PropertyType DWORD

New-ItemProperty -Path $ SChannelRegPath „\ TLS 1.1 \ Client” `

-Nume Activat -Valor 0 -PropertyType DWORD

New-ItemProperty -Path $ SChannelRegPath „\ TLS 1.1 \ Client” `

-Nume DezactivatByDefault -Valor 0 -PropertyType DWORD

Reporniti fiecare server dupa aceste modificari de configurare.

Sistemele din domeniul de aplicare pot fi sau nu de servicii de domeniu Active Directory, pot sau nu sa ruleze Server Core si pot sau nu sa permita descarcarea de instrumente terte parti. In toate cazurile, puteti dezactiva apartamentele de cifrare slabe si algoritmii de hashing, dezactivand apartamentele de cifrare TLS individuale folosind Windows PowerShell.

Nota:

randurile de mai jos ale PowerShell nu schimba ordinea de negociere a apartamentelor de criptare si a algoritmilor de hashing. Dezactiveaza doar combinatiile individuale de apartamente de cripta nedorite si algoritmi de hashing. Acest lucru elimina, de asemenea, necesitatea de a tine pasul cu apartamentele de cifrare din Windows Server intre versiunile lansate de Windows Server si chiar intre actualizari.

O situatie castig-castig daca m-ai intreba!

Bacsis!

Pentru a obtine o imagine de ansamblu asupra ordinii curente de negociere, utilizati urmatoarea linie de PowerShell:

Get-TlsCipherSuite | Format-Table Name 

Utilizati urmatoarele linii pe instalatiile Windows Server 2016 pentru a elimina apartamentele de cifrare slabe si algoritmii de hashing:

Dezactivati-TlsCipherSuite -Name „TLS_DHE_RSA_WITH_AES_256_CBC_SHA”

disable-TlsCipherSuite -Name „TLS_DHE_RSA_WITH_AES_128_CBC_SHA”

disable-TlsCipherSuite -Name „TLS_RSA_WITH_AES_256_GCM_SHA384”

disable-TlsCipherSuite -Name „TLS_RSA_WITH_AES_128_GCM_SHA256”

disable-TlsCipherSuite -Name „TLS_RSA_WITH_AES_256_CBC_SHA256”

disable-TlsCipherSuite -Name „TLS_RSA_WITH_AES_128_CBC_SHA256”

Disable- TlsCipherSuite -Numele „TLS_RSA_WITH_AES_256_CBC_SHA”

Disable-TlsCipherSuite -Name „TLS_RSA_WITH_AES_128_CBC_SHA”

Disable-TlsCipherSuite -Name „TLS_RSA_WITH_3DES_EDE_CBC_SHA”

Disable-TlsCipherSuite -Name „TLS_DHE_DSS_WITH_AES_256_CBC_SHA256”

Dezactiveaza-TlsCipherSuite -Nume „TLS_DHE_DSS_WITH_AES_128_CBC_SHA256”

Dezactivati-TlsCipherSuite -Name „TLS_DHE_DSS_WITH_AES_256_CBC_SHA”

disable-TlsCipherSuite -Name „TLS_DHE_DSS_WITH_AES_128_CBC_SHA”

disable-TlsCipherSuite -Name „TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA”

disable-TlsCipherSuite -Name „TLS_RSA_WITH_RC4_128_SHA”

disable-TlsCipherSuite -Name „TLS_RSA_WITH_RC4_128_MD5”

disable-TlsCipherSuite -Name „TLS_RSA_WITH_NULL_SHA256”

Disable- TlsCipherSuite -Numele „TLS_RSA_WITH_NULL_SHA”

Disable-TlsCipherSuite -Name „TLS_PSK_WITH_AES_256_GCM_SHA384”

Disable-TlsCipherSuite -Name „TLS_PSK_WITH_AES_128_GCM_SHA256”

Disable-TlsCipherSuite -Name „TLS_PSK_WITH_AES_256_CBC_SHA384”

Disable-TlsCipherSuite -Name „TLS_PSK_WITH_AES_128_CBC_SHA256”

Disable-TlsCipherSuite -Name „TLS_PSK_WITH_NULL_SHA384”

Disable-TlsCipherSuite -Name „TLS_PSK_WITH_NULL_SHA256”

Dupa intarire, este timpul sa testati intarirea. Toata lumea ar trebui sa se deconecteze (nu literalmente, cu exceptia cazului in care este procedura) la functionarea corecta a serverelor Windows care ruleaza Azure AD Connect. Mai functioneaza autentificarea catre aplicatiile cloud? Rularea certificatului functioneaza in continuare? Monitorizarea functioneaza in continuare? Mai putem face back-up-uri? Mai putem restabili copiile de rezerva pe care le realizam?

De obicei, intarirea este rulata pe un server Windows. Cand testati intarirea functionalitatii din spatele echilibratorului de sarcina, asigurati-va ca echilibratorul de sarcina va orienteaza catre sistemul intarit, nu altul. Intr-un mediu cu o instalare a modului Staging Azure AD Connect, intarirea poate fi efectuata pe aceasta instalatie Windows Server si testata cu ciclurile de sincronizare normale ale modului Staging (doar pentru import). Atunci cand intarirea este aprobata, instalarea Azure AD Connect sincronizand activ poate fi comutata sau, de asemenea, intarita.

Nota:

Modificarile registrului sunt pasul 2 din doi pasi pentru intarirea protocoalelor, apartamentelor de cifrare si algoritmii de hashing ai implementarii Hybrid Identity. Asigurati-va ca aplicati Azure AD Connect pentru a utiliza TLS 1.2 doar pe serverele Windows care ruleaza Azure AD Connect, inainte de testare.

Indreptarea inapoi

Pentru a intoarce intarirea, utilizati urmatoarele linii ale Windows PowerShell:

$ SChannelRegPath = „HKLM: \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocole”

Remove-Item –Nume „TLS 1.0” –Path $ SChannelRegPath

Remove-Item – Nume „TLS 1.1” –Path $ SChannelRegPath

Remove-Item – Nume „TLS 1.2” –Path $ SChannelRegPath

Activati-TlsCipherSuite -Name „TLS_DHE_RSA_WITH_AES_256_CBC_SHA”

Activeaza-TlsCipherSuite -Name „TLS_DHE_RSA_WITH_AES_128_CBC_SHA”

Activeaza-TlsCipherSuite -Name „TLS_RSA_WITH_AES_256_GCM_SHA384”

Activeaza-TlsCipherSuite -Name „TLS_RSA_WITH_AES_128_GCM_SHA256”

Activeaza-TlsCipherSuite -Name „TLS_RSA_WITH_AES_256_CBC_SHA256”

Activeaza-TlsCipherSuite -Name „TLS_RSA_WITH_AES_128_CBC_SHA256”

Enable- TlsCipherSuite -Numele „TLS_RSA_WITH_AES_256_CBC_SHA”

Activeaza-TlsCipherSuite -Name „TLS_RSA_WITH_AES_128_CBC_SHA”

Activeaza-TlsCipherSuite -Name „TLS_RSA_WITH_3DES_EDE_CBC_SHA”

Activeaza-TlsCipherSuite -Name „TLS_DHE_DSS_WITH_AES_256_CBC_SHA256”

Enable-TlsCipherSuite -Name „TLS_DHE_DSS_WITH_AES_128_CBC_SHA256”

Activati-TlsCipherSuite -Name „TLS_DHE_DSS_WITH_AES_256_CBC_SHA”

Activeaza-TlsCipherSuite -Name „TLS_DHE_DSS_WITH_AES_128_CBC_SHA”

Activeaza-TlsCipherSuite -Name „TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA”

Activeaza-TlsCipherSuite -Name „TLS_RSA_WITH_RC4_128_SHA”

Activeaza-TlsCipherSuite -Name „TLS_RSA_WITH_RC4_128_MD5”

Activeaza-TlsCipherSuite -Name „TLS_RSA_WITH_NULL_SHA256”

Enable- TlsCipherSuite -Numele „TLS_RSA_WITH_NULL_SHA”

Activeaza-TlsCipherSuite -Name „TLS_PSK_WITH_AES_256_GCM_SHA384”

Activeaza-TlsCipherSuite -Name „TLS_PSK_WITH_AES_128_GCM_SHA256”

Activeaza-TlsCipherSuite -Name „TLS_PSK_WITH_AES_256_CBC_SHA384”

Enable-TlsCipherSuite -Name „TLS_PSK_WITH_AES_128_CBC_SHA256”

Enable-TlsCipherSuite -Name „TLS_PSK_WITH_NULL_SHA384”

Enable-TlsCipherSuite -Name „TLS_PSK_WITH_NULL_SHA256”

Scapa de protocoale vechi, suite de cifrare si algoritmi de hashing in implementarea dvs. Hybrid Identity, astfel incat sa nu poata fi utilizate pentru a negocia securitatea conexiunilor.

Citirea ulterioara

Gestionarea protocoalelor SSL / TLS si a Cipher Suites pentru AD FS

245030 Cum sa restrictionati algoritmii si protocoalele criptografice in Schannel.dll

187498 Cum dezactivati PCT 1.0, SSL 2.0, SSL 3.0 sau TLS 1.0 din

Recomandarile IIS pentru TLS / SSL Cipher Hardening

Cum se poate Actualizati-va Windows Server Cipher Suite pentru o mai buna securitate.

Cele mai bune practici Cipher: Configurati IIS pentru SSL / TLS Protocol

Navigare in serie

<< HOWTO: Aplicati-va pe Azure AD Connect pentru a utiliza doar TLS 1.2HOWTO: Dezactivati punctele AD FS inutile >>