J'ai cet utilisateur qui a des privilèges sudo limités, mais il parvient à foirer de temps en temps. Je voudrais garder un œil sur ses aventures, afin de pouvoir inverser les dégâts en creusant moins. Idéalement, je voudrais un service avec les fonctionnalités suivantes bien intégrées et présentables
- Pistes d' entrée et de sortie comme shell
ttyrec
(ouscript
ousudo
si l' enregistrement est mis en place) et peut rejouer la session comme ttyplay (ouscriptreplay
ousudoreplay
) Compatibilité avec les programmes ncurses serait bien, mais pas nécessaire,ttyrec
peut le faire en apparence. - Suit l'accès aux fichiers, leur création et leur modification. Idéalement, il pourrait également sauvegarder un fichier chaque fois qu'il est modifié ou supprimé.
Jusqu'à présent, j'ai trouvé plusieurs outils que je devrais configurer pour obtenir la plupart des fonctionnalités demandées, mais je n'ai pas trouvé de produit OSS qui les intégrerait bien (l'édition communautaire Lynis n'est pas vraiment claire sur la fonctionnalité) .
- Je pourrais mettre
ttyrec $(mktemp)
,script $(mktemp)
ousudo -u $USER -i
(avec sudo logging set up) dans le sien.bashrc
pour journaliser le shell IO. - Mise en place d' audit pour l' accès aux fichiers dans certains répertoires, comme
/usr
,/etc
,/var
. - Créez un instantané LVM lorsqu'il se connecte, mais cela est un peu exagéré et peut dégrader les performances du système.
EDIT: ttyrec
semble être une meilleure alternative à script
, il satisferait toutes mes exigences de journalisation IO. Maintenant, je dois trouver un bon moyen de consigner la manipulation des fichiers.
Je serai reconnaissant pour toutes suggestions ou recommandations de meilleures pratiques.
script
session. Il ne s'agit pas de l'espionner, mais de lui donner l'assurance que ses erreurs peuvent être retracées.Réponses:
Vous pourriez peut-être encourager votre administrateur à utiliser de bonnes pratiques de journalisation. Gnu Screen le fait très bien. Il ajoute un peu plus de fonctionnalités que ce que vous recherchez et a également la possibilité de basculer la journalisation, afin qu'il puisse le désactiver lui-même, s'il le souhaite. Il ne dispose pas de la fonctionnalité de relecture, mais il pourrait faire partie d'une solution, car il suit la plupart des entrées et sorties lorsque la connexion est activée.
Dans votre cas d'utilisation, vous voudriez ajouter
deflog on
au fichier screenrc pour avoir de nouvelles fenêtres par défaut avec la connexion.Cela présente cependant l'inconvénient d'être basculable par votre utilisateur.
Vous pouvez effectuer la surveillance des fichiers à l'aide de Monit , qui surveille les sommes de contrôle des fichiers pour les modifications, et peut également vérifier les conditions de divers services. Combinez cela avec quelque chose comme une rsync sur un cronjob (puisque vous devriez avoir quelque chose comme ça de toute façon) et vous avez une idée assez solide de ce qui se passe exactement sur le serveur, surtout si vous activez des horodatages très serrés à l'écran et faites confiance à votre utilisateur de ne pas jouer avec les paramètres de journalisation.
En combinant ces outils, vous devriez avoir un système assez robuste et léger qui vous permet de garder un œil décent sur votre utilisateur tout en assurant un niveau de base de récupération.
la source