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

เริ่มจากไดเรกทีฟ ไม่ใช่จากชื่อไฟล์

อ่านการกำหนดค่าที่ใช้งานอยู่และหาว่าไดเรกทีฟใดชี้ไปยังวัสดุที่เกี่ยวข้อง ตัวเลือก TLS ของ OpenVPN ใช้ ca สำหรับวัสดุใบรับรองที่เชื่อถือได้ cert สำหรับใบรับรองของเพียร์ภายใน และ key สำหรับคีย์ส่วนตัวที่เกี่ยวข้อง

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

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

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

ใบรับรอง CA ถูกออกแบบมาให้แชร์

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

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

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

คีย์เพียร์และความลับ tls-auth ไม่ใช่

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

ความลับ tls-auth เป็นสิ่งที่สาม เพิ่มการพิสูจน์ตัวตน HMAC รอบแพ็กเก็ตของช่องควบคุม เพื่อให้แพ็กเก็ตที่พิสูจน์ตัวตนไม่ถูกต้องถูกทิ้งก่อนการแลกเปลี่ยน TLS และไม่ใช่คีย์ส่วนตัวของเพียร์และไม่ใช่คีย์ที่เข้ารหัสข้อมูลแอปพลิเคชัน

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

ซ่อมบทบาทที่รั่ว ไม่ใช่บทบาทข้างเคียง

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

หากตัวตนของเพียร์ถูกเปิดเผย ให้ใช้กระบวนการเพิกถอนและการลงทะเบียนใหม่ของผู้ดูแลสำหรับตัวตนนั้น การเปลี่ยนรหัสผ่านของบัญชีที่ไม่เกี่ยวข้องไม่ได้ทำให้ใบรับรองที่ถูกคัดลอกเป็นโมฆะ และการสลับไฟล์ tls-auth ก็ไม่เช่นกัน

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

ตัดสินทราฟฟิกในอดีตตามเงื่อนไขของมันเอง

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

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

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

บทความที่เกี่ยวข้อง