Développement

Extraction des IP malicieuses depuis le fichier auth.log d’un serveur Linux

Dans cette article, nous présentons une commande shell qui a pour but d’extraire les adresses IP et les noms d’utilisateurs liés à des tentatives manquées de se connecter à un serveur Linux. Dans notre exemple, les logs sont collectés sur une machine Linux tournant sous Ubuntu Server 16.04 LTS. La commande a été développée et testée sur ce même système et elle peut donc varier d’un système à l’autre. Afin que le résultat de cette commande puisse être directement consommé par une API REST, nous allons la formater en JSON. Nous allons récupérer ces informations depuis les logs d’authentification qui se trouvent généralement dans /var/log/auth.log. Les logs se trouvent dans /var/log/secure sur CentOS. Dans notre cas, nous nous intéressons uniquement aux logs provenant du service sshd, vu qu’il s’agit d’un serveur publique accessible uniquement en SSH. Sans plus attendre, voici ladite commande: echo “[” > failed_auth.json && zcat -f –stdout auth.log* | grep “Invalid user” | awk ‘{print ” {\”user\”: \”” $8 “\”, \”ip\”: \”” $10 “\”\},”}’ | uniq | sed ‘$ s/,$//’ | tee -a failed_auth.json && echo “]” >> failed_auth.json Décortiquons-la un peu! La commande commence et se termine par un simple « echo ». Rien de...

Demande d'inscription à notre newsletter

Rejoignez notre mailing liste pour rester informé sur votre sécurité !

Votre demande d'inscription a bien été enregistrée!