ใบรับรอง SSL สำหรับที่อยู่ IP สาธารณะหรือไม่


10

ฉันเพิ่งลองซื้อ Comodo Positive SSL แต่ถูกปฏิเสธเนื่องจากไม่สนับสนุนที่อยู่ IP สาธารณะ แต่แทนที่จะสนับสนุนชื่อโดเมนเท่านั้น

ไม่มีใครรู้จักผู้ให้บริการใบรับรอง SSL ที่สนับสนุนที่อยู่ IP สาธารณะแทนชื่อโดเมนหรือไม่

บริษัท ของฉันมีเซิร์ฟเวอร์เฉพาะที่โฮสต์กับ บริษัท เว็บโฮสติ้งซึ่งใช้สำหรับเรียกใช้ตัวติดตามบั๊กสำหรับโครงการหลายโครงการ (สำหรับลูกค้าหลายราย) เนื่องจากใช้สำหรับนักติดตามบั๊กเราจึงไม่ต้องการชื่อโดเมน (ลูกค้าของเราเข้าถึงได้โดยพิมพ์ IP สาธารณะในเบราว์เซอร์)


2
ฉันจะตั้งชื่อโดเมนเพื่อที่คุณจะได้ไม่ต้องจดจำที่อยู่ IP เมื่อคุณอยู่ในสถานที่ที่คุณไม่มีบุ๊กมาร์ก นอกจากนี้เมื่อคุณเปลี่ยน IP มันจะโปร่งใส
Mark Wagner

คำตอบ:


16

ฉันคิดว่าคุณสามารถทำได้ แต่ไม่ใช่วิธีที่คุณพยายามทำ

ใบรับรอง SSL เป็นคำสั่งที่เชื่อมโยงคีย์การเข้ารหัสสาธารณะกับโครงสร้าง X.500 ซึ่งรวมถึงองค์ประกอบ CN หรือชื่อสามัญ ใบรับรองที่ลงนามนั้นเป็นสิ่งที่ผู้ใช้รับรองบุคคลที่สามได้รับการรับรองการผูกมัดโดยใช้กุญแจสาธารณะที่ผู้ใช้ปลายทางรู้จักแล้ว (สแต็กของใบรับรองผู้ออกใบรับรอง (CA) ที่อาศัยอยู่ในเบราว์เซอร์ของคุณ)

เมื่อคุณเยี่ยมชมเว็บไซต์ที่มีการรักษาความปลอดภัย SSL ด้วยเบราว์เซอร์ CN ที่เซ็นชื่อจะถูกรู้จักในเบราว์เซอร์ สิ่งที่เบราว์เซอร์เลือกใช้จะขึ้นอยู่กับเบราว์เซอร์ เบราว์เซอร์ที่ฉันทราบจะเปรียบเทียบกับชื่อโฮสต์ที่ขอและข้อผิดพลาดหากแตกต่างกัน (หรือหากการเชื่อมโยงที่ได้รับการรับรองนั้นไม่สามารถทำการวิเคราะห์ได้เช่นใบรับรองการเซ็นชื่อไม่รู้จักกับเบราว์เซอร์ ล้าสมัย แต่นั่นเป็นปัญหาที่ต่างออกไป) ตามหลักการแล้วไม่มีอะไรขัดขวางคุณจากการได้รับใบรับรองที่ลงนามต่อสาธารณชนโดยที่ CN คือที่อยู่ IP ไม่ใช่ FQDN (ชื่อโดเมนที่ผ่านการรับรอง) [1] แต่นั่นจะไม่ทำให้เบราว์เซอร์เปรียบเทียบ CN กับ IP อย่างน่าอัศจรรย์ ที่อยู่แทนด้วยชื่อโฮสต์ที่ร้องขอ

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

จากนั้นคุณอาจมีปัญหาที่สองที่คุณต้องการเรียกใช้เว็บไซต์ NameVirtualHost จำนวนมากบนที่อยู่ IP เดียว สิ่งนี้เคยเป็นอดีตที่ผ่านมาไม่ได้เนื่องจากการเจรจา SSL (ต่างจาก TLS) เกิดขึ้นก่อนสิ่งอื่นใดในการเชื่อมต่อ กล่าวคือ CN ที่ฝังตัวอยู่ในใบรับรองของคุณเป็นที่รู้จักและใช้โดยลูกค้าก่อนที่ลูกค้าจะสามารถพูดได้ว่าโฮสต์ใดที่พวกเขากำลังพยายามเชื่อมต่อ

เมื่อเร็ว ๆ นี้มีการแนะนำส่วนขยายโปรโตคอลที่ชื่อ SNI (บ่งชี้ชื่อเซิร์ฟเวอร์) ซึ่งช่วยให้ไคลเอนต์และเซิร์ฟเวอร์ระบุว่าพวกเขาต้องการทำสิ่งที่ชื่อโฮสต์ก่อนที่จะนำเสนอใบรับรอง SSL ทำให้ถูกต้องหนึ่งชุด ของใบรับรองที่จะได้รับจากเซิร์ฟเวอร์ เห็นได้ชัดว่าสิ่งนี้ต้องการ apache 2.2.10 เวอร์ชันล่าสุดของ OpenSSL ที่เพียงพอและการสนับสนุนฝั่งไคลเอ็นต์(ที่สำคัญ )

ดังนั้นถ้าฉันต้องทำสิ่งที่คุณพยายามจะทำฉันจะดูการทำใบรับรอง CA ของตัวเองบอกผู้ใช้ของฉันว่าพวกเขาต้องใช้เบราว์เซอร์ที่สนับสนุน SNI และนำเข้าใบรับรอง CA หลักของฉันและตัดและ การลงนามใบรับรอง SSL ของฉันเองสำหรับแต่ละเว็บไซต์ Bugtrack

[1] โอเคคุณอาจไม่พบใครที่จะทำ แต่นั่นคือรายละเอียดการใช้งาน สิ่งที่ฉันพยายามแสดงที่นี่คือแม้ว่าคุณทำมันจะไม่แก้ปัญหาของคุณ


4
สำหรับแอปพลิเคชันที่เฉพาะเจาะจงทำไมไม่ หากผู้ให้บริการแอปพลิเคชั่นสร้างขึ้นและคุณไม่ไว้ใจเขาคุณจะรู้สึกผิดกับแอปพลิเคชันนี้เนื่องจากเขามีคีย์ SSL ส่วนตัวและสามารถถอดรหัสสิ่งต่าง ๆ ได้ และถ้าสิ่งนั้นทำให้พวกเขากังวลอย่างมากเขาก็สามารถตัดใบรับรองที่ลงนามด้วยตนเองสำหรับแต่ละไซต์ buqtrack ของเขาและพวกเขาสามารถนำเข้าได้ตามความต้องการ
MadHatter

2
@Tom - หากคุณไม่ไว้วางใจผู้เสนอใบรับรองในตัวอย่างข้างต้นทำไมคุณถึงต้องทำธุรกิจกับพวกเขาตั้งแต่แรก การรับรอง SSL ออกโดย / ด้วยการสนับสนุน / รู้จัก CA หรือไม่นั้นเป็นสิ่งที่คุณกังวลน้อยที่สุดสำหรับ WRT ที่ไว้วางใจหากคุณมอบข้อมูลให้กับแอพ 'ออนไลน์'
Rob Moir

2
ฉันเข้าใจว่าความกลัวคือดูเหมือนว่าจะไม่มีวิธีในการติดตั้ง CA ในเชิงสิทธิ์สำหรับบางโดเมนเท่านั้นเมื่อพวกเขาติดตั้ง CA root ของฉันฉันสามารถรับรองไซต์ธนาคารออนไลน์ได้อย่างง่ายดายเหมือนกับแอปพลิเคชันติดตามข้อผิดพลาดของฉันเอง ถ้าฉันสามารถวางยา DNS แคชของพวกเขาฉันสามารถทำการโจมตีคนกลางในธนาคารออนไลน์ของพวกเขาได้ ถ้าสิ่งนี้เป็นปัญหาพวกเขาจริงๆและพวกเขาไม่ต้องการใช้เบราว์เซอร์ที่กำหนดเองสำหรับโครงการนี้ตามที่ฉันได้กล่าวไว้ข้างต้นฉันสามารถตัดใบรับรองที่ลงนามด้วยตนเองสำหรับนักติดตามบั๊กแต่ละคนซึ่งลูกค้าสามารถติดตั้งได้ตามต้องการ
MadHatter

1
ทอมที่จริงผมเห็นด้วยกับว่าเหตุผลเพื่อต้องการที่จะใช้ 'ที่เชื่อถือได้' ใบรับรอง อันที่จริงฉันเห็นด้วยกับมัน 100% อย่างไรก็ตามนั่นไม่ใช่ความคิดเห็นดั้งเดิมของคุณ
Rob Moir

1
เผาชื่อโดเมนหรือไม่ ภาษาแม่ของฉันไม่ใช่ภาษาอังกฤษคุณสามารถอธิบายได้ไหม นอกจากนี้เจ้านายของฉันต้องการใช้ IP สาธารณะบางทีเขาอาจไม่ต้องการให้เว็บไซต์นั้นถูกค้นพบโดยเสิร์ชเอ็นจิ้น (สามารถเสิร์ชเอ็นจิ้นหาเว็บไซต์ได้แม้ว่ามันจะไม่มีชื่อโดเมน)
serial engine

10

มีอยู่คนหนึ่ง Root Certificate Authority ฉันรู้ว่ามันเป็นก่อนมีประชากรที่มีเบราว์เซอร์ทั้งหมดที่สำคัญและปัญหาใบรับรอง SSL ที่อยู่ IP สาธารณะ: ดูที่GlobalSign พวกเขาอ่านข้อมูล RIPE เพื่อตรวจสอบการร้องขอใบรับรองของคุณดังนั้นคุณอาจต้องการตรวจสอบก่อนว่ารายการ RIPE ออกในชื่อที่ถูกต้อง

เกี่ยวกับข้อเสนอแนะรายการนี้ได้รับ:

ใช่มันจะดีกว่าถ้าซื้อชื่อโดเมนและออกใบรับรอง SSL ใน CN นั้น นอกจากนี้ยังแพงน้อยกว่าตัวเลือก GlobalSign ด้านบน

แต่มีหลายกรณีที่ใบรับรอง SSL ที่มี IP สาธารณะเนื่องจาก CN มีประโยชน์ ผู้ให้บริการอินเทอร์เน็ตและรัฐบาลหลายรายบล็อกเว็บไซต์ที่ไม่ต้องการโดยใช้โครงสร้างพื้นฐาน DNS หากคุณเสนอไซต์บางประเภทที่น่าจะถูกปิดกั้นเช่นด้วยเหตุผลทางการเมืองเป็นตัวเลือกที่ดีในการเข้าถึงเว็บไซต์นี้ผ่านที่อยู่ IP สาธารณะ ในเวลาเดียวกันคุณจะต้องการเข้ารหัสปริมาณการใช้งานสำหรับผู้ใช้เหล่านั้นและคุณไม่ต้องการให้ผู้ใช้ที่ไม่ใช่ผู้ใช้เทคโนโลยีต้องผ่านความยุ่งยากในการคลิกผ่านคำเตือนการรักษาความปลอดภัยข้อยกเว้นของเบราว์เซอร์ (เพราะ CN ของใบรับรองไม่ตรงกัน ของจริงเข้ามา) การทำให้พวกเขาติดตั้ง Root CA ของคุณเองเป็นเรื่องที่ยุ่งยากและไม่สมจริง


สะดุดตา "เซิร์ฟเวอร์เฉพาะที่โฮสต์กับ บริษัท เว็บโฮสติ้ง" แทบจะไม่ได้ RIP enty ของตัวเอง แต่สุทธิโดยรอบจะมีรายการ RIPE (เกี่ยวกับ บริษัท โฮสติ้ง)
Hagen von Eitzen

1

ไปข้างหน้าและซื้อชื่อโดเมน พวกเขาถูกไม่ต้องถูกกว่านั้น คุณต้องการเพียงหนึ่ง อาจเป็นเพียงแค่ตั้งค่า bugtracker.yourcompany.com

จากนั้นสำหรับตัวติดตามแต่ละตัวให้ตั้งค่าโดเมนย่อยสำหรับชื่อนั้น รับใบรับรอง SSL สำหรับแต่ละโดเมนย่อยเหล่านั้น เนื่องจากคุณไม่ชอบต้นทุนเป็นพิเศษ บริษัท ที่คุณต้องการทำธุรกิจจึงมีชื่อว่า StartSSL

http://www.startssl.com/

เหตุผลที่คุณต้องการใช้เนื่องจาก (นอกเหนือจากการได้รับความไว้วางใจจากเบราว์เซอร์หลัก) ใบรับรองของพวกเขาจะไม่เสียค่าใช้จ่ายแขนและขา ประเภทของใบรับรองขั้นพื้นฐานที่สุดคือจริงๆแล้วสุจริตไม่มีอึฟรี พวกเขาตรวจสอบตัวตนของคุณแล้วให้คุณออกมากเท่าที่คุณต้องการ หากคุณต้องการใบรับรองนักเล่น (โดยปกติจะมีราคาหลายร้อยเหรียญ) คุณกำลังดูอยู่ที่ประมาณ $ 50 เป็นเวลา 2 ปีเพื่อรองรับ SSL สำหรับหลายโดเมนใน IP เดียว

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


1
ฉันไม่คิดว่าฉันเข้าใจเช่นนั้น ใบรับรอง SSL ที่ออกอย่างถูกต้องเป็นโทเค็นที่ระบุตัวเองทั้งหมด หน่วยงานรับรองไม่ได้ให้บริการใด ๆ หลังจากเกิดปัญหา ไซต์ของฉันปลอดภัยด้วยใบรับรอง RapidSSL แต่ถ้าพวกเขาไปไม่ถึงวันพรุ่งนี้ใบรับรองของฉันก็จะมีผลเหมือนตอนนี้
MadHatter

2
มีลูกค้าของคุณกี่รายที่จะทำการตรวจสอบความสมบูรณ์ของผู้ให้บริการ SSL ของคุณ พวกเขาต้องการขุดก่อนที่พวกเขาจะรู้ว่าพวกเขากำลังทำธุรกิจกับ บริษัท ที่ทำธุรกิจกับ บริษัท อิสราเอล ดังที่ MadHatter กล่าวว่าความไม่มั่นคงทางการเมืองมีน้อยมากที่จะทำกับใบรับรองของคุณว่าถูกต้องหรือไม่ เมื่อออกแล้วจะมีผลจนกว่าจะหมดอายุหยุดเต็ม แต่มันก็เจ๋งถ้าคุณต้องการจ่ายเงินที่ไร้สาระให้ผู้รับจดทะเบียนอื่นสำหรับสิ่งที่ไม่ซับซ้อนทางเทคนิค SSL certs เป็นหนึ่งในการหลอกลวงที่ไร้สาระที่สุดเท่าที่เคยมีมา
Paul McMillan

2
เฮ้สิ่งที่ต้องทำก็แค่ไคลเอนต์เดียวเท่านั้นที่จะพัดมันออกไป ขออภัยเนื่องจากฉันไม่ชัดเจนตั้งแต่ต้น ประเทศของฉันไม่อนุญาตให้คนทำธุรกิจกับอิสราเอล นั่นคือทั้งหมดที่
เครื่องยนต์อนุกรม

1
ใช่ว่าจะมีประโยชน์มากกว่าที่จะพูด SSL SSL มีราคาแพงโดยไม่จำเป็น แต่ในระดับของการทำธุรกิจค่าใช้จ่ายเกือบจะไม่มีอะไร
Paul McMillan

2
"เมื่อเผยแพร่แล้วจะใช้ได้จนกว่าจะครบหยุดเต็ม" เว้นแต่จะมีข้อมูลการเพิกถอนถูกเพิกถอนและลูกค้าบังคับใช้การตรวจสอบการเพิกถอน และแคลิฟอร์เนียที่อยู่ภายใต้อาจถูกบังคับให้เพิกถอนการร้องทั้งหมดของพวกเขา เพียงแค่พูดว่า
Ryan Bolger
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.