Score:0

หมายเหตุหน้าคน OpenSSH ChrootDirectory เกี่ยวกับความปลอดภัย

ธง in

ในหน้าคน sshd_config(5) ในระบบของฉัน ฉันพบคำพูดนี้ในส่วนเกี่ยวกับ ChrootDirectory:

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

มีทุกที่ที่ฉันสามารถอ่านเกี่ยวกับช่องโหว่ที่เกี่ยวข้องได้หรือไม่ หากกระบวนการภายนอกบางอย่างแก้ไขลำดับชั้นของไดเร็กทอรี

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

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

ฉันสงสัยว่ากรณีการใช้งานง่ายๆ นี้อาจนำไปสู่ช่องโหว่บางอย่างด้วยหรือไม่ - ควรค่าแก่การพิจารณาอย่างยิ่ง!

Score:2
ธง cn

เดอะ ไดเร็กทอรี chroot ต้องใช้ ราก เจ้าของและกลุ่ม ("เมื่อเริ่มต้นเซสชัน sshd(8) ตรวจสอบว่าส่วนประกอบทั้งหมดของชื่อพาธเป็นไดเร็กทอรีที่เป็นของรูท ซึ่งผู้ใช้หรือกลุ่มอื่นไม่สามารถเขียนได้")

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

drwxr-xr-x ราก ราก /var/chrootdir
drwxrwxr-x กลุ่มกระบวนการรูต /var/chrootdir/sftpdrop

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

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

in flag
"หากไม่สามารถเชื่อถือกระบวนการในการบันทึกไฟล์ไปยังตำแหน่งได้ อาจใช้กระบวนการอื่น แม้กระทั่งงาน cron เพื่อบันทึกไฟล์ในไดเร็กทอรีการถ่ายโอน" นี่คือสิ่งที่ฉันคิดไว้ - การไหลของข้อมูลทางเดียวจากระบบไปยังโลกภายนอก ซึ่งสูบฉีดจากกระบวนการในระบบที่กว้างขึ้น นั่นเป็นเหตุผลที่ฉันถาม - ข้อความในเอกสารค่อนข้างเป็นระดับสูงและโดยทั่วไปในเงื่อนไขล่วงหน้า แต่ค่อนข้างชัดเจนในสิ่งที่ควรทำ (เช่น อย่าให้กระบวนการภายนอกเข้าถึงลำดับชั้น)
Paul avatar
cn flag
คำถามของคุณคืออะไร?
in flag
"มีทุกที่ที่ฉันสามารถอ่านเกี่ยวกับช่องโหว่ที่เกี่ยวข้องได้หรือไม่ หากกระบวนการภายนอกบางอย่างทำการแก้ไขลำดับชั้นของไดเร็กทอรี"

โพสต์คำตอบ

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