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

Dernière mise à jour : 07/12/2020

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

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, les ID de résultat et les ID de détecteur pour en savoir plus sur l'attaque par force brute en question.

Remarque : Si vous recevez des erreurs lors de l'exécution de commandes depuis l'interface de ligne de commande AWS (AWS CLI), vérifiez que vous utilisez la version la plus récente d'AWS CLI.

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 des ID de détecteur GuardDuty

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 Ajout d'une règle applicable au trafic RDP entrant en direction d'une instance Windows.