Bagaimana mencegah bom fork?


14

Untuk mencegah bom fork, saya mengikuti http://www.linuxhowtos.org/Tips%20and%20Tricks/ulimit.htm

ulimit -amencerminkan pengaturan baru tetapi ketika saya menjalankan (seperti rootdalam bash) :(){ :|:&};:VM masih berjalan pada CPU max + RAM dan sistem akan membeku.

Bagaimana memastikan pengguna tidak akan menjatuhkan sistem dengan menggunakan bom fork atau menjalankan aplikasi kereta?

OS: RHEL 6.4


Saya tidak bisa mereproduksi di sini. Apakah Anda mencobanya seperti rootkebetulan? Dari shell mana Anda mencobanya? (ruang yang hilang setelah {menyarankan zshtetapi saya tidak bisa mereproduksi di sana juga).
Stéphane Chazelas

Stephane Chazelas: 1] Saya menjalankan sebagai root, saya mencobanya dengan pengguna normal berfungsi. 2] Ruang yang hilang adalah salah ketik, saya menggunakan bash. Maaf. 3] Apakah itu ulimit tidak dapat memoderasi pengguna 'root'?
user44441

@ stephane-chazelas 1] Saya menjalankan sebagai root, saya mencobanya dengan pengguna normal berfungsi. 2] Ruang yang hilang adalah salah ketik, saya menggunakan bash. Maaf. 3] Apakah itu ulimit tidak dapat memoderasi pengguna 'root'?
user44441

Jawaban:


8

Superuser atau proses apa pun dengan kapabilitas CAP_SYS_ADMIN atau CAP_SYS_RESOURCE tidak terpengaruh oleh batasan itu, itu bukan sesuatu yang dapat diubah. rootselalu dapat melakukan proses garpu.

Jika beberapa perangkat lunak tidak tepercaya, itu tidak seharusnya berjalan seperti apa adanya root.


3
Kecuali itu melakukan sesuatu yang istimewa, tidak ada yang berjalan sebagai root. root adalah akun yang Anda gunakan ketika Anda lelah mencoba mencari tahu hak / hak apa yang Anda butuhkan untuk mengetahuinya atau layanan sistem mendasar.
Bratchley

11

Untuk membuat perubahan ini meresap Anda harus menambahkan batas ini ke seluruh lingkungan. Perubahan menggunakan ulimitperintah hanya untuk lingkungan saat ini.

CATATAN: Ini tidak akan berpengaruh pada pengguna root!

Contoh

Edit file ini: vi /etc/security/limits.confdan tambahkan entri ke file yang membatasi jumlah proses ( nproc) yang boleh dimiliki oleh pengguna atau grup pengguna tertentu.

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

CATATAN: Ada lebih banyak contoh dalam file itu. Hati-hati menggunakan "semua" (alias. *) Ini juga akan membatasi akun sistem.

Referensi


Sementara "semua" akan membatasi akun sistem, sebagian besar layanan yang dijalankan oleh akun sistem itu tidak melewati pam_limits.
jordanm

Apakah itu ulimit tidak bisa memoderasi pengguna 'root'?
user44441

Sama seperti gagasan umum untuk menambahkan lebih banyak ke pos, Anda mungkin ingin menambahkan sesuatu tentang pam_cgroup ke pos karena platform OP mendukungnya dan pam_limitspada akhirnya akan digantikan oleh yang begitu cgroup mendapatkan adopsi yang lebih luas.
Bratchley

Plus, karena kedengarannya seperti OP bermain-main dengan kebijakan penggunaan sumber daya, cgroupsakan memberi mereka tombol yang lebih baik untuk pemanfaatan jaringan dan CPU.
Bratchley
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.