Puede limitar fácilmente la cantidad de procesos que se pueden generar en Ubuntu y la mayoría de las otras distribuciones de Linux modificando /etc/security/limits.conf
sudoedit /etc/security/limits.conf
Luego agregue esta línea al final de ese archivo:
* hard nproc nnn
dónde:
El comando anterior enumerará todos los procesos para todos los usuarios, incluidos los subprocesos , los resumirá y enumerará el nombre de usuario con la mayor cantidad de procesos. Para estar seguro, abra todas las aplicaciones que normalmente necesita antes de ejecutar el comando anterior y luego duplique ese número por seguridad.
Una vez establecido este límite, deberá reiniciar, pero afectará a cada usuario no root en el sistema. Entonces, si un usuario no root ejecuta una bomba fork, tendrá ese límite estricto.
Los límites de grupo y comodín no se aplican al usuario raíz de forma predeterminada . Use el nombre root
de usuario literal en las reglas si desea aplicar una regla al superusuario.
Además, si no está buscando reiniciar en el corto plazo, puede usarlo, sudo ulimit -u 800
lo que colocará la restricción solo en la sesión en ejecución, ¡ pero puede ser eludido fácilmente por una bomba tenedor con sudo
privilegios!
Después de reiniciar, se /etc/security/limits.conf
usará lo que esté dentro .
Alguna información adicional sobre las bombas de horquilla: no son malware ni nada terrible. Por lo general, consisten en algo tan básico como un script que se llama a sí mismo dos veces, lo que aumenta su presencia en la máquina exponencialmente. A pesar de que tienen una pequeña huella de memoria dado el rápido ritmo que multiplican, llenan rápidamente toda la RAM disponible y la máquina se congela o reinicia. El único peligro es perder información no guardada. Clasificaría una bifurcación mucho más como una broma que un software malicioso.
Un recordatorio importante:
Rara vez debe ejecutar algo en la línea de comando cuando no está 98% seguro de su acción. Si no puede leer los comandos que está ejecutando, no lo haga. Esto aplica el doble a los fragmentos ilegibles de caracteres hexadecimales / base64, que se pueden usar para ocultar todo tipo de maldad. Si no está seguro de un comando, siempre puede buscar sus acciones en las páginas de manual de Ubuntu y tener precauciones adicionales al usarlo, sudo
ya que se ejecutará como usuario root.
alias ":(){ :|: & };:"="echo 'No.'"
en mi.bashrc
, ¿se ejecutará cada inicio de sesión?Una forma simple que me gusta es crear un alias, aunque los alias no siempre se aplican, verifique la respuesta anterior.
Ahora
fuente
a(){ a|a & };a
? (¿o algún otro nombre de función?)