มีความเสี่ยงด้านความปลอดภัยในการเปิดเผยไฟล์ SSH known_hosts ของคุณหรือไม่


32

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


7
ทำไมไม่เพียงแทนที่ของจริงknown_hostsด้วยของปลอมระหว่างการนำเสนอ
สเวน

1
... หรือหากคุณไม่ได้ตรวจสอบลายนิ้วมือของโฮสต์ในครั้งแรกให้ใช้สิ่งที่ต้องการssh -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no user@hostเลี่ยงผ่านคำถามลายนิ้วมือและหลีกเลี่ยงการตรวจสอบกับ known_hosts ที่มีอยู่
Lekensteyn

@ ถึงไฟล์ known_hosts ไม่ได้เป็นส่วนหนึ่งของการนำเสนอต่อซอฟต์แวร์ที่ฉันแสดงให้เห็นในบางครั้งต้องการให้ฉันแก้ไข known_hosts ของฉัน ผู้ชมไม่จำเป็นต้องเห็นสิ่งนี้ (ดังนั้นฉันจะใช้การแก้ไขแบบตาบอดเนื่องจากผู้วิจารณ์หลายคนได้แนะนำไว้ที่นี่) แต่การแก้ไขไฟล์ fake known_hosts ปลอมก็ไม่สำเร็จตามเป้าหมายของฉัน
Matt Korostoff

คำตอบ:


43

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

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

แก้ไข: เพื่อหลีกเลี่ยงการแสดงไฟล์ known_hosts ของคุณฉันขอแนะนำให้คุณใช้ssh-keygenยูทิลิตี้นี้ ssh-keygen -R ssh1.example.orgเช่นลบคีย์ที่เชื่อถือได้สำหรับssh1.example.orgจาก known_hosts ของคุณ


15

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


คนตาบอดแก้ไข:
sed -i 25d .ssh/known_hostsจะลบบรรทัดที่ 25 โดยไม่ต้องใส่เนื้อหาใด ๆ บนหน้าจอ

HashKnownHosts
ระบุว่า ssh (1) ควรแฮชชื่อโฮสต์และที่อยู่เมื่อมีการเพิ่มลงใน ~ / .ssh / known_hosts ชื่อที่ถูกแฮชเหล่านี้อาจใช้งานได้ตามปกติโดย ssh (1) และ sshd (8) แต่พวกเขาจะไม่เปิดเผยข้อมูลที่ระบุว่าควรเปิดเผยเนื้อหาของไฟล์หรือไม่ ค่าเริ่มต้นคือ“ ไม่” โปรดทราบว่าชื่อและที่อยู่ที่มีอยู่ในไฟล์โฮสต์ที่รู้จักจะไม่ถูกแปลงโดยอัตโนมัติ แต่อาจถูกแฮชด้วยตนเองโดยใช้ ssh-keygen (1)


4
แทนการคำนวณจำนวนบรรทัดและลบมันด้วย sed ssh-keygen -R example.comคุณยังสามารถใช้
Lekensteyn

4
คุณยังสามารถใช้ssh-keygen -H -f ~/.ssh/known_hostsแฮชชื่อ / ที่อยู่ทั้งหมดในไฟล์
Barmar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.