Comment puis-je résoudre l'erreur « InvalidPermission.NotFound » avec la règle AWS Config vpc-sg-open-only-to-authorized-ports et le document Systems Manager Automation AWS-DisablePublicAccessForSecurityGroup ?

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

J'ai créé le document AWS Systems Manager Automation AWS-DisablePublicAccessForSecurityGroup pour désactiver les ports SSH et RDP. Toutefois, la correction automatique échoue avec la règle AWS Config vpc-sg-open-only-to-authorized-ports. Je reçois un message d'erreur similaire à celui-ci :

« Une erreur s'est produite (InvalidPermission.NotFound) lors de l'appel de l'opération RevokeSecurityGroupIngress : la règle spécifiée n'existe pas dans ce groupe de sécurité ».  

Brève description

La règle AWS Config vérifie que le groupe de sécurité autorise le trafic TCP ou UDP entrant à 0.0.0.0/0. Par exemple, pour permettre aux ports TCP 443 et 1020-1025 d'accéder à 0.0.0.0/0, spécifiez les ports dans le paramètre de règle AWS Config. Le document SSM AWS-DisablePublicAccessForSecurityGroup est limité aux ports SSH 22 et RDP 3389 par défaut ouverts à toutes les adresses IP (0.0.0.0/0), ou à une adresse IPv4 spécifiée à l'aide du paramètre IpAddressToBlock.

Résolution

L'erreur du client InvalidPermission.NotFound avec l'action API RevokeSecurityGroupIngress signifie que le groupe de sécurité cible n'a pas de règle entrante ou ne se trouve pas dans Amazon Virtual Private Cloud (Amazon VPC) par défaut.

Important : avant de commencer, tâchez d'installer et de configurer l'interface de ligne de commande AWS (AWS CLI).

Pour vérifier le message d'erreur, exécutez la commande de l'interface de ligne de commande AWS describe-remediation-execution-status de la manière suivante :

aws configservice describe-remediation-execution-status --config-rule-name vpc-sg-open-only-to-authorized-ports --region af-south-1 --resource-keys resourceType=AWS::EC2::SecurityGroup,resourceId=sg-1234567891234567891

Les règles entrantes du groupe de sécurité doivent spécifier des ports ouverts à l'aide de l'un des modèles suivants :

0.0.0.0/0

::/0

SSH or RDP port + 0.0.0.0/0

SSH or RDP port + ::/0

Pour configurer la correction automatique pour d'autres ports, y compris 22 et 3389, vous pouvez utiliser un document SSM personnalisé pour automatiser le processus. Pour obtenir des instructions, reportez-vous à la section Création de documents Systems Manager.