Score:0

ส่วนหัวของใบรับรอง SNI และ IIS

ธง cn

บริบท: เว็บไซต์ IIS ที่มีการกำหนดค่าส่วนหัวของชื่อโฮสต์และใบรับรอง TLS

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

  • ไคลเอนต์ (เบราว์เซอร์) ทำการค้นหา DNS
  • สร้างการเชื่อมต่อ TCP กับเซิร์ฟเวอร์
  • ไคลเอนต์ (เบราว์เซอร์) สร้างเพย์โหลด TLS ซึ่งรวม SNI ซึ่งเป็นชื่อไซต์และเริ่มจับมือกับเซิร์ฟเวอร์
  • เซิร์ฟเวอร์ค้นหาใบรับรองที่มีชื่อที่ระบุในรายการการรวมใบรับรองของไซต์และตอบกลับ
  • เมื่อสร้าง TLS แล้ว เว็บเซิร์ฟเวอร์ IIS จะกำหนดเส้นทางคำขอ HTTP ไปยังไซต์เฉพาะโดยใช้ค่าส่วนหัวของ HOST

ตามความเข้าใจของฉัน SNI เป็นข้อมูลพื้นฐานสำหรับเซิร์ฟเวอร์ในการค้นหาใบรับรองของไซต์

จะเกิดอะไรขึ้นหากหลังจากการจับมือ TLS ฉันแก้ไขส่วนหัวของโฮสต์ HTTP เพื่อกำหนดเป้าหมายไปยังเว็บไซต์อื่น เป็นไปได้ไหม ?

Lex Li avatar
vn flag
“ฉันแก้ไขส่วนหัวของโฮสต์ HTTP เพื่อกำหนดเป้าหมายไปยังเว็บไซต์อื่นจริง ๆ แล้ว” ยังไม่ชัดเจนพอ ถามตัวเองว่าคุณสามารถแก้ไขส่วนหัวของโฮสต์ได้จากที่ใด จากนั้นคุณควรเห็นความเป็นไปได้ที่แท้จริง โดยปกติแล้ว คุณสามารถแก้ไขส่วนหัวนั้นได้เฉพาะบนฝั่งเบราว์เซอร์ จากนั้นคุณจะสูญเสียการควบคุมเมื่อเบราว์เซอร์เข้าควบคุมและเริ่มต้นการเชื่อมต่อ TLS อีกครั้งกับไซต์อื่น
Score:0
ธง cz

RFC 6066 ส่วน 11.1 กล่าวว่าบางส่วน:

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

วิธีที่เว็บเซิร์ฟเวอร์ทำสิ่งนี้อาจแตกต่างกันไป ทั้ง Apache และ nginx ปฏิเสธการเชื่อมต่อดังกล่าวทันที แม้ว่า Apache จะมีตัวเลือกในการปิดสิ่งนี้ ไม่รู้ว่า IIS ทำอะไร แต่หวังว่ามันจะสมเหตุสมผล คุณสามารถทดสอบด้วยตัวเองได้ง่ายๆ

br flag
ประโยค "ที่อาศัยชื่อเหล่านี้เหมือนกัน" กำลังทำงานมากมายที่นี่ การเพิกเฉยต่อชื่อจาก SNI นั้นเพียงพอแล้วและดำเนินการเฉพาะส่วนหัว `Host:` เพื่อรับการใช้งานที่สอดคล้องกัน และความคาดหวังของฉันก็คือนี่เป็นบรรทัดฐานของเกตเวย์ TLS เฉพาะที่การเชื่อมต่อ TLS ไม่ถึงเซิร์ฟเวอร์ด้วยซ้ำ
Michael Hampton avatar
cz flag
@SimonRichter นอกเหนือจากปัญหาด้านความปลอดภัยแล้ว HTTP/2 ยังแตกออกเป็นหลายๆ วิธีในสถานการณ์นี้
br flag
ปัญหาด้านความปลอดภัยเพียงอย่างเดียวคือหากคุณใช้ SNI เพื่อกระจายการรับส่งข้อมูลไปยังหลายเครื่อง คุณสามารถส่งคำขอไปยังเครื่องที่ไม่ได้กำหนดค่าชื่อโฮสต์เฉพาะได้ ซึ่งเป็นภัยคุกคามที่ค่อนข้างต่ำ (แต่เป็นสิ่งที่น่ารำคาญที่สุดในการป้องกัน) . หากเครื่องเดียวกันยุติ TLS และประมวลผลคำขอ การละทิ้งชื่อจาก SNI จะไม่เปิดโปงพื้นที่โจมตีเพิ่มเติม สิ่งที่คุณทำได้คือพูดคุยกับโฮสต์ที่คุณสามารถพูดคุยด้วยโดยใช้ชื่อที่ถูกต้องใน SNI

โพสต์คำตอบ

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