En général, quand doit-on créer un nouveau compte utilisateur pour exécuter un logiciel Internet sur un serveur?
Par exemple, supposons que j'utilise un serveur Debian partagé (par exemple via Dreamhost) et que je souhaite exécuter certains sites Web en utilisant WordPress, certains en utilisant Redmine, certains en utilisant Ruby on Rails, peut-être certains en utilisant Django, et j'aimerais servir Mercurial référentiels aussi.
Sur les serveurs Dreamhost et de nombreux autres serveurs de configuration similaire, cela pourrait être fait sous un seul compte utilisateur , mais je peux voir quelques inconvénients à cette approche:
- Un .bashrc plus long
- Si ce compte est compromis, il en va de même pour tous les sites fonctionnant sous celui-ci.
D'un autre côté, avoir beaucoup de comptes d'utilisateurs pourrait devenir un peu difficile à suivre, surtout si certains d'entre eux ont des exigences identiques en termes de logiciels installés. Par exemple, avoir un compte pour chaque site Web exécutant WordPress peut être exagéré.
Quelle est la meilleure pratique? S'agit-il simplement de réduire le nombre de sites hébergés (ou référentiels hébergés, etc.) par compte utilisateur proportionnellement à son niveau de paranoïa?
Veuillez publier vos opinions à ce sujet, en indiquant vos raisons.
De plus, si vous avez des raisons de penser que l'approche adoptée sur un serveur privé ou VPS devrait différer de l'approche adoptée sur un serveur partagé, veuillez décrire ce qu'elles sont et, encore une fois, vos raisons.
la source
mod_suexec
est que "les requêtes non-CGI sont toujours des processus avec l'utilisateur spécifié dans la directive User" - donc si PHP est un module, il fonctionne toujours en tant qu'utilisateur apache "principal". C'est une excellente solution si tout ce que vous exécutez est CGI.Généralement, ce que je fais est d'avoir un utilisateur pour les services externes qui n'est pas autorisé à se connecter ("personne" par exemple), et un compte qui est autorisé à se connecter et su ou sudo. Assurez-vous naturellement que vos noms d'utilisateur sont différents et difficiles à deviner.
Je ne vois pas d'avoir un utilisateur par service comme nécessaire, sauf si vous exécutez un environnement d'hébergement partagé où chaque client a une connexion. Si vous vous voyez de manière réaliste comme une cible très intéressante pour le piratage, vous pouvez aussi bien isoler autant que possible. Cependant, à moins que vous ne fassiez quelque chose de très controversé ou que vous hébergiez des données financières, vous n'êtes pas vraiment attrayant pour une cible.
la source