Pourquoi ai-je reçu des messages d'alerte de GuardDuty relatifs à des attaques par force brute et de type « UnauthorizedAccess », avec mon instance Amazon EC2 ?

Date de la dernière mise à jour : 11/08/2020

Amazon GuardDuty m'a adressé des messages d'alerte de type UnauthorizedAccess: EC2/RDPBruteForce ou UnauthorizedAccess: EC2/SSHBruteForce avec mon instance Amazon Elastic Compute Cloud (Amazon EC2).

Brève description

Les attaques par force brute peuvent se produire en cas d'accès non autorisé à vos ressources AWS. Pour plus d'informations, consultez la section Recherche de types.

Résolution

Suivez ces instructions pour vérifier la description fournie par GuardDuty, notamment les ID de résultat et de détecteur, et ainsi en savoir plus sur l'attaque par force brute concernée.  

Vérification de la description fournie par GuardDuty

Suivez les instructions pour afficher et analyser vos résultats GuardDuty.

Dans le volet Détails, prenez note du titre du résultat, similaire à ce qui suit :

« 198.51.100.0 effectue des attaques par force brute RDP contre i-99999999. Les attaques par force brute permettent d'obtenir un accès non autorisé à votre instance, en déterminant le mot de passe RDP. »

Dans cet exemple, la description indique quelle instance Amazon EC2 est affectée, la cible de l'attaque par force brute et l'adresse IP.

Vérification des ID de résultat et de détecteur

Important : avant de commencer, assurez-vous d'avoir installé et configuré l'interface en ligne de commande AWS (AWS CLI).

1.    Ouvrez la console GuardDuty.

2.    Dans le volet de navigation, sélectionnez Résultats.

3.    Dans Type de résultat, choisissez le type UnauthorizedAccess.

4.    Dans le volet Détails, sélectionnez l'ID de résultat.

5.    Dans la section Résultats JSON, prenez note des ID de résultat et de détecteur.

6.    Exécutez cette commande dans l'interface en ligne de commande AWS :

Remarque : remplacez les valeurs your-detector-id et your-findings id par vos ID de détecteur et de résultat.

aws guardduty get-findings --detector-id your-detector-id --finding-ids your-findings-id --query 'Findings[].Service.Action.NetworkConnectionAction.ConnectionDirection'

Le résultat obtenu doit être similaire à ce qui suit :

[
    "INBOUND"
]

7.    Exécutez cette commande dans l'interface en ligne de commande AWS :

aws guardduty get-findings --detector-id your-detector-id --finding-ids your-findings-id --query 'Findings[].Service.Action.NetworkConnectionAction.RemoteIpDetails.IpAddressV4'

Le résultat obtenu doit être similaire à ce qui suit :

[
    "198.51.100.0"
]

Dans cet exemple, le groupe de sécurité de l'instance Amazon EC2 autorise le trafic SSH/RDP et est ouvert au public.

Pour remédier au problème, vous pouvez limiter le trafic SSH/RDP uniquement pour les adresses IP sur liste blanche autorisées à accéder à l'instance Amazon EC2.

Pour limiter le trafic SSH, consultez la section Ajout d'une règle applicable au trafic SSH entrant s'effectuant en direction d'une instance Linux.

Pour limiter le trafic RDP, consultez la section Ajout d'une règle applicable au trafic RDP entrant s'effectuant en direction d'une instance Windows.

Pour obtenir des informations supplémentaires, consultez la section Procédure à suivre avec une instance EC2 compromise.