web-dev-qa-db-fra.com

Est-ce à cela que ressemble une attaque SSH par force brute?

J'ai examiné le fichier auth.log sur mon serveur Ubuntu pour trouver:

 [pré-autorisation] 
 22 février 17:39:18 sshd de stockage de code [17271]: déconnecté du port 147405.192.203 49408 [pré-autorisation] 
 22 février 17:40:15 code-storage sshd [17273]: Utilisateur invalide ellen à partir de 147.135.192.203 
 22 février 17:40:15 code-stockage sshd [17273]: input_userauth_request: utilisateur invalide ellen [preauth] 
 22 février 17:40:15 sshd de stockage de code [17273]: Déconnexion reçue du port 147.135.192.203 50193: 11: Arrêt normal, merci d'avoir joué [preauth] 
 22 fév 22 17:40:15 sshd de stockage de code [17273]: Déconnecté du port 147.135.192.203 50193 [préauth] 
 22 février 17:40:34 sshd de stockage de code [17275]: Connexion fermée par le port 103.237.147.107 17583 [préauth] 
 22 février 17:41:12 sshd de stockage de code [17277]: Utilisateur emil invalide de 147.135.192.203 
 22 février 17:41:12 sshd de stockage de code [17277]: input_userauth_request: utilisateur invalide emil [preauth] 
 22 février 17:41:12 sshd de stockage de code [17277]: Déconnexion reçue du port 147.135.192.203 50841: 11: Arrêt normal, merci f ou lecture de [pré-autorisation] 
 22 février 17:41:12 stockage de code sshd [17277]: Déconnecté du port 147.135.192.203 50841 [pré-autorisation] 
 22 février 17:42:05 stockage de code sshd [17280]: utilisateur enzo non valide à partir de 147.135.192.203 
 22 février 17:42:05 stockage de code sshd [17280]: input_userauth_request: utilisateur non valide enzo [preauth] 
 22 février 17:42 : 05 code-storage sshd [17280]: Déconnexion reçue du port 147.135.192.203 51356: 11: Arrêt normal, merci d'avoir joué [preauth] 
 22 février 17:42:05 code-storage sshd [17280] : Déconnecté du port 147.135.192.203 51356 [preauth] 
 22 février 17:42:14 code-storage sshd [17282]: Connexion fermée par le port 103.237.147.107 64695 [preauth] 
 22 février 17 : 43: 00 sshd de stockage de code [17285]: Felix d'utilisateur non valide à partir de 147.135.192.203 
 22 février 17:43:00 sshd de stockage de code [17285]: input_userauth_request: utilisateur non valide felix [preauth] 
 22 février 17:43:00 sshd de stockage de code [17285]: Déconnexion reçue du port 147.135.192.203 52145: 11: Arrêt normal, merci yo u pour jouer [preauth] 
 22 février 17:43:00 sshd de stockage de code [17285]: Déconnecté du port 147145.192.203 52145 [preauth] 
 22 février 17:43:52 code- stockage sshd [17287]: connexion fermée par le port 103.237.147.107 55122 [pré-autorisation] 
 22 février 17:43:56 code-stockage sshd [17289]: utilisateur invalide fred depuis 147.135.192.203 
 février 22 17:43:56 sshd de stockage de code [17289]: input_userauth_request: utilisateur invalide fred [preauth] 
 22 février 17:43:56 sshd de stockage de code [17289]: déconnexion reçue du port 52664 du 147.135.192.203 : 11: Arrêt normal, merci d'avoir joué à [pré-autorisation] 

Il y a bien plus que cela, mais cela vient des dernières minutes avant de copier le fichier journal.

S'agit-il d'une attaque SSH par force brute, et si oui, devrais-je m'inquiéter et quelles sont les meilleures étapes d'atténuation et/ou solutions autres que la modification de l'adresse IP du serveur?

26
David Kamer

Est-ce une attaque bruteforce

Cela ressemble à l'analyse en arrière-plan que tout serveur sur Internet connaîtra.

Devrais-je m'inquiéter

Pas vraiment, l'analyse en arrière-plan est tout à fait normale, tant que vos mots de passe sont sécurisés, l'analyse en arrière-plan ne devrait poser aucun risque.

Quelles sont les meilleures étapes d'atténuation

Vous pouvez utiliser les éléments suivants pour rendre le serveur plus sécurisé:

  • Autoriser uniquement la connexion à l'aide de l'authentification par clé
  • Désactiver l'accès root ssh
  • Utilisez un système comme Fail2Ban pour bloquer les tentatives de force brute

Dois-je changer d'adresse IP

La modification des adresses IP n'affectera probablement pas beaucoup l'analyse automatisée en arrière-plan

44
jrtapsell

Comme les commentaires précédents l'ont déjà souligné, le changement d'adresses IP ne vous empêchera [~ # ~] pas [~ # ~] d'être analysé par des scanners malveillants.

Je vais résumer les étapes nécessaires pour vraiment sécuriser votre service SSH:

  • comme les gens l'ont mentionné auparavant: changez le port en une valeur non standard (highport), par ex. une valeur comme 13322. Ce n'est pas un avantage de sécurité réel, mais cela rend plus difficile pour un bot de trouver le port SSH actif.
  • Utilisez UNIQUEMENT des clés sécurisées pour l'authentification, si possible, désactivez complètement l'authentification du clavier avec les mots de passe !!
  • tilisez fail2ban - service, qui est disponible pour tout système de type Unix/dérivé de linux. Ce service bannira automatiquement une adresse IP spécifique après n échecs d'authentification pour une durée définie. L'interdiction est réalisée via des règles iptables, donc iptables est une exigence.
5
Oliver

Une alternative à fail2ban, vous pouvez configurer un travail cron horaire pour exécuter un script simple comme celui ci-dessous. Ajustez les 4 premiers paramètres comme bon vous semble. Cela fonctionne avec pf.

si vous n'utilisez pas pf, vous devrez remplacer le pfctl ... ligne vers quelque chose qui fonctionne avec votre pare-feu.

Configurez également un travail cron quotidien pour vider la table pf: pfctl -t bruteforce -vT expire 86400

#!/bin/sh -f
#
# Check 'Invalid user' attempts on sshd in auth.log (LOGFILE).
# If there are more than (MAX_TRY) attempts within
# the last hour (EARLIEST), source ip is added to PF_TABLE table in pf
#
MAX_TRY=5
LOGFILE=/var/log/auth.log
# last 48 hour
EARLIEST=`date -v-48H +%s`
PF_TABLE=bruteforce

grep "Invalid user" $LOGFILE | while read d0 d1 d2 rest; do
    timestamp=`date -j -f "%b %d %H:%M:%S" "$d0 $d1 $d2" +%s`
    test $timestamp -lt $EARLIEST && continue
    echo $rest | cut -d ":" -f2- | cut -d " " -f6
done | sort | uniq -c | while read count ip; do
    test $count -lt $MAX_TRY && continue
    pfctl -v -t $PF_TABLE -T add $ip
done
1
ping mai