Le service syslog, qui écrit les messages de journal créés par le noyau et par d'autres services dans divers fichiers journaux, la console et / ou d'autres destinations, s'exécute sous son propre compte utilisateur spécial. Il en va de même de nombreux autres services. Il s'agit de mettre en œuvre le principe du moindre privilège :
Afin de minimiser l'impact possible d'un service compromis ou défectueux (par exemple, un service qui a un bogue qui à son tour est exploité par un attaquant, ou un service qui a un bogue qui provoque est de faire des choses indésirables au hasard, ou un service qui a été délibérément conçu par un développeur malin pour faire de mauvaises choses), vous voulez que chaque service n'ait accès qu'à ce dont il a besoin pour son fonctionnement et rien d'autre.
Sur n'importe quel système d'exploitation de type Unix (qui inclut toutes les distributions GNU / Linux telles que Ubuntu), vous pouvez le plus facilement attribuer des privilèges (c'est-à-dire le droit de lire et / ou d'écrire à partir de / vers certains fichiers ou des éléments similaires à des fichiers tels que nœuds de périphériques) en fonction des utilisateurs et des groupes. Il existe d'autres possibilités, mais elles sont souvent plus fastidieuses et sujettes aux erreurs à configurer, ou ne fonctionnent que dans des contextes spécifiques.
Ainsi, le service syslog s'exécute sous le compte d'utilisateur syslog. Si maintenant, par exemple, un attaquant peut amener le service syslog à faire ce qu'il lui dit au lieu de ce qu'il est censé faire, le service syslog est toujours restreint (appliqué par le noyau en fonction du compte utilisateur, non appliqué par le syslog logiciel lui-même, ce qui serait inutile car il est compromis) pour écrire uniquement dans les fichiers journaux (les seuls fichiers auxquels l'utilisateur syslog a accès en écriture). Ainsi, l'attaquant ne peut pas utiliser le service syslog compromis pour par exemple modifier le contenu d'un site Web ou d'une base de données hébergée sur le même ordinateur, car les fichiers pertinents sont configurés pour être accessibles en écriture uniquement par un ensemble particulier d'un autre utilisateur (humain ou système ) comptes, pas par le compte utilisateur syslog.
Afin de causer plus de tort que de simplement supprimer / modifier les fichiers journaux et lire les fichiers "publics" (avec la permission "lecture" pour tout le monde), l'attaquant devrait d'abord exploiter en plus un deuxième bogue, soit dans le noyau, soit dans certains logiciels. qui est installé pour s'exécuter avec des privilèges différents de l'utilisateur qui l'a invoqué ( setuid ), et ainsi gagner des privilèges supplémentaires ( escalade de privilèges ).
La
users
commande que vous avez utilisée, selon
sa page de manuel , affiche uniquement les utilisateurs
actuellement connectés . Étant donné que l'utilisateur syslog est un
utilisateur système , il ne se connectera jamais, il n'apparaîtra donc jamais dans cette liste. Vous pouvez consulter le fichier
/etc/passwd
ou utiliser l'une des autres méthodes décrites
ici pour obtenir une liste de
tous les utilisateurs (humains et système) de votre système.