nologin ใน / etc / shells เป็นอันตราย .. ทำไมล่ะ


21

ฉันพบสิ่งนี้ทางอินเทอร์เน็ตในขณะที่วางเซิร์ฟเวอร์ FTP ใน FreeBSD

การใส่ nologin ลงใน / etc / shells อาจสร้างประตูหลังซึ่งบัญชีเหล่านั้นสามารถใช้กับ FTP ได้

(ดู: http://osdir.com/ml/freebsd-questions/2005-12/msg02392.html )

มีใครอธิบายได้ไหมว่าเพราะเหตุใด และทำไมการคัดลอก nologin และนำไปวางไว้ใน / etc / shells จะช่วยแก้ปัญหานี้ได้?

คำตอบ:


23

/etc/shellsมีรายการไบนารีที่ระบบพิจารณาเชลล์ (ไม่ จำกัด ) นั่นหมายความว่าผู้ใช้ใด ๆ ที่กำหนดค่าหนึ่งในไบนารีเหล่านั้นเป็นเชลล์จะถือว่ามีการเข้าถึงระบบอย่างสมบูรณ์ (หมายถึงพวกเขาสามารถดำเนินการคำสั่งใด ๆ หากพวกเขามีสิทธิ์ที่เหมาะสม)

ผลลัพธ์ที่ตรงที่สุดคือพวกเขาสามารถใช้chshเพื่อเปลี่ยนเชลล์ที่กำหนดค่าไว้

หากผู้ใช้มีการกำหนดค่าเปลือกที่ไม่ได้อยู่ในรายการนี้ระบบจะถือว่าเขาถูก จำกัด อย่างใด ในกรณีของchshมันหมายความว่าผู้ใช้ไม่สามารถเปลี่ยนค่านั้น

โปรแกรมอื่นอาจสืบค้นรายการนั้นและใช้ข้อ จำกัด ที่คล้ายกัน

ดังนั้นโดยการวางnologinใน/etc/shellsคุณมีประสิทธิภาพพูดว่า "ผู้ใช้ที่มีnologinเป็นเปลือกถือว่าเป็นเต็มรูปแบบการใช้งานที่ไม่ จำกัด" นั่นคือเกือบจะแน่นอนตรงข้ามแน่นอนของสิ่งที่มีความหมายที่จะบอกว่าnologin


8

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

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