Je recherche un fichier journal ou un service pour signaler les dernières tentatives de connexion qui ont échoué en raison d'une incompatibilité entre le nom d'utilisateur et le mot de passe. Existe-t-il de tels utilitaires pour CentOS? (intégré est préférable)
Ma deuxième question, et plus généralement, j'ai besoin d'un fichier journal des tentatives de pénétration sur mon serveur. Idéalement, ce journal devrait contenir toutes les tentatives, y compris les connexions, les activités httpd et d'autres ports ouverts conventionnels.
Sous Linux, la commande last
affiche les tentatives de connexion réussies et affiche les informations de session (pts, source, date et durée).
La commande lastb
enregistre toutes les tentatives de connexion incorrectes. Les deux partagent la même page man
, mais la différence est que last
lit le binaire /var/log/wtmp
fichier et lastb
lit le /var/log/btmp
fichier par défaut.
La plage de ces fichiers dépend de votre calendrier de rotation des journaux, mais elle devrait s'étendre sur quelques semaines. La plupart des distributions tourneront /var/log/wtmp
mensuellement, pour que vous puissiez lire un enregistrement précédent, généralement répertorié comme /var/log/wtmp.1
en spécifiant le fichier avec le -f
paramètre ... last -f /var/log/wtmp.1
La question est ici hors sujet, mais une réponse très courte: vous devriez peut-être simplement vérifier/var/log/secure (par exemple grep pour "échoué").
Ceci est un ancien thread mais j'ai eu une tâche similaire comme celle-ci, donc dans mon cas, c'est une entrée de journal
Nov 15 17:14:47 megatron sshd[4768]: Failed password for git from 192.168.122.1 port 49227 ssh2
Nous pouvons donc le faire comme ceci, si nous sommes sûrs que l'utilisateur est statique
#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for git"
grep -i "$MESSAGE" "$LOG
Au cas où nous le saurions par utilisateur
#!/bin/bash
LOG=/var/log/secure
if [ -n "$1" ]
then
NEWUSER="$1"
else
NEWUSER="root"
fi
MESSAGE="Failed password for $NEWUSER"
grep -i "$MESSAGE" "$LOG"
Donc, le script devrait s'exécuter comme
[root@megatron bash1]# ./failedlogin.sh git
OU approche plus facile
#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for"
grep -i "$MESSAGE" "$LOG"