Score:0

รีเซ็ตการเชื่อมต่อสำหรับ HTTPS บน ADFS

ธง pl

ฉันได้ตั้งค่าเซิร์ฟเวอร์ windows ในกล่องเสมือนพร้อมเครือข่ายโฮสต์เท่านั้นเป็นสภาพแวดล้อมในห้องปฏิบัติการ ฉันมีปัญหาในการเข้าถึง HTTPS จากเครือข่ายโฮสต์เท่านั้น ฉันได้ตั้งค่าตัวควบคุมโดเมนและ ADFS บนเซิร์ฟเวอร์ Windows 2019 โดยใช้ใบรับรองที่ลงนามด้วยตนเองสำหรับ ADFS ต่อไปนี้คือการทดสอบบางอย่างที่ฉันทำเพื่อพยายามแยกปัญหา ฉันกำลังทดสอบกับ URL ข้อมูลเมตา /FederationMetadata/2007-06/FederationMetadata.xml

  • ถ้าฉันเปิด IE ใน VM และไปที่ตำแหน่งข้อมูลเมตาบน localhost ฉันจะได้รับข้อความ "ไซต์นี้ไม่ปลอดภัย" แต่สามารถข้ามคำเตือนและรับข้อมูลเมตาได้
  • หากฉันไปที่ IP ของอินเทอร์เฟซโฮสต์เท่านั้น IE จะแสดงข้อความว่า "ไม่สามารถเชื่อมต่ออย่างปลอดภัยไปยังหน้านี้" และไม่สามารถข้ามได้
  • ถ้าฉันขดจากโฮสต์ไปยังที่อยู่ IP ของโฮสต์เท่านั้นที่มีแฟล็ก -k ไปยังพอร์ต 443 ฉันจะได้รับการรีเซ็ตการเชื่อมต่อ
  • ถ้าฉันขดกับพอร์ต 80 บนโฮสต์เท่านั้น IP ฉันจะได้รับหน้า 404 ตามที่คาดไว้
  • ปิงทำงานได้ดีจากโฮสต์
  • Telnet จากโฮสต์ถึง 443 เชื่อมต่อ

ฉันได้ปิดการใช้งานไฟร์วอลล์ของ windows

ใบรับรองถูกสร้างขึ้นโดยใช้ PowerShell นี้

 $selfSignedCert = SelfSignedCertificateEx ใหม่ `
     -เรื่อง "CN=adfs.samlsecurity.com" `
     -ProviderName "Microsoft Enhanced RSA และ AES Cryptographic Provider" `
     -KeyLength 2048 -FriendlyName 'OAFED SelfSigned' -SignatureAlgorithm sha256 `
     -EKU "การรับรองความถูกต้องของเซิร์ฟเวอร์", "การรับรองความถูกต้องของลูกค้า" `
     -KeyUsage "KeyEncipherment, DigitalSignature" `
     - ส่งออก - StoreLocation "LocalMachine"

ดูเหมือนว่าจะมีการเชื่อมต่อเนื่องจากฉันได้รับหน้า HTTP 404 แต่ด้วยเหตุผลบางอย่าง ฉันจึงถูกปฏิเสธการเชื่อมต่อจาก 443 ฉันเดาว่ามีบางอย่างผิดปกติกับการตั้งค่า TLS บน windows แต่ฉันไม่สามารถเข้าใจได้

Jevgenij Martynenko avatar
us flag
โปรดตรวจสอบการกำหนดค่า HTTP Listener ของคุณโดยเรียกใช้คำสั่งต่อไปนี้: `netsh http show iplisten`, `netsh http show sslcert`
pl flag
https://gist.github.com/rasmusson/434490754d0f6c2ae3c05555d361f5f1
Score:0
ธง pl

พบแล้ว! ดูแพ็กเก็ตใน Wireshark ข้อแตกต่างเพียงอย่างเดียวระหว่างแพ็กเก็ตที่ได้รับการตอบกลับจากเซิร์ฟเวอร์และแพ็กเก็ตที่ไม่ได้รับคือการใช้ส่วนขยาย SNI ในไคลเอนต์ TLS สวัสดี

สิ่งนี้ทำให้ฉันค้นหา SNI และรีเซ็ตการเชื่อมต่อใน windows server ปรากฎว่าใช้คุณลักษณะ SNI เพื่อให้สามารถส่งมอบใบรับรองต่างๆ ตามชื่อเซิร์ฟเวอร์ recester ใน TLS SNI

โดยค่าเริ่มต้น ADFS จะไม่ลงทะเบียนใบรับรองสำรองสำหรับชื่อเซิร์ฟเวอร์อื่นนอกเหนือจาก localhost และ FQDN สำหรับ ADFS เมื่อฉันใช้ที่อยู่ IP สำหรับ ADFS ไม่มีใบรับรองใดๆ และเซิร์ฟเวอร์ปิดการเชื่อมต่อ

ฉันแก้ไขปัญหานี้ก่อนโดยการลงทะเบียนใบรับรองเริ่มต้นโดยใช้

netsh เพิ่ม sslcert ipport=0.0.0.0:442 appid='{<ADFS_GUID>}' certhash=<thumprint without space>

ต่อมาฉันแก้ไขโดยเพิ่ม FQDN และ IP ลงในไฟล์โฮสต์

โพสต์คำตอบ

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