Score:2

เหตุใด IE จึงแสดงป๊อปอัปใบรับรองเมื่อโหมดการรับรองความถูกต้องใน IIS ไม่ระบุชื่อ

ธง in

ฉันมีเว็บไซต์ที่ใช้งานบนเซิร์ฟเวอร์ IIS โหมดการรับรองความถูกต้องถูกตั้งค่าเป็นไม่ระบุชื่อ: เปิดใช้งาน

เมื่อฉันป้อน URL ของเว็บไซต์และกดปุ่ม Enter IE แสดงป๊อปอัปใบรับรองให้ฉันเลือกใบรับรอง ทำไมสิ่งนี้ถึงเกิดขึ้นได้?

Score:2
ธง br

เบราว์เซอร์ขอใบรับรองเนื่องจากเซิร์ฟเวอร์ส่งข้อความคำขอใบรับรองในระหว่างการจับมือ TLS

โดยปกติแล้ว ระบบจะส่งรายชื่อเฉพาะของ CA ที่มีใบรับรองที่จะยอมรับสำหรับการตรวจสอบสิทธิ์ รายการนี้โดยทั่วไปหมายถึง "ส่งใบรับรองการตรวจสอบไคลเอ็นต์ซึ่งออกโดยหนึ่งใน CA เหล่านี้ให้ฉัน". หากไม่ส่งรายการ ไคลเอ็นต์มีอิสระที่จะส่งใบรับรองการตรวจสอบไคลเอ็นต์ใดๆ ที่มี ซึ่งเซิร์ฟเวอร์อาจไม่เชื่อถือ นั่นจะเพิ่มภาระงาน/ความยุ่งยากของผู้ปฏิบัติงานที่ต้องทำงาน (เดา?) ว่าจะเลือกใบรับรองใด

ดังนั้นคุณจึงเห็นใบรับรองสามใบเนื่องจากคุณติดตั้งใบรับรองการรับรองความถูกต้องไคลเอ็นต์เพียงสามใบในเบราว์เซอร์ของคุณและรายการว่างเปล่า หรือคุณมีใบรับรองการตรวจสอบสิทธิ์ไคลเอ็นต์มากกว่าสามรายการในเบราว์เซอร์ของคุณ และรายการที่ส่งโดยเซิร์ฟเวอร์จะจำกัดการเลือกใบรับรองเหล่านั้น

รายละเอียดอยู่ใน RFC 5246 ส่วนที่ 7.4.4.

ตัวเลือกในการขอใบรับรองจากไคลเอ็นต์ได้รับการกำหนดค่าบนเซิร์ฟเวอร์ ดังนั้นคุณจะเห็นป๊อปอัปนี้เนื่องจากเซิร์ฟเวอร์ได้รับการกำหนดค่าให้ร้องขอใบรับรองไคลเอ็นต์

โปรดจำไว้ว่าสิ่งนี้จะเกิดขึ้นก่อนที่ทราฟฟิก HTTP จะไหล ดังนั้นการตั้งค่าต่างๆ เช่น การรับรองความถูกต้องแบบไม่ระบุชื่อ บน IIS จะไม่ส่งผลกระทบต่อสิ่งนี้เนื่องจากเกี่ยวข้องกับวิธีการรับรองความถูกต้องของผู้ใช้ผ่าน HTTP (ไม่มี, Kerberos, ชื่อผู้ใช้/รหัสผ่าน ฯลฯ) หลังจากตั้งค่าเซสชัน TLS แล้ว

เว็บเซิร์ฟเวอร์ส่วนใหญ่สามารถกำหนดค่าได้ด้วยการตั้งค่าที่แตกต่างกันสำหรับรูปแบบต่างๆ (http กับ https) พอร์ตต่างๆ (443, vs 8443) ชื่อ DNS ที่แตกต่างกัน (www.example.org vs app.example.org) หรือแม้แต่ไดเรกทอรีเสมือนต่างๆ (/ vs /myapp) ในระดับนี้จะพบการตั้งค่าเพื่อขอการรับรองความถูกต้องของไคลเอ็นต์

ในการรับรองความถูกต้องของไคลเอนต์ IIS ได้รับการกำหนดค่าภายใต้ การตั้งค่า SSL หน้าหนังสือ. ต้องการ SSL กำหนดว่าจะใช้ HTTPS หรือไม่ (ข้อมูลประจำตัวของเซิร์ฟเวอร์และการเข้ารหัส) และสามตัวเลือกด้านล่าง ใบรับรองลูกค้า กำหนดว่าเบราว์เซอร์จะต้องส่งใบรับรองการตรวจสอบสิทธิ์ไคลเอ็นต์หรือไม่ (คุณไม่สามารถมีใบรับรองหลังได้หากไม่มีใบรับรองเดิม เนื่องจากการตรวจสอบสิทธิ์ไคลเอ็นต์เป็นส่วนหนึ่งของ TLS (หรือ SSL)) มีความแตกต่าง การตั้งค่า SSL หน้าสำหรับแต่ละไซต์และสำหรับไดเรกทอรีเสมือนแต่ละรายการภายใต้ไซต์ หากคุณไม่ต้องการให้เซิร์ฟเวอร์ขอใบรับรองไคลเอ็นต์ ให้ตั้งค่านี้เป็น ไม่สนใจ ในพวกเขาทั้งหมด

in flag
แต่การไม่เปิดใช้งานการตรวจสอบสิทธิ์แบบไม่ระบุตัวตนจะแทนที่ตัวเลือกอื่นๆ ทั้งหมดใช่หรือไม่ มีเหตุผลใดในการเปิดใช้งานการพิสูจน์ตัวตนแบบไม่ระบุชื่อและต้องใช้ใบรับรองไคลเอ็นต์
de flag
ไม่ - ไม่ระบุชื่อคือตัวเลือกการตรวจสอบสิทธิ์ HTTP _default_ (และง่ายที่สุด) (คำขอทั้งหมดเริ่มต้นแบบไม่ระบุชื่อโดยค่าเริ่มต้น) _แต่คุณยังไม่ได้ใช้ HTTP_ - TLS จะเกิดขึ้นก่อนเพื่อสร้างช่อง (แทนที่จะเป็น TCP->HTTP เป็น TCP-> TLS->HTTP) จากนั้นคำขอ HTTP จะถูกสร้างผ่านช่องทางนั้น ข้อความแจ้งการตรวจสอบสิทธิ์ของคุณอยู่ที่การสร้าง TLS ไม่ใช่จาก HTTP (โปรดทราบว่าแผงการรับรองความถูกต้อง _isn't_ ที่คุณเห็นตัวเลือกการตรวจสอบสิทธิ์ TLS... มีไว้สำหรับวิธีการรับรองความถูกต้องที่ใช้ HTTP เท่านั้น)

โพสต์คำตอบ

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