Limiter le nombre de processus utilisateur
Un article de ALW - Another Linux Wiki.
[modifier] Introduction
On à toujours besoin de garder le controle sur les utilisateurs de ses machines. Personne n'est à l'abri d'un joyeux drille qui utilise toute la CPU ou qui fait tourner X process en memoire.
Pour ne pas se retrouver avec une machine à genoux rapidement, il faut un minimum de restrictions. C'est bien beau de securiser la machine de l'exterieur mais il faut faire le menage chez soi aussi :)
Nous allons donc limiter le nombre de processus lancés simultanément par un utilisateur ou un groupe ainsi que le % de temps CPU disponible pour lui etc.
[modifier] Configuration
Un seul fichier nous interesse ici c'est /etc/security/limits.conf
| File: limits.conf |
* soft core 0 * hard core 0 * hard nproc 15 * hard rss 10000 * - maxlogins 2 @dev hard core 100000 @dev soft nproc 20 @dev hard nproc 35 @dev - maxlogins 10 |
Dans cet exemple, chaque personne aura:
- La taille des coredump limité à 0 en limite soft
- La taille des coredump limité à 0 en limite hard
- Le nombre de processus limité à 15 en limite hard
- rss
- Le nombre maximum de connection limitée a 2
Les membres du groupe dev auront pour limite:
- La taille du coredump limité à 100 000 en limite hard
- Le nombre de processus limité à 20 en limite soft
- Le nombre de processus limité à 35 en limite hard
- Le nombre maximum du login limité à 10
Une limite soft genere une alerte mais n'est pas bloquante c'est la raison pour laquelle on definit une limite soft avant de passer en hard. C'est un genre de sommation :) Une limite hard est par contre bloquante pour l'utilisateur.
[modifier] Conclusion
Après une configuration rapide de ce fichier, on arrive a ameliorer la securité du systeme en evitant de un DoS par un script qui fork a outrance par exemple.
