Score:0

ปัญหา Windows Server 2012 R2 TLS 1.2

ธง cn

ฉันประสบปัญหากับ TLS 1.2 บน Windows Server 2012 R2 ของฉัน (เว็บเซิร์ฟเวอร์แอปพลิเคชัน,IIS) ซึ่งฉันไม่สามารถเข้าถึงได้ https://api.nuget.org/v3/index.json ผ่าน Internet Explorer แม้ว่าฉันจะเห็นว่าเปิดใช้งาน TLS 1.2 แล้วก็ตาม

ฉันมีเซิร์ฟเวอร์อื่นที่มีระบบปฏิบัติการเดียวกันและอัปเดตระบบปฏิบัติการเดียวกัน (แต่ไม่มี IIS) และเซิร์ฟเวอร์นี้ไม่มีปัญหาในการเข้าถึง API หรือจุดสิ้นสุดอื่นใดด้วย TLS 1.2)

บนเซิร์ฟเวอร์ที่มีปัญหา ฉันได้ลองทำสิ่งต่อไปนี้:

  1. ใช้ IISCrypto เพื่อเปิดใช้งานทุกอย่าง -> เริ่มใหม่ -> ล้มเหลว
  2. เปลี่ยนการตั้งค่า Registry ด้วยตนเองตามเอกสารประกอบของ Microsoft - https://docs.microsoft.com/en-us/mem/configmgr/core/plan-design/security/enable-tls-1-2 - ล้มเหลว
  3. ใช้สคริปต์ต่อไปนี้เพื่อรีเซ็ตและเปิดใช้งานเฉพาะ TLS 1.2 เท่านั้น - https://www.hass.de/content/setup-microsoft-windows-or-iis-ssl-perfect-forward-secrecy-and-tls-12 - ล้มเหลว

ในเวลานี้ ฉันใช้เวลากว่า 3 วันเพื่อพยายามแก้ปัญหาและดูว่าปัญหาระหว่างเซิร์ฟเวอร์ทั้งสองนี้คืออะไร ทำไมเซิร์ฟเวอร์ที่ใช้ windows เครื่องหนึ่งจึงทำงานได้ และอีกเครื่องหนึ่งไม่ทำงาน

ยินดีรับคำแนะนำ ขั้นตอนการแก้ปัญหา หรือเครื่องมือใดๆ!

ภาพหน้าจอ ป้อนคำอธิบายรูปภาพที่นี่

  • ผ่าน Nuget CLR
  • บนเซิร์ฟเวอร์ที่มีปัญหา ป้อนคำอธิบายรูปภาพที่นี่
  • บนเซิร์ฟเวอร์ที่ใช้งานได้ ป้อนคำอธิบายรูปภาพที่นี่
in flag
แม้แต่การเปิดใช้งาน TLS 1.2 ก็ไม่สามารถช่วยคุณได้ เนื่องจาก Windows 2012 R2 ไม่รองรับการเข้ารหัส API.nuget.org เซิร์ฟเวอร์ API ต้องการ [การเข้ารหัสตาม RSA](https://www.ssllabs.com/ssltest/analyze.html?d=api.nuget.org&s=2620%3a1ec%3a46%3a0%3a0%3a0%3a0%3a69) และสิ่งเหล่านั้นไม่มีอยู่ ดังนั้นจึงไม่สามารถเปิดใช้งาน https://docs.microsoft.com/en-us/answers/questions/227738/windows-server-2012-r2-tls-12-cipher-suites.html
cn flag
@Robert อย่างที่ฉันระบุไว้ ฉันมีเซิร์ฟเวอร์อื่นซึ่งอยู่บน Windows 2012 R2 API ด้วยเช่นกัน เป็นไปได้อย่างไรหากเป็นปัญหาการเข้ารหัสที่ไม่รองรับ นี่คือเหตุผลที่ฉันสับสนและหลงทางมาก ทำงานบนเซิร์ฟเวอร์หนึ่งและไม่ได้อยู่ในอีกเซิร์ฟเวอร์หนึ่ง
cn flag
ฉันไม่เห็นว่าสิ่งนี้เกี่ยวข้องกับ TLS 1.2
cn flag
@GregAskew ดูภาพหน้าจอจาก IE (ภาพหน้าจอที่ 2)
Score:0
ธง se

ชื่อเสียงของฉันอยู่ในระดับต่ำดังนั้นฉันจึงต้องเขียนคำตอบ

ข้อความของเบราว์เซอร์อาจทำให้เข้าใจผิด

คุณควรตรวจสอบว่า DNS แก้ไขเป้าหมายเดียวกันหรือไม่ และไคลเอ็นต์ตรวจพบพร็อกซีประเภทใด

อาจเป็นการตรวจสอบแพ็กเก็ตโดยไฟร์วอลล์ อาจมีพร็อกซีโปร่งใส

ตรวจสอบการตอบสนองที่คุณได้รับจาก s_client ใน opensl: https://stackoverflow.com/questions/7885785/using-openssl-to-get-the-certificate-from-a-server

ใช้ DeveloperTools ในเบราว์เซอร์เพื่อดู "เครือข่าย" และดูว่าคำขอของคุณถูกส่งไปที่ใด (อาจผ่านพร็อกซี) และคุณได้รับการตอบสนองอย่างไร

ปิดใช้งานการตรวจสอบ SSL/TLS ใน Powershell: https://stackoverflow.com/questions/34331206/ignore-ssl-warning-with-powershell-downloadstring

ตรวจสอบว่าทั้งสองมีการกำหนดค่าเครือข่ายเดียวกันเกี่ยวกับ IPv6 บางทีหนึ่งในนั้นเชื่อมต่อกับเซิร์ฟเวอร์อื่นเพราะเหตุนั้น

แก้ไข: อย่างน้อยตรวจสอบ openssl เพื่อให้แน่ใจว่าคุณได้รับใบรับรองที่ถูกต้อง ปิดใช้งานการตรวจสอบ SSL/TLS สำหรับ Powershell และการทดสอบจะช่วยให้แน่ใจเกี่ยวกับปัญหา

cn flag
เซิร์ฟเวอร์ทั้งสองอยู่ใน DMZ และข้อแตกต่างระหว่างเซิร์ฟเวอร์ทั้งสองคือเซิร์ฟเวอร์หนึ่งใช้ IIS และอีกเซิร์ฟเวอร์หนึ่งไม่ได้ใช้งาน
se flag
นั่นไม่ควรเป็นเหตุผลที่ฉันไม่สามารถสร้างปัญหาของคุณในสภาพแวดล้อมอื่นได้ นโยบายไฟร์วอลล์อาจแตกต่างกันสำหรับเซิร์ฟเวอร์
cn flag
ฉันได้ขอให้ทีมเซิร์ฟเวอร์ตรวจสอบนโยบายไฟร์วอลล์ระหว่างเซิร์ฟเวอร์
Score:0
ธง cn

ดังนั้น หลังจากแก้ไขปัญหามาหลายชั่วโมง ในที่สุดฉันก็สามารถแก้ไขปัญหาและเข้าถึง API ได้จากเซิร์ฟเวอร์ของเราผ่าน TLS 1.2

เรามี .net framework บนเซิร์ฟเวอร์ของเราซึ่งมีปัญหาในการเข้าถึง API Microsoft ขอแนะนำให้เราตั้งค่ารีจิสทรีต่อไปนี้เพื่อบังคับใช้ SystemDefaultTlsVersions

ตัวแก้ไขรีจิสทรีของ Windows รุ่น 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

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา