Ma recommandation est d'utiliser auditd . Cela enregistre en utilisant le sous - système d’audit du noyau Linux et, à mon avis, la bonne façon de le faire si vous êtes sérieux. Et étant donné la nature de la question {liée à la sécurité}, vous devriez également utiliser PAM . Au niveau par défaut, auditd et PAM étant installés, toutes les tentatives SSH réussies ou non doivent être enregistrées automatiquement dans votre fichier audit.log. Donc, vous n'avez vraiment rien à configurer, vous devez simplement installer auditd et PAM . Je connais cette première main pour SLES. Et parierais que RHEL et toute autre version d' entreprise de Linux fonctionneraient de la même manière.
http://manpages.ubuntu.com/manpages/precise/man8/auditd.8.html
Dans le journal d'audit brut généré par auditd, vous pouvez utiliser l'une des méthodes aureport
de filtrage décrites dans les pages de manuel auditd , écrire votre propre analyseur de texte ou tout simplement utiliser un VI et rechercher des mots-clés.
voici une exception de mon /var/log/audit/audit.log
fichier avec moi ssh'ing dans mon serveur linux.
node=shark type=CRED_DISP msg=audit(1480622612.317:2211277): user pid=117768 uid=0 auid=23456 ses=2201 msg='op=PAM:setcred acct="ron" exe="/usr/sbin/sshd" (hostname=abc415.mycompany.us, addr=172.16.152.5, terminal=ssh res=success)'
- de ce qui précède, mon nom de serveur est shark .
- beaucoup de lignes comme celle-ci sont dans audit.log, je veux celle-ci basée sur exe = "/ usr / sbin / sshd"
- l'uid du compte étant ssh'd dans est la valeur de auid, qui est 23456 pour cet exemple
- le nom du compte utilisateur associé à auid est spécifié par acct = "ron"
- la plupart du temps, le système d'audit enregistre le nom d'hôte DNS du système essayant de se connecter, mais il a toujours son adresse IP
- la date de l'entrée qui est à l'époque, donc vous devrez la convertir via quelque chose comme
date --date @1480622612.317
ce qui aboutit Thu Dec 1 15:03:32 EST 2016
et c'est quand je ssh'd sur mon serveur.
Quand res=failed
devez-vous examiner ces adresses IP et ces noms d'hôte pour voir quels systèmes tentaient de se connecter, avec quelle tentative d'utilisateur? Et bien sûr, le succès de ssh tente de comprendre ce qui se passe sur votre système - par exemple, votre collègue, Bob, qui siège au même bureau tous les jours avec hostname = bobscomputer et ip address = 192.168.5.5; si vous voyez une tentative réussie de ssh à 2h du matin hier sous son nom d'utilisateur à partir de l'adresse IP 10.10.5.6 par exemple, il pourrait être dans votre intérêt de parler à Bob pour enquêter. Tentative de piratage possible par quelqu'un d'autre? Et peu de temps après, y a-t-il des tentatives de recherche de racine dans le journal d'audit du compte de bob?
quand vous voyez répétitif res=failed
et auid=0
et acct=root
puis que de quelqu'un qui essaie de ssh dans votre boîte dans le compte root, et lorsque vous modifiez /etc/hosts.deny
avec cette adresse IP pour SSHD.