Puncte:0

Windows Server 2012 R2 TLS 1.2 Problemă

drapel cn

Mă confrunt cu probleme cu TLS 1.2 pe Windows Server 2012 R2 (server web de aplicații, IIS), unde nu pot accesa https://api.nuget.org/v3/index.json prin Internet Explorer chiar și după ce văd că TLS 1.2 a fost activat.

Am un alt server cu același sistem de operare și aceleași actualizări ale sistemului de operare (dar fără IIS) și acest server nu are nicio problemă să acceseze API-ul sau orice alt punct final cu TLS 1.2)

Pe serverul problematic, am încercat următoarele:

  1. Am folosit IISCrypto pentru a activa totul -> Restart -> FAILED
  2. Schimbați manual setările de registry urmând documentația Microsoft - https://docs.microsoft.com/en-us/mem/configmgr/core/plan-design/security/enable-tls-1-2 - A EȘUAT
  3. Am folosit următorul Script pentru a reseta complet și a reactiva numai TLS 1.2 - https://www.hass.de/content/setup-microsoft-windows-or-iis-ssl-perfect-forward-secrecy-and-tls-12 - A EȘUAT

În acest moment, am petrecut cel mai bine de 3 zile încercând să depanez și să văd care este problema dintre aceste două servere, de ce un server Windows funcționează și altul nu.

Orice sfaturi, pași de depanare sau instrumente ar fi binevenite!

Capturi de ecran introduceți descrierea imaginii aici

  • prin Nuget CLR
  • pe serverul problematic introduceți descrierea imaginii aici
  • Pe serverul care funcționează introduceți descrierea imaginii aici
drapel in
Nici măcar activarea TLS 1.2 nu vă ajută, deoarece Windows 2012 R2 nu acceptă cifrurile suportate de API.nuget.org. Serverul API necesită [cifre bazate pe RSA](https://www.ssllabs.com/ssltest/analyze.html?d=api.nuget.org&s=2620%3a1ec%3a46%3a0%3a0%3a0%3a0%3a69) iar acestea pur și simplu nu sunt prezente și, prin urmare, nu pot fi activate https://docs.microsoft.com/en-us/answers/questions/227738/windows-server-2012-r2-tls-12-cipher-suites.html
drapel cn
@Robert, așa cum am spus, am un alt server care este, de asemenea, pe Windows 2012 R2, API-ul este accesibil, cum este posibil dacă este o problemă de cifrare neacceptată? Acesta este motivul pentru care sunt atât de confuz și pierdut, funcționează pe un server și nu pe altul
drapel cn
Nu văd unde este legat de TLS 1.2.
drapel cn
@GregAskew vezi captura de ecran din IE (a doua captură de ecran)
Puncte:0
drapel se

Reputația mea este foarte scăzută, așa că trebuie să scriu un răspuns.

Mesajul browserului poate induce în eroare

Ar trebui să validați Dacă DNS rezolvă aceeași țintă și dacă clientul detectează orice fel de proxy.

Acestea pot fi o inspecție de pachete de către firewall, poate cu un proxy transparent.

Validați ce răspuns obțineți cu s_client în openssl: https://stackoverflow.com/questions/7885785/using-openssl-to-get-the-certificate-from-a-server

Utilizați DeveloperTools în browser pentru a arunca o privire la „Rețea” și a vedea unde a fost trimisă solicitarea dvs. (poate prin proxy) și ce răspuns ați primit.

Dezactivați unele verificări SSL/TLS în Powershell: https://stackoverflow.com/questions/34331206/ignore-ssl-warning-with-powershell-downloadstring

Validați că ambele au aceeași configurație de rețea în ceea ce privește IPv6. Poate că unul dintre ei se conectează la un alt server din cauza asta.

EDITARE: măcar faceți verificarea openssl pentru a vă asigura că puteți obține certificatul corect. Dezactivați Verificarea SSL/TLS pentru Powershell și testarea ar ajuta fie pentru a fi sigur de problemă.

drapel cn
ambele servere sunt într-un DMZ și singura diferență dintre ele este că unul rulează IIS și altul nu
drapel se
Acesta nu ar trebui să fie motivul, deoarece nu pot să vă produc problema în alte medii. Politicile de firewall pot fi diferite pentru servere.
drapel cn
Am cerut echipei de server să verifice politicile de firewall dintre servere.
Puncte:0
drapel cn

Deci, după ore de depanare, am reușit în sfârșit să rezolv problema și să fac API-ul accesibil de pe serverul nostru prin TLS 1.2.

Avem .net framework pe serverul nostru, care a avut probleme la accesarea API-ului. Microsoft recomandă să setăm următorul registry pentru a forța SystemDefaultTlsVersions

Windows Registry Editor versiunea 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727]
„SystemDefaultTlsVersions”=dword:00000001
„SchUseStrongCrypto”=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319]
„SystemDefaultTlsVersions”=dword:00000001
„SchUseStrongCrypto”=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
„SystemDefaultTlsVersions”=dword:00000001
„SchUseStrongCrypto”=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
„SystemDefaultTlsVersions”=dword:00000001
„SchUseStrongCrypto”=dword:00000001

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.