Score:0

วิธีแก้ปัญหาเริ่มต้นสำหรับลินุกซ์เชลล์ระยะไกลที่จำกัดมาก

ธง sg

ฉันมีผู้ใช้ที่ต้องเชื่อมต่อกับเครื่องระยะไกล (ผ่าน ssh) และเรียกใช้หนึ่งในชุดคำสั่งคงที่ (เช่น เอ็น เบ็ดเสร็จ).

คำสั่งเหล่านี้อาศัย python, libraries ของคำสั่งเหล่านั้น และสิทธิ์ในการเข้าถึงเครือข่าย (เครื่องไหน มี).

มีกลยุทธ์เริ่มต้นที่จะจำกัดเชลล์ผู้ใช้ linux เฉพาะการดำเนินการเหล่านี้หรือไม่ เอ็น คำสั่งโดยไม่มีความเป็นไปได้ของ:

  • เข้าถึง fs ได้มากขึ้น
  • อ่านเนื้อหาของคำสั่งเอง
  • ได้รับสิทธิพิเศษในการเข้าถึงเครือข่าย
  • และเหมือนกัน

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

Brandon Xavier avatar
us flag
ถ้า N เป็นจำนวนที่น้อยพอสมควร ทำไมไม่ทำให้มันเรียบง่ายและให้เชลล์เรียกใช้งานเมนูพื้นฐานในการเข้าสู่ระบบและออกกลับไปที่เข้าสู่ระบบเมื่อเสร็จสิ้น
sg flag
@BrandonXavier คุณจะป้องกันไม่ให้ผู้ใช้ออกจากเชลล์หรือเรียกใช้คำสั่งระยะไกลผ่าน ssh ได้อย่างไร
Brandon Xavier avatar
us flag
ใส่คำสั่ง `trap` ในสคริปต์เมนูเพื่อออกจากระบบหากผู้ใช้กด control-C, control-\ ฯลฯ
Score:1
ธง la

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

คำสั่ง = "วันที่" ssh-rsa AAAA

คุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ กวดวิชา

เพื่อป้องกันไม่ให้ผู้ใช้เข้าถึงเครือข่าย - คุณสามารถใช้ SELinux หรือซอฟต์แวร์อื่นๆ ที่คล้ายคลึงกัน นอกจากนี้ คุณยังสามารถเขียน eBPF hook เพื่ออนุญาตสิ่งที่คุณต้องการ

Score:0
ธง cn

สมมติว่านี่ไม่ใช่ chroot หรือคอนเทนเนอร์ขนาดเล็กที่มีแต่สิ่งที่พวกเขาต้องการ แต่เป็นระบบปฏิบัติการแบบผู้ใช้หลายคนที่มีจุดประสงค์ทั่วไป

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

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

การกักขังบุคคลไม่ให้ทำสิ่งอื่นอย่างเข้มงวดต้องใช้กลอุบายหลายประการ

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

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

โพสต์คำตอบ

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