วิธีการป้องกันส้อมระเบิด?


14

เพื่อป้องกันการวางระเบิดฉันได้ติดตามhttp://www.linuxhowtos.org/Tips%20and%20Tricks/ulimit.htmนี้

ulimit -aสะท้อนถึงการตั้งค่าใหม่ แต่เมื่อฉันเรียกใช้ ( rootในbash) :(){ :|:&};:VM ยังคงดำเนินต่อไปบน CPU + RAM สูงสุดและระบบจะหยุดทำงาน

จะมั่นใจได้อย่างไรว่าผู้ใช้จะไม่ถูกทำลายโดยการใช้ fork bombs หรือเรียกใช้แอพพลิเคชั่น buggy?

ระบบปฏิบัติการ: RHEL 6.4


ฉันทำซ้ำที่นี่ไม่ได้ คุณกำลังลองสิ่งนั้นrootโดยบังเอิญหรือไม่? คุณลองเปลือกไหน (พื้นที่ที่ขาดหายไปหลังจาก{แนะนำzshแต่ฉันไม่สามารถทำซ้ำที่นั่น)
Stéphane Chazelas

Stephane Chazelas: 1] ฉันใช้งานเป็น root ฉันลองใช้กับผู้ใช้ทั่วไปที่ใช้งานได้ 2] พื้นที่ที่ขาดหายไปคือพิมพ์ผิดฉันใช้ bash.Sorry 3] ulimit นั้นไม่สามารถควบคุมผู้ใช้ 'root' ได้หรือไม่?
user44441

@ stephane-chazelas 1] ฉันใช้งานเป็น root ฉันลองใช้กับผู้ใช้ทั่วไปที่ใช้งานได้ 2] พื้นที่ที่ขาดหายไปคือพิมพ์ผิดฉันใช้ bash.Sorry 3] ulimit นั้นไม่สามารถควบคุมผู้ใช้ 'root' ได้หรือไม่?
user44441

คำตอบ:


8

superuser หรือกระบวนการใด ๆ ที่มีความสามารถของ CAP_SYS_ADMIN หรือ CAP_SYS_RESOURCE นั้นไม่ได้รับผลกระทบจากข้อ จำกัด ดังกล่าวนั่นไม่ใช่สิ่งที่สามารถเปลี่ยนแปลงได้ rootสามารถแยกกระบวนการ

หากซอฟต์แวร์บางตัวไม่น่าเชื่อถือก็ไม่ควรทำงานเหมือนrootเดิม


3
ยกเว้นว่ามันจะทำสิ่งที่พิเศษไม่มีอะไรที่ควรจะทำในฐานะที่เป็นรากอย่างไรก็ตาม รูทเป็นบัญชีที่คุณใช้เมื่อคุณเบื่อที่จะลองคิดดูว่าคุณต้องการสิทธิพิเศษ / สิทธิใดบ้างหรือบริการระบบพื้นฐานบางอย่าง
Bratchley

11

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

หมายเหตุ:สิ่งนี้จะไม่มีผลกับผู้ใช้รูท!

ตัวอย่าง

แก้ไขไฟล์นี้: vi /etc/security/limits.confและเพิ่มรายการในไฟล์ที่ จำกัด จำนวนกระบวนการ ( nproc) ที่ผู้ใช้หรือกลุ่มผู้ใช้ที่เฉพาะเจาะจงได้รับอนุญาต

vivek hard nproc 300
@student hard nproc 50
@faculty soft nproc 100
@pusers hard nproc 200

หมายเหตุ:มีตัวอย่างเพิ่มเติมในไฟล์นั้น ระวังด้วยการใช้ "ทั้งหมด" (aka. *) สิ่งนี้จะ จำกัด บัญชีระบบด้วย

อ้างอิง


ขณะที่ "ทุกคน" ที่จะ จำกัด pam_limitsการบัญชีระบบบริการมากที่สุดที่มีวิ่งโดยผู้ที่บัญชีระบบไม่ผ่าน
จอร์แดน

ulimit นั้นไม่สามารถดูแลผู้ใช้ 'root' หรือไม่?
user44441

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

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