5 votes

Afficher les échecs de connexion récents lors de la connexion

J'ai un serveur Ubuntu Linux qui fait face au web. De ce fait, je reçois un nombre assez important de tentatives de connexion SSH par force brute (qui ne le fait pas). Je voudrais afficher les N dernières tentatives de connexion échouées à mon invite de connexion. J'ai mis au point le simple script :

grep "Failed" /var/log/auth.log | tail -5

mais ce que j'ai besoin de savoir, c'est où je dois mettre cette ligne de ? Y a-t-il un endroit où la mettre qui soit agnostique ?

7voto

chrismear Points 591

Il existe quelques paquets que vous pouvez utiliser pour faciliter les attaques par force brute.

  1. Denyhosts
  2. Fail2ban

Pour collecter les journaux et vous envoyer un rapport, vous pouvez utiliser logwatch. Il peut également envoyer un résumé des échecs de connexion.

Pour répondre à votre question initiale, vous pouvez mettre votre script dans "/etc/profile.d/yourscript.sh" et il devrait être exécuté à la connexion.

Vous pouvez également envisager de configurer le paquetage arno-iptables-firewall.

0 votes

Ou, si vous ne voulez le faire que pour un seul utilisateur, ajoutez-le simplement au bas de votre .profil.

0 votes

Fail2ban est bon à utiliser. J'ai configuré mon pare-feu sur mon dernier serveur virtuel pour limiter le nombre de connexions ssh à partir d'une seule adresse IP dans un laps de temps donné. Ainsi, l'ufw limite le ssh, ce qui signifie que si quelqu'un essaie de forcer le ssh par force brute, il doit ralentir sa tentative, sinon le pare-feu le bannira pendant un certain temps.

0 votes

+1 et merci pour fail2ban, je l'utilise en plus de mon script maintenant.

2voto

mybrainishuge Points 91

C'est vraiment Shell dépendant. Pour bash vous devriez le mettre dans .bash_login fichier.

En ce qui concerne la prévention des attaques par force brute, outre ce qui a déjà été suggéré pour mettre sur liste noire l'IP de l'attaquant, je demande généralement à sshd d'écouter sur un port non standard et de désactiver l'authentification par mot de passe. Bien sûr, ce n'est pas toujours possible, mais c'est efficace.

0 votes

Votre .profile devrait être sourcé par presque tous les Shell modernes.

0 votes

+1 - la seule réponse qui me semble répondre à la question :)

2voto

Adam Lassek Points 18918

Mettez tout dans /etc/profile.

Il exécutera tout ce qui se trouve dans /etc/profile avant d'aller dans votre fichier de démarrage Shell.

2 votes

Je ne suis pas familier avec Ubuntu, donc je peux me tromper, mais ne serait-il pas mieux de créer un script dans le fichier /etc/profile.d répertoire ?

0 votes

J'utilise Fedora Linux et dans mon fichier /etc/profile, il y a une boucle qui exécute tout dans le répertoire /etc/profile.d. Vous devriez vérifier si votre /etc/profile traite tout ce qui se trouve dans ce répertoire, sinon vous devrez déclarer directement dans le fichier.

0 votes

Je l'ai utilisé pendant un certain temps, mais après avoir ajouté des utilisateurs non-administrateurs, il provoque des erreurs lors de leur connexion, j'ai donc dû le déplacer dans un endroit local pour mon utilisateur.

0voto

nik Points 6970

Il existe un perl script , SSHBlock qui peut être utilisé contre le brute forcing SSH.
Il suit les tentatives fréquentes d'une adresse IP et ralentit leurs tentatives.

0voto

sucuri Points 2807

Vous avez quelques problèmes là-dedans. Tout d'abord, un utilisateur non root ne devrait pas être en mesure de lire le fichier journal d'authentification. Si vous vous connectez en tant que root, ne le faites plus :)

Deuxièmement, utilisez un outil approprié pour cela. J'aime OSSEC L'approche de l'entreprise consiste à m'envoyer un courriel pour chaque nombre X d'échecs de connexion au cours d'une période donnée. Il bloque également l'adresse IP automatiquement, ce qui réduit les chances de réussite d'une attaque par force brute.

0 votes

Je ne suis pas une racine, mais je suis dans le admin qui permet l'accès.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X