ฉันมีเซิร์ฟเวอร์ Aและเซิร์ฟเวอร์ B (สำรองข้อมูล) และฉันสงสัยว่าถ้ามีคนบุกเข้าไปในเซิร์ฟเวอร์ A นี่อาจเป็นอันตรายได้หากเข้าสู่เซิร์ฟเวอร์ B หากฉันกำหนดค่าการเข้าสู่ระบบแบบไม่ใช้รหัสผ่านโดยใช้คีย์สาธารณะ ssh
ฉันพยายามตั้งค่า rsnapshot
ขอบคุณ
ฉันมีเซิร์ฟเวอร์ Aและเซิร์ฟเวอร์ B (สำรองข้อมูล) และฉันสงสัยว่าถ้ามีคนบุกเข้าไปในเซิร์ฟเวอร์ A นี่อาจเป็นอันตรายได้หากเข้าสู่เซิร์ฟเวอร์ B หากฉันกำหนดค่าการเข้าสู่ระบบแบบไม่ใช้รหัสผ่านโดยใช้คีย์สาธารณะ ssh
ฉันพยายามตั้งค่า rsnapshot
ขอบคุณ
คำตอบ:
ใช่นี่เป็นปัญหาอย่างหนึ่งของคีย์ SSH ที่ไม่มีรหัสผ่าน หากคุณเก็บคีย์ส่วนตัวบนเซิร์ฟเวอร์ A ที่อนุญาตให้คุณเชื่อมต่อกับเซิร์ฟเวอร์ B การเข้าถึงเซิร์ฟเวอร์ A นั้นเป็นการเข้าถึงเซิร์ฟเวอร์ B. ได้อย่างมีประสิทธิภาพ (ไม่ใช่การย้อนกลับไม่เป็นความจริง - การเข้าถึงเซิร์ฟเวอร์ B จะไม่ส่งผลให้ การประนีประนอมโดยทันทีของเซิร์ฟเวอร์ A สมมติว่าคุณไม่ได้ตั้งค่าคีย์ SSH เพื่ออนุญาตการลงชื่อเข้าใช้แบบไม่ใช้รหัสผ่านในทิศทางนั้น
มีบางสิ่งที่คุณสามารถทำได้เพื่อลดสิ่งนี้:
authorized_keys
ไฟล์ของคุณให้นำหน้าแต่ละคีย์ด้วย:command="<allowed command line here>",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty
8-9 ปีที่ผ่านมาฉันทำงานในสภาพแวดล้อมผู้ใช้ที่ใช้ร่วมกันกับผู้ใช้หลายร้อยคนในพื้นที่และการลงชื่อเข้าใช้ด้วยคีย์ SSH ถูกปิดใช้งานเนื่องจากไม่มีวิธีการบังคับใช้นโยบายรหัสผ่านบนคีย์ ตราบใดที่คุณควบคุมสถานการณ์ได้อย่างเต็มที่ปัจจุบันกุญแจ SSH นั้นดีกว่าการใช้รหัสผ่านอย่างแน่นอน
ใช่คำแนะนำส่วนใหญ่บนอินเทอร์เน็ตหยุดที่การใช้รหัสผ่าน ssh แบบไม่มีรหัสผ่านแทนที่จะให้มันทำงานได้อย่างปลอดภัย คู่มือนี้ทำงานได้ดีในการแสดงสิ่งที่สามารถทำได้เพื่อลดความเสี่ยง โดยทั่วไป (เพื่ออ้างอิงบทความ):
dnssync
ในแต่ละเครื่องcommand=
และfrom=
ตัวเลือกต่าง ๆ ในauthorized_keys
ไฟล์เพื่อ จำกัด คีย์ passphrase-lessssh-agent
แทนที่จะสร้างคีย์รหัสผ่านที่สองน้อยกว่ามีปัญหาสองสามอย่างเกี่ยวกับคีย์ ssh:
ไม่มีวิธีการยกเลิกคีย์จากส่วนกลาง
ไม่มีวิธีในการบังคับใช้นโยบายรหัสผ่านบนคีย์ (รหัสส่วนตัวของคุณเข้ารหัสและถ้าเป็นเช่นนั้นจะถูกเข้ารหัสด้วยรหัสผ่านที่ดีหรือไม่)
นี่คือปัญหาของ Kerberos ที่แก้ไขได้ มันแนะนำคนอื่น ๆ กล่าวคือมันมีความซับซ้อนมากขึ้นในการใช้และต้องการโครงสร้างพื้นฐานการจัดการผู้ใช้จริงในการปรับใช้และจัดการ
ไม่ว่าในกรณีใดแม้ว่า ssh authorized_keys จะอนุญาตให้มีการโจมตีประเภทมอร์ริสเวิร์มแต่ก็ยังดีกว่าบริการ. r และ telnet หลายไมล์ (ปีแสง)
ในทุกสภาพแวดล้อมที่ฉันสามารถควบคุมได้ฉันมักจะเป็น stickler ตัวจริง ๆ สำหรับสิทธิพิเศษขั้นต่ำสุดสำหรับบัญชีบริการ
ในกรณีนี้ฉันขอแนะนำให้ตรวจสอบให้แน่ใจว่าบัญชีผู้ใช้บนเซิร์ฟเวอร์ระยะไกลได้รับอนุญาตให้เรียกใช้ชุดปฏิบัติการขนาดเล็กที่กำหนดไว้แน่นเท่านั้น คุณสามารถใช้หลายบัญชีทางด้านระยะไกลและ sudo เพื่อทำสิ่งนี้ให้สำเร็จ
แม้ในกรณีนี้คุณยังคงมีข้อบกพร่องการเลื่อนระดับสิทธิ์ในท้องถิ่นดังนั้นจึงต้องพิถีพิถันและติดตามข้อบกพร่องด้านความปลอดภัยอย่างแน่นหนา