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

วลีรหัสเป็นของไฟล์

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

คู่มือ ssh-keygen ของ OpenSSH ครอบคลุมการจัดการวลีรหัส รวมถึงสวิตช์ -p ที่ตั้งวลีรหัสใหม่บนคีย์ที่มีอยู่แล้ว

สำหรับคีย์ที่มีอยู่ รูปแบบคำสั่งนั้นเรียบง่าย และมันเขียนไฟล์ใหม่:

ssh-keygen -p -f ~/.ssh/id_ed25519

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

สำเนาอยู่ได้นานกว่าแล็ปท็อปและอุโมงค์

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

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

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

การปลดล็อกย้ายความลับเข้าไปในเอเจนต์

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

ssh-agent จำกัดได้ว่าตัวตนจะถูกโหลดไว้นานเท่าใดผ่านตัวเลือก -t และการตั้งค่าของแต่ละตัวตนอาจเกินขอบเขตนั้นได้ จงเลือกนโยบายสำหรับเอเจนต์ที่คุณใช้งานจริง แทนที่จะสันนิษฐานว่าการตัดการเชื่อมต่อ VPN จะลืมคีย์ที่โหลดไว้ทุกตัว

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

ระบุสิ่งที่เอเจนต์ถืออยู่ในขณะนี้ก่อนและหลังการเปลี่ยนแปลง:

ssh-add -l

งานที่ไม่มีผู้ดูแลต้องมีแผนของตัวเอง

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

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

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

ตรวจสอบขอบเขตแยกจากกัน

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

สองคำสั่งตอบคำถามแรกและคำถามที่สาม:

ssh-keygen -y -f ~/.ssh/id_ed25519
ssh -v [email protected]

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

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