Comment protéger Ubuntu de la bombe

70

J'ai entendu quelqu'un parler d'une bombe à fourche, j'ai fait des recherches et trouvé des informations terribles sur des personnages étranges que les gens peuvent vous faire taper sur la ligne de commande et qui font de mauvaises choses sur l'ordinateur. Je ne voudrais certainement pas émettre des commandes que je ne comprends pas, mais on ne sait jamais ce qui peut arriver.

J'ai entendu dire que certains systèmes d’exploitation permettent à l’administrateur de limiter les processus utilisateurs pour atténuer les effets des bombes à la fourche. Si oui, comment?

    
posée dblang 27.01.2011 - 16:44
la source

2 réponses

68

Vous pouvez facilement limiter la quantité 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ù:

  • hard définit la limite au niveau du noyau pour qu'il ne puisse pas être modifié sans redémarrage.
  • nproc correspond au nombre maximal de processus par utilisateur.
  • nnn est un nombre que vous devez calculer pour votre système par:

    ps aux -L | cut --delimiter=" " --fields=1 | sort | uniq --count | sort --numeric-sort | tail --lines=1
    

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 avant d'exécuter la commande ci-dessus, puis doublez ce nombre pour plus de sécurité.

Une fois cette limite mise en place, vous devrez redémarrer, mais cela affectera chaque utilisateur non root du système. Donc, si une bombe à la bombe est exécutée par un utilisateur non root, elle aura cette limite stricte.

Les limites de groupe et les 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.

Aussi, si vous ne voulez pas redémarrer de sitôt, vous pouvez utiliser sudo ulimit -u 800 qui placera la restriction uniquement sur la session en cours d’exécution mais peut être facilement contournée par une bombe à fourche avec les privilèges sudo !

Après le redémarrage, tout ce qui est dans /etc/security/limits.conf sera alors utilisé.

Quelques informations supplémentaires sur les bombes à fourche: ce ne sont pas des logiciels malveillants ou quelque chose de terrible. Ils consistent généralement en quelque chose d'aussi simple qu'un script qui s'appelle deux fois - augmentant ainsi sa présence sur la machine de manière exponentielle. Même si leur encombrement mémoire est réduit compte tenu de la rapidité avec laquelle ils sont multiples, ils remplissent rapidement toute la RAM disponible et la machine se fige ou redémarre. Le seul danger est de perdre des informations non enregistrées. Je classerais un forkbomb beaucoup plus comme une farce que des logiciels malveillants.

Un rappel important:

Vous devez rarement exécuter quoi que ce soit dans la 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. Cela applique deux fois plus de morceaux illisibles de caractères hex / 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 utilisez sudo depuis que s'exécutera en tant qu'utilisateur root.

    
réponse donnée Marco Ceppi 27.01.2011 - 16:52
la source
0

J'aime simplement créer un alias si les alias ne sont pas toujours appliqués, vérifiez la réponse ci-dessus.

alias :="echo No."

Maintenant

$ :(){ :|: & };:

bash: syntax error near unexpected token '('

    
réponse donnée Adrian Webster 02.01.2016 - 03:27
la source

Lire d'autres questions sur les étiquettes