Ви можете легко обмежити кількість процесів, які можуть бути породжені в Ubuntu та більшості інших дистрибутивів Linux, змінивши /etc/security/limits.conf
sudoedit /etc/security/limits.conf
Потім додайте цей рядок у нижню частину цього файлу:
* hard nproc nnn
де:
hard
встановлює ліміт на рівні ядра так, що його неможливо змінити без перезавантаження.
nproc
- максимальна кількість процесів на користувача.
nnn
це число, яке слід обчислити для вашої системи:
ps aux -L | cut --delimiter=" " --fields=1 | sort | uniq --count | sort --numeric-sort | tail --lines=1
Вищенаведена команда перелічить усі процеси для всіх користувачів, включаючи потоки , підсумує їх та перерахує ім’я користувача з найбільшою кількістю процесів. Щоб захиститись, відкрийте стільки додатків, скільки вам зазвичай потрібно, перш ніж запустити вищевказану команду, а потім подвойте це число для безпеки.
Після встановлення цього обмеження вам потрібно буде перезавантажити, але це вплине на кожного некорінного користувача в системі. Отже, якщо вилкову бомбу виконує будь-який користувач, який не має root, у неї буде такий жорсткий межа.
Обмеження щодо групи та підстановки не застосовуються до кореневого користувача за замовчуванням . Використовуйте буквальне ім'я користувача root
в правилах, якщо ви хочете застосувати правило до суперпользователя.
Крім того, якщо ви не хочете скоріше перезапустити, ви можете скористатись sudo ulimit -u 800
обмеженням лише на запущеному сеансі, але його можна легко обійти вилковою бомбою з sudo
привілеями!
Після перезапуску /etc/security/limits.conf
буде використано все, що є .
Деякі додаткові відомості про вилкові бомби: вони не є шкідливим програмним забезпеченням чи чимось жахливим. Зазвичай вони складаються з чогось такого ж базового, як сценарій, який дзвонить собі двічі - тим самим збільшуючи свою присутність на машині експоненціально. Незважаючи на те, що вони мають невеликий слід пам’яті, враховуючи швидкий темп, який вони багаторазові, вони швидко заповнюють всю наявну оперативну пам’ять і машина замерзає або перезавантажується. Єдина небезпека - втрата збереженої інформації. Я б класифікував forkbomb набагато більше, ніж шахрайство, ніж шкідливе програмне забезпечення.
Важливе нагадування:
Ви рідко повинні коли-небудь виконувати що-небудь у командному рядку, коли ви не впевнені на 98% від його дії. Якщо ви не можете прочитати команди, які ви виконуєте - не робіть цього. Це стосується подвійних можливостей для нечитабельних шматочків шістнадцяткових / базових64 символів, які можна використовувати для затемнення всіляких неприємностей. Якщо ви не впевнені в команді, ви завжди можете шукати її дії в Ubuntu Manpages і бути додатковими обережними при використанні, sudo
оскільки це буде виконуватися як користувач root.