SSH: คุณใช้คู่คีย์ส่วนตัว / สาธารณะสำหรับแต่ละเครื่องรีโมตหรือไม่? หรือคู่เดียวสำหรับทุกคน?


23

เมื่อคุณต้องการให้มีการเข้าสู่ระบบด้วยรหัสสาธารณะสำหรับเครื่องหลายเครื่องคุณจะใช้กุญแจส่วนตัวหนึ่งอันและใส่รหัสสาธารณะที่เหมือนกันในเครื่องทั้งหมดหรือไม่? หรือคุณมีคู่คีย์ส่วนตัว / สาธารณะสำหรับแต่ละการเชื่อมต่อ?


@Jim Zajkowski: ฉันไม่แน่ใจว่าจะตอบความคิดเห็นของคุณได้อย่างไร แต่สำหรับคุณแล้ว กล่องกระโดดอนุญาตการเข้าถึงเซิร์ฟเวอร์ที่อยู่ใน DMZ (หลังไฟร์วอลล์) สมมติว่าคุณมี "server_a" และ "server_b" A อยู่ในเครือข่ายและ B อยู่นอกเครือข่าย ลูกค้าภายนอกเชื่อมต่อกับ B การรับส่งข้อมูลที่ไปจาก A ถึง B จะต้องมีการควบคุมและกลับกัน ดังนั้นคุณเพิ่มกล่องกระโดดที่มีการ์ดเครือข่ายสองใบ หนึ่งที่เชื่อมต่อกับเครือข่ายภายใน (A) และหนึ่งที่เชื่อมต่อกับเครือข่ายภายนอก (B) ดังนั้นจาก A คุณไปที่กล่องกระโดดจากนั้นไปที่ B. ข้อดีอย่างหนึ่งของ

@IMTheNachoMan - ฉันได้แปลงคำตอบของคุณเป็นความคิดเห็นแล้วแม้ว่าที่ดีที่สุดสำหรับมันก็จะเป็นความคิดเห็นโดยตรงในคำตอบที่เก็บความคิดเห็นที่คุณกำลังตอบกลับอยู่ (นั่นทำให้ฉันรู้สึกเวียนหัว) หากคุณมีคำถามใด ๆ ให้ไปที่เมตาและถามไป ขอบคุณสำหรับการชี้แจงโดยไม่คำนึงถึง
Kara Marfia

คำตอบ:


27

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


4

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

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


2

หากฉันเข้าใจถูกต้องเซิร์ฟเวอร์แต่ละเครื่องจะมีกุญแจสาธารณะของตัวเอง

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

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

ทางเลือกอื่นที่ emplyed โดย บริษัท ขนาดใหญ่หลายแห่ง (และฉันแน่ใจว่าเล็กเกินไปเช่นกัน) คือไม่อนุญาตให้ "ผู้ใช้" ใช้คีย์ที่แบ่งปันล่วงหน้า แต่แทนที่จะลงชื่อเข้าใช้กล่อง "กระโดด" หรือ "ฮับ" , suให้กับผู้ใช้ในการเชื่อมต่อที่เหมาะสมแล้ว SSH จากที่นั่นไปยังเซิร์ฟเวอร์ที่พวกเขาจะต้องจัดการ

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


1
ทุกคนควรเก็บรหัสไว้เป็นความลับ คุณช่วยอธิบายถึงประโยชน์ด้านความปลอดภัยของ "กล่องกระโดด" เพราะฉันไม่เห็น
จิม Zajkowski

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

2
ความปลอดภัยประโยชน์ == 0 ในคำอื่น ๆ
womble

@ womble - อาจจะถูกต้อง แต่สิ่งที่ บริษัท หวาดระแวงจำนวนมากทำ ตั้งแต่suเซสชั่นถูกบันทึกไว้ แต่ก็สามารถตรวจสอบได้
วอร์เรน

1
เหตุใดจึงมีเฉพาะsuเซสชันที่ตรวจสอบได้และไม่ใช่เซสชันอื่น
João Portela

1

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

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


0

เพื่อความสะดวกในการจัดการเซิร์ฟเวอร์ที่มีความสามารถหลาย SSH คุณอาจต้องการที่จะตรวจสอบCssh คุณสามารถรวม cssh กับคีย์รหัสผ่าน SSH เพื่อเพิ่มความสามารถในการจัดการเซิร์ฟเวอร์หลายเครื่องพร้อมกันได้อย่างมาก


2
คุณจะจัดการกับ "Crazy bugs" ได้อย่างไรในการยกย่องให้เป็นห่วง?
womble

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

@Nick - จริง แต่มันก็เป็นกรณีที่ฉันรับผิดชอบ =) @womble - huh? คุณอ้างถึง "crazy bugs" อะไรบ้าง
Greeblesnort

1
ที่ด้านบนของหน้าโครงการคุณเชื่อมโยงกับ: "หมายเหตุ: ฉันจะกลับไปที่โครงการนี้ในไม่ช้าจริง ๆ เพื่อที่ฉันจะได้แก้ไขข้อผิดพลาดที่บ้าคลั่งในนั้น" ความจริงที่ว่าการแจ้งเตือนยังคงมีอยู่สองปีต่อมาไม่ได้เพิ่มความเชื่อมั่นของฉันในเรื่องนี้อีกต่อไป
womble
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.