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

แยกข้ออ้างทั้งสามออกจากกัน

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

เขียนข้ออ้างเป็นประโยคเดียวก่อนจะค้นหา หากประโยคไม่สามารถระบุว่าอะไรเสีย การค้นหาก็ไม่มีเป้าหมายและทุกผลลัพธ์ดูเกี่ยวข้อง

ClaimEvidence that settles itWho owns the change
Software defectAdvisory naming affected versionsPackage or product maintainer
Provider buildRelease notes for that clientThe provider
Profile omissionThe configuration actually loadedWhoever owns the profile

หาไฟล์ที่เรียกใช้ซึ่งทำงานจริง

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

systemctl cat openvpn-client@*.service
ps -o pid,cmd -C openvpn
apt-cache policy openvpn network-manager-openvpn

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

หลักฐานจากแพ็กเกจแทนความรู้สึกเรื่องเวอร์ชัน

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

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

การกำหนดค่าคืออีกครึ่งหนึ่ง

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

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

ตัดสินด้วยหลักฐานในบันทึก

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

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

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