การแก้ไขความปลอดภัยของ OpenVPN นั้นเกี่ยวกับการติดตั้งของคุณจริงหรือ
การแพตช์กับการกำหนดค่าเป็นข้ออ้างที่ต่างกัน ระบุไฟล์ที่เรียกใช้ แพ็กเกจที่อยู่เบื้องหลัง และการตรวจสอบที่โปรไฟล์ทำจริง
คำแนะนำให้แพตช์ไคลเอนต์เพื่อให้ตรวจสอบใบรับรองนั้นคลุมเครือเกินกว่าจะลงมือทำได้ อาจหมายถึงข้อบกพร่องซอฟต์แวร์ที่ได้รับการแก้ไขแล้ว การสร้างเก่าจากผู้ให้บริการรายใดรายหนึ่ง หรือโปรไฟล์ที่ไม่เคยขอการตรวจสอบนั้นเลย สิ่งเหล่านี้คือการเปลี่ยนแปลงที่แตกต่างกันสามอย่างซึ่งมีเจ้าของต่างกันสามราย การลงมือตามประโยคนั้นโดยไม่รู้ว่ากำลังเผชิญกับกรณีใดคือวิธีที่ไคลเอนต์ที่ทำงานอยู่ถูกแก้ไขโดยไม่มีเหตุผล
แยกข้ออ้างทั้งสามออกจากกัน
ข้อบกพร่องซอฟต์แวร์มีประกาศ เวอร์ชันที่ได้รับผลกระทบ และรุ่นที่แก้ไขแล้ว การสร้างของผู้ให้บริการมีช่องทางการเผยแพร่ของตัวเองและจังหวะการอัปเดตของตัวเอง การละเลยในโปรไฟล์ไม่มีทั้งสองอย่าง เพราะไฟล์ที่เรียกใช้ปกติดีและการกำหนดค่าขอน้อยกว่าที่คุณคิดไว้ จนกว่าข้ออ้างจะระบุหนึ่งในสามอย่างนี้ ก็ไม่มีอะไรให้ทดสอบ
เขียนข้ออ้างเป็นประโยคเดียวก่อนจะค้นหา หากประโยคไม่สามารถระบุว่าอะไรเสีย การค้นหาก็ไม่มีเป้าหมายและทุกผลลัพธ์ดูเกี่ยวข้อง
| Claim | Evidence that settles it | Who owns the change |
|---|---|---|
| Software defect | Advisory naming affected versions | Package or product maintainer |
| Provider build | Release notes for that client | The provider |
| Profile omission | The configuration actually loaded | Whoever owns the profile |
หาไฟล์ที่เรียกใช้ซึ่งทำงานจริง
ระบุว่าอะไรเริ่มการเชื่อมต่อก่อนจะดูเวอร์ชันใด บริการเผยแพร่ ปลั๊กอินเดสก์ท็อป และแอปของผู้ให้บริการอาจใช้ไฟล์ที่เรียกใช้หรือเอนจินต่างกัน เวอร์ชันที่พิมพ์โดยไบนารีใดก็ตามที่บังเอิญอยู่ในเส้นทางการค้นหาของเชลล์ไม่ใช่บัญชีทรัพย์สินของเครื่อง อ่านยูนิตหรือโปรเซสที่ทำการเชื่อมต่อจริง
systemctl cat openvpn-client@*.service
ps -o pid,cmd -C openvpn
apt-cache policy openvpn network-manager-openvpn
การสอบถามแพ็กเกจรายงานว่าเมทาดาทาท้องถิ่นคิดว่าอะไรติดตั้งอยู่และพร้อมใช้ และแคชนั้นอาจล้าสมัย จึงควรทำให้สดใหม่ก่อน รายงานนั้นยังไม่บอกว่าเซอร์วิสที่ทำงานอยู่โหลดไบนารีที่ติดตั้งเมื่อห้านาทีก่อนหรือไม่ เปรียบเทียบบันทึกแพ็กเกจกับโปรเซสที่เชื่อมต่อจริง
หลักฐานจากแพ็กเกจแทนความรู้สึกเรื่องเวอร์ชัน
การดูแลความปลอดภัยของดิสทริบิวชันมักพอร์ตการแก้ไขย้อนหลัง ดังนั้นเวอร์ชันต้นทางที่ดูเก่ากว่าอาจยังมีการแพตช์อยู่ ตรงกันข้ามก็จริงเช่นกัน แพ็กเกจจากรีโปที่ไม่คุ้นเคยไม่มีการอ้างสิทธิ์อัตโนมัติต่อการดูแลปัจจุบัน อ่านสถานะการสนับสนุนของรุ่น ไม่ใช่อ่านหมายเลขเวอร์ชัน
ความแตกต่างนั้นคือความแตกต่างระหว่างช่องว่างจริงกับตัวเลขที่ดูเก่าเท่านั้น บันทึกรีโปที่แพ็กเกจมาจาก เพราะสตริงเวอร์ชันเดียวกันอาจมาถึงผ่านช่องทางที่ต่างกันมากด้วยการสนับสนุนที่ต่างกันมาก
การกำหนดค่าคืออีกครึ่งหนึ่ง
ไฟล์ที่เรียกใช้ซึ่งได้รับการดูแลยังต้องมีโปรไฟล์ที่ขอการตรวจสอบที่คุณเชื่อว่ามีอยู่ แองเคอร์ความเชื่อถือ บทบาทที่ตั้งใจของอีกฝ่าย และชื่อเซิร์ฟเวอร์ที่คาดหวังเป็นการตัดสินใจที่เกี่ยวข้องแต่แยกจากกัน การตรวจสอบบทบาทไม่ใช่การตรวจสอบชื่อ และไม่มีอย่างใดแทนอีกอย่างได้ หากคำเตือนเกี่ยวกับการกำหนดค่า การแก้ไขเป็นของเจ้าของโปรไฟล์
อย่าติดตั้งแพตช์ตามอำเภอใจเพื่อชดเชยโปรไฟล์ที่ยังไม่ได้ตรวจสอบ และอย่าเพิ่มไดเรกทีฟเพื่อซ่อมข้อบกพร่องในการทำงานจริง ข้อผิดพลาดทั้งสองรู้สึกเหมือนความก้าวหน้า ซึ่งเป็นเหตุให้ทั้งสองยังเกิดขึ้น
ตัดสินด้วยหลักฐานในบันทึก
การตัดสินใจเป็นผลจากสิ่งที่คุณพิสูจน์ได้ แพ็กเกจที่ได้รับผลกระทบและมีเอกสารต้องได้รับการอัปเดตที่รองรับ แพลตฟอร์มที่ไม่รองรับต้องมีเส้นทางการย้าย และไคลเอนต์ของผู้ให้บริการต้องได้รับคำแนะนำจากผู้ให้บริการรายนั้น คำแนะนำที่กำกวมต้องมีประกาศและองค์ประกอบที่ได้รับผลกระทบก่อนจะใช้อะไรก็ตามเหล่านั้น
เก็บไคลเอนต์ที่ใช้งานอยู่ เวอร์ชันเต็ม ประกาศ และเจ้าของโปรไฟล์ไว้ด้วยกันในบันทึกการเปลี่ยนแปลง นั่นแข็งแกร่งกว่าการอ้างอิงบทเรียน และเป็นสิ่งที่คนถัดไปจะต้องใช้จริง