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

แฟล็กสามตัวครอบคลุมเกือบทุกกรณี และการตัดสินใจคือเรื่องของเวลาเริ่มต้นการเชื่อมต่อ

แฟล็กความลับสามตัว สามพฤติกรรม

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

FlagWhere it livesWorks unattended
0 savedConnection profileYes, if the store is readable
1 agent-ownedSecret agent or keyringOnly if that agent is available
2 not-savedNowhereNo

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

ตัดสินใจจากเวลาเริ่มต้นการเชื่อมต่อ

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

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

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

สิ่งที่พวงกุญแจให้และไม่ให้

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

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

การวินิจฉัยโดยไม่ระบายความลับ

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

หลีกเลี่ยง --show-secrets ในตั๋วและแชต เมื่อวางแล้ว มันคือข้อมูลรับรองในบันทึกการสนทนา

การจัดเก็บไม่ใช่การเพิกถอน

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

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

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