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

อาการคือคำเตือนเรื่องสิทธิ์ ไม่ใช่การหยุดให้บริการ

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

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

จับคู่โหมดกับตัวตนของบริการ

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

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

ls -l /etc/openvpn/client/
stat -c '%U %G %a %n' /etc/openvpn/client/*.key
id openvpn

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

ค้นหาสำเนาที่โหมดไม่ได้ครอบคลุม

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

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

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

หลังการแก้ไข ตรวจสอบและหมุนเวียน

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

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

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