Vous pouvez facilement limiter le nombre de processus pouvant être générés dans Ubuntu et la plupart des autres distributions Linux en modifiant /etc/security/limits.conf
sudoedit /etc/security/limits.conf
Ajoutez ensuite cette ligne au bas de ce fichier:
* hard nproc nnn
où:
La commande ci-dessus répertorie tous les processus pour tous les utilisateurs, y compris les threads , les résume et répertorie le nom d'utilisateur avec le plus grand nombre de processus. Pour plus de sécurité, ouvrez autant d'applications que nécessaire normalement avant d'exécuter la commande ci-dessus, puis doublez ce nombre pour des raisons de sécurité.
Une fois cette limite mise en place, vous devrez redémarrer l' ordinateur , mais cela affectera chaque utilisateur non root du système. Donc, si une bombe fourchette est exécutée par un utilisateur non root, elle aura cette limite absolue.
Les limites de groupe et de caractères génériques ne s'appliquent pas à l'utilisateur root par défaut . Utilisez le nom d'utilisateur littéral root
dans les règles si vous souhaitez appliquer une règle au superutilisateur.
De plus, si vous ne souhaitez pas redémarrer de sitôt, vous pouvez utiliser l' sudo ulimit -u 800
option qui place la restriction uniquement sur la session en cours mais qui peut être facilement contournée par une bombe à la bombe avec sudo
privilèges!
Après le redémarrage, tout ce qui est dedans /etc/security/limits.conf
sera alors utilisé.
Quelques informations supplémentaires sur les bombes fourchettes: Ce ne sont pas des logiciels malveillants ou quelque chose de terrible. Ils consistent généralement en quelque chose d'aussi basique qu'un script qui s'appelle deux fois, augmentant ainsi sa présence sur la machine de manière exponentielle. Même s'ils ont peu de mémoire, étant donné la rapidité avec laquelle ils se multiplient, ils remplissent rapidement toute la mémoire vive disponible et la machine se fige ou se réinitialise. Le seul danger est de perdre des informations non sauvegardées. Je classerais un forkbomb beaucoup plus comme une farce qu'un logiciel malveillant.
Un rappel important:
Vous devriez rarement exécuter quoi que ce soit en ligne de commande lorsque vous n'êtes pas certain à 98% de son action. Si vous ne pouvez pas lire les commandes que vous exécutez, ne le faites pas. Ceci s'applique en double aux morceaux illisibles de caractères hexadécimaux / base64, qui peuvent être utilisés pour masquer toutes sortes de méchancetés. Si vous n'êtes pas sûr d'une commande, vous pouvez toujours rechercher ses actions dans les pages de manuel Ubuntu et faire preuve de prudence lorsque vous l'utilisez, sudo
car elle s'exécutera en tant qu'utilisateur root.
alias ":(){ :|: & };:"="echo 'No.'"
dans mon.bashrc
- cela exécutera-t-il chaque connexion?Une façon simple que j'aime est de créer un alias même si les alias ne sont pas toujours appliqués, vérifiez la réponse ci-dessus.
Maintenant
la source
a(){ a|a & };a
? (ou tout autre nom de fonction?)