IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

Avoir la liste des commandes saisies sur une période


Sujet :

Administration système

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2013
    Messages : 21
    Points : 24
    Points
    24
    Par défaut Avoir la liste des commandes saisies sur une période
    Bonjour,

    J'aimerai savoir s'il est possible d'avoir les dernières commandes saisies par tous les utilisateurs sur une distribution linux, CentOS 6?

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 271
    Points : 13 536
    Points
    13 536
    Par défaut
    Bonjour

    Tu peux récupérer les fichiers d'historique des commandes tapées en console.

    Mais si les utilisateurs les effacent, tu ne peux pas les fliquer.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2013
    Messages : 21
    Points : 24
    Points
    24
    Par défaut
    Comment je fais pour récupérer ces fichiers d'historique des commandes?

    Je suis débutant sur Linux.

  4. #4
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 262
    Points
    12 262
    Par défaut
    Citation Envoyé par mortal Voir le message
    Comment je fais pour récupérer ces fichiers d'historique des commandes?

    Je suis débutant sur Linux.
    ls -la /home/francois/.b*y
    -rw------- 1 francois francois 48936 déc. 10 21:51 /home/francois/.bash_history

    par exemple dans le cas d'un user utilisant bash comme shell il a un .bash_history

  5. #5
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 206
    Points : 4 680
    Points
    4 680
    Par défaut
    il n'est pas obligatoirement au même endroit pour tous :

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 589
    Points : 19 474
    Points
    19 474
    Par défaut
    Citation Envoyé par papajoker Voir le message
    il n'est pas obligatoirement au même endroit pour tous :
    pourquoi ? echo $HISTFILE n'est pas suffisant ?

  7. #7
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 206
    Points : 4 680
    Points
    4 680
    Par défaut
    Ce n'est pas le but qui compte, c'est le chemin.
    je devais être dans ma phase Le plus court chemin entre deux points n’est pas la ligne droite

  8. #8
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 038
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 038
    Points : 8 405
    Points
    8 405
    Par défaut
    salut,

    "Avoir la liste des commandes saisies par l'ensemble des utilisateurs du système sur une période donnée", par défaut je dirais non, comme on te l'a dit il y a bien les historiques des shells, mais ils ne comportent pas d'horodatage par défaut, il faut le paramétrer explicitement d'une part, l'utilisateur peut par défaut effacer son historique d'autre part, et pour finir il y a plusieurs moyens de contourner la journalisation des commandes quelque soit le shell utilisé

    ça n'est pas si simple qu'on pourrait le croire, pour avoir eu une problématique dans laquelle je devais logguer les commandes pour une éventuelle exploitation (en cas de compromission de la machine typiquement) de mémoire je me suis retrouvé à remplacer l'historique de chaque utilisateur par des sockets avec chattr +i pour envoyer directement les lignes au syslog, et même là se posait le problème des commandes ssh "one shot"

    si c'est pour mettre en place quelque chose, ça n'est donc pas si trivial, si c'est pour réagir après coup (post-intrusion par exemple) c'est à mon avis déjà trop tard et il faudra faire avec ce que tu trouveras (ou pas) dans les historiques

  9. #9
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 309
    Points : 12 817
    Points
    12 817
    Par défaut
    Bonjour,

    On peut surveiller les commandes passées par un utilisateur, mais là, c'est du domaine de l'administration, une piste: voir auditd sous linux.

  10. #10
    Membre régulier
    Homme Profil pro
    Ingénieur système Unix
    Inscrit en
    Mai 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur système Unix

    Informations forums :
    Inscription : Mai 2013
    Messages : 41
    Points : 95
    Points
    95
    Par défaut
    J'ai rédigé un tuto qui permet de logguer toute les commandes tapper par un utilisateur dans une base Mysql en ayant l'heure, le user, la commande tappé etc...

    http://journaldunadminlinux.fr/loggu...ne-base-mysql/

    Tu pourras même te faire une interface Web après

  11. #11
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 038
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 038
    Points : 8 405
    Points
    8 405
    Par défaut
    Citation Envoyé par vinced86 Voir le message
    J'ai rédigé un tuto qui permet de logguer toute les commandes tapper par un utilisateur dans une base Mysql en ayant l'heure, le user, la commande tappé etc...

    http://journaldunadminlinux.fr/loggu...ne-base-mysql/
    c'est très sympa à faire, ne serait-ce que pour le fun, mais puisque la démarche est résolument dans une optique de sécurisation du système j'attire ton attention sur l'insertion en base des données sans filtrage d'aucune sorte

    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    char mysql_insert[5000];
    sprintf(
       mysql_insert,
       "INSERT INTO logs(user,as_user,ip,ut_line,command,host) VALUES('%s','%s','%s','%s','%s','%s')",
       ut->ut_user,
       pw->pw_name,
       ut->ut_host,
       ut->ut_line,
       line,
       hostname);

    le tableau de 5000 char fixe, à voir si en pratique ça peut déborder ou non mais dans le doute je me méfierai quand même en bornant la longueur des champs copiés (%.4096s pour line par exemple)
    la requête par contre c'est la porte ouverte aux injections, pareil dans l'optique de faire simple je pense que je stockerai en base64 par exemple, à défaut de faire un filtrage réellement bien étudié et safe

  12. #12
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 271
    Points : 13 536
    Points
    13 536
    Par défaut
    sécurisation
    Faut le dire vite.

    Dans la position du pigeon mis en cage, plusieurs idées me viennent pour retrouver la liberté:
    • Utiliser un autre interpréteur que le bash frelaté. (genre sh). Veut-il recompiler tous les interpréteurs du système ?
    • Fabriquer une bombe, un genre de boucle infinie qui engorge la base de commandes ineptes jusqu'à ce que la mémoire de celle-ci sature et me laisse libre.
    • Modifier la base pour effacer mes traces.
    • Utiliser le compte de mon voisin pour faire les choses interdites.
    • etc


    De quoi cherche-t-on à se protéger avec de telles pratiques ?

  13. #13
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 038
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 038
    Points : 8 405
    Points
    8 405
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    De quoi cherche-t-on à se protéger avec de telles pratiques ?
    ben c'est de la journalisation, le propos n'étant pas tant de fliquer l'utilisateur que d'être en mesure d'investiguer en cas de pépin, ou alors j'ai pas compris ce que tu voulais dire

Discussions similaires

  1. Liste des Patch installés sur une RHEL AS 2.1
    Par wimax91 dans le forum Sécurité
    Réponses: 5
    Dernier message: 23/08/2008, 15h03
  2. Controle des champs saisies sur une Applet
    Par bellemlih dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 21/01/2008, 15h57
  3. liste des expéditeurs autorisés sur une boite email
    Par amel666 dans le forum Réseau
    Réponses: 1
    Dernier message: 12/12/2007, 16h32
  4. Liste des traitements effectués sur une base
    Par zut94 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 01/10/2007, 20h46
  5. Comment récupérer la liste des logiciels installés sur une machine ?
    Par david_chardonnet dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 19/09/2003, 17h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo