Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Auditez automatiquement les groupes de AWS sécurité qui autorisent l'accès depuis des adresses IP publiques
Créée par Eugene Shifer (AWS) et Stephen DiCato (AWS)
Récapitulatif
En tant que meilleure pratique en matière de sécurité, il est essentiel de limiter l'exposition des AWS ressources à ce qui est absolument nécessaire. Par exemple, les serveurs Web destinés au grand public doivent autoriser l'accès entrant depuis Internet, mais l'accès aux autres charges de travail doit être limité à des réseaux spécifiques afin de réduire les risques inutiles. Les groupes de sécurité dans Amazon Virtual Private Cloud (Amazon VPC) constituent un contrôle efficace pour vous aider à limiter l'accès aux ressources. Cependant, l'évaluation des groupes de sécurité peut s'avérer une tâche fastidieuse, en particulier dans les architectures multi-comptes. AWS Config les règles et les AWS Security Hub contrôles peuvent vous aider à identifier les groupes de sécurité qui autorisent l'accès depuis l'Internet public (0.0.0.0/0) à des protocoles de communication réseau spécifiques, tels que Secure Shell (SSH), HTTP, HTTPS et le protocole RDP (Windows Remote Desktop Protocol). Toutefois, ces règles et contrôles ne sont pas applicables si les services s'exécutent sur des ports non standard ou si l'accès est limité à certaines adresses IP publiques. Par exemple, cela peut se produire lorsqu'un service Web est associé au port TCP 8443 au lieu du port TCP standard 443. Cela peut également se produire lorsque les développeurs ont accès au serveur depuis leur réseau domestique, par exemple à des fins de test.
Pour résoudre ce problème, vous pouvez utiliser la solution d'infrastructure en tant que code (IaC) fournie dans ce modèle pour identifier les groupes de sécurité qui autorisent l'accès à partir de toute adresse IP non privée (non conforme à la RFC 1918
Conditions préalables et limitations
Prérequis
Un actif Compte AWS
Expérience d'utilisation GitHub
Si vous effectuez un déploiement en un seul Compte AWS :
Autorisations pour créer des CloudFormation piles
AWS Config configuré dans le compte cible
(Facultatif) Security Hub configuré dans le compte cible
Si vous effectuez un déploiement au sein d'une AWS organisation :
Autorisations pour créer des ensembles de CloudFormation piles
Security Hub configuré avec AWS Organizations intégration
AWS Config configurer dans les comptes sur lesquels vous déployez cette solution
Désignez un Compte AWS administrateur délégué pour AWS Config Land Security Hub
Limites
Si vous effectuez un déploiement sur un compte individuel sur lequel Security Hub n'est pas activé, vous pouvez l'utiliser AWS Config pour évaluer les résultats.
Si vous effectuez un déploiement dans une organisation qui ne dispose pas d'un administrateur délégué pour AWS Config Security Hub, vous devez vous connecter aux comptes des membres individuels pour consulter les résultats.
Si vous avez l' AWS Control Tower habitude de gérer et de gouverner les comptes de votre organisation, déployez l'iAc selon ce modèle en utilisant Customizations for AWS Control Tower (CfCT). L'utilisation de la CloudFormation console créerait une dérive de AWS Control Tower configuration et obligerait à réinscrire les unités organisationnelles (OUs) ou les comptes gérés.
Certains Services AWS ne sont pas disponibles du tout Régions AWS. Pour connaître la disponibilité par région, voir Services AWS par région
. Pour des points de terminaison spécifiques, consultez la page Points de terminaison et quotas du service, puis choisissez le lien vers le service.
Architecture
Déploiement chez un individu Compte AWS
Le schéma d'architecture suivant montre le déploiement des AWS ressources au sein d'une même architecture Compte AWS. Vous approvisionnez les ressources à l'aide d'un CloudFormation modèle directement via la CloudFormation console. Si Security Hub est activé, vous pouvez consulter les résultats dans Security Hub AWS Config ou dans Security Hub. Si Security Hub n'est pas activé, vous pouvez afficher les résultats uniquement dans AWS Config.

Le schéma suivant illustre le flux de travail suivant :
Vous créez une CloudFormation pile. Cela déploie une fonction Lambda et AWS Config une règle. La règle et la fonction sont configurées avec les autorisations AWS Identity and Access Management (IAM) requises pour publier des évaluations de ressources dans AWS Config des journaux.
La AWS Config règle fonctionne en mode d'évaluation détective et invoque la fonction Lambda toutes les 24 heures.
La fonction Lambda évalue les groupes de sécurité et envoie des mises à jour à. AWS Config
Security Hub reçoit tous les AWS Config résultats.
Vous pouvez consulter les résultats dans Security Hub ou dans AWS Config, selon les services que vous avez configurés dans le compte.
Déploiement au AWS sein d'une organisation
Le schéma suivant montre le déploiement du modèle sur plusieurs comptes gérés via AWS Organizations et AWS Control Tower. Vous déployez le CloudFormation modèle via CfCT. Les résultats de l'évaluation sont centralisés dans Security Hub, dans le compte administrateur délégué. La section du diagramme consacrée au AWS CodePipeline flux de travail montre les étapes d'arrière-plan qui se produisent lors du déploiement de CfCT.

Le schéma suivant illustre le flux de travail suivant :
Dans le compte de gestion, vous chargez un fichier compressé (ZIP) du modèle iAC dans un bucket Amazon Simple Storage Service (Amazon S3) déployé par CfCT.
Le pipeline CFct décompresse le fichier, exécute les vérifications cfn-nag
(GitHub) et déploie le modèle sous forme de stack set. CloudFormation En fonction de la configuration que vous spécifiez dans le fichier manifeste CFct, CloudFormation StackSets déploie les piles dans des comptes individuels ou spécifiées. OUs Cela déploie une fonction Lambda et AWS Config une règle dans les comptes cibles. La règle et la fonction sont configurées avec les autorisations IAM requises pour publier des évaluations de ressources dans AWS Config des journaux.
La AWS Config règle fonctionne en mode d'évaluation détective et invoque la fonction Lambda toutes les 24 heures.
La fonction Lambda évalue les groupes de sécurité et envoie des mises à jour à. AWS Config
AWS Config transmet tous les résultats à Security Hub.
Les résultats du Security Hub sont agrégés dans le compte d'administrateur délégué.
Vous pouvez consulter les résultats agrégés dans Security Hub dans le compte d'administrateur délégué.
Outils
Services AWS
AWS CloudFormationvous aide à configurer les AWS ressources, à les approvisionner rapidement et de manière cohérente, et à les gérer tout au long de leur cycle de vie, de bout Comptes AWS en bout Régions AWS.
AWS Configfournit une vue détaillée des ressources de votre ordinateur Compte AWS et de la façon dont elles sont configurées. Il vous aide à identifier les liens entre les ressources et l'évolution de leurs configurations au fil du temps. Une AWS Config règle définit vos paramètres de configuration idéaux pour une ressource et AWS Config permet d'évaluer si vos AWS ressources sont conformes aux conditions de la règle.
AWS Control Towervous aide à configurer et à gérer un environnement AWS multi-comptes, conformément aux meilleures pratiques prescriptives. Les personnalisations pour AWS Control Tower (CfCT) vous aident à personnaliser votre zone AWS Control Tower d'atterrissage et à respecter les AWS meilleures pratiques. Les personnalisations de cette solution sont mises en œuvre par le biais CloudFormation de modèles et de politiques de contrôle des AWS Organizations services (SCPs).
AWS Lambda est un service de calcul qui vous aide à exécuter du code sans avoir à allouer ni à gérer des serveurs. Il exécute votre code uniquement lorsque cela est nécessaire et évolue automatiquement, de sorte que vous ne payez que pour le temps de calcul que vous utilisez.
AWS Organizationsest un service de gestion de comptes qui vous aide à Comptes AWS en regrouper plusieurs au sein d'une organisation que vous créez et gérez de manière centralisée.
AWS Security Hubfournit une vue complète de votre état de sécurité dans AWS. Il vous permet également de vérifier que votre AWS environnement est conforme aux normes et aux meilleures pratiques du secteur de la sécurité.
Autres outils
Python
est un langage de programmation informatique polyvalent.
Référentiel de code
Le code de ce modèle est disponible dans le référentiel GitHub Détecter les groupes de sécurité vulnérables
Bonnes pratiques
Nous vous recommandons de suivre les meilleures pratiques décrites dans les ressources suivantes :
Bonnes pratiques pour les unités organisationnelles dotées
de AWS Organizations(blog AWS sur les opérations et les migrations dans le cloud) Conseils pour établir une base initiale à l'aide de AWS Control Tower on AWS
(bibliothèque de AWS solutions) Conseils pour créer et modifier AWS Control Tower des ressources (AWS Control Tower documentation)
Considérations relatives au déploiement du CfCT (AWS Control Tower documentation)
Appliquer les autorisations du moindre privilège (documentation IAM)
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Déterminez votre stratégie de déploiement. | Passez en revue la solution et le code afin de déterminer la stratégie de déploiement adaptée à votre AWS environnement. Déterminez si vous effectuez le déploiement dans un seul compte ou dans une AWS organisation. | Propriétaire de l'application, General AWS |
Pour cloner le référentiel. | Entrez la commande suivante pour cloner le référentiel Detect vulnerable security groups
| Développeur d'applications, propriétaire de l'application |
Validez la version de Python. |
| Administrateur AWS, développeur d'applications |
Tâche | Description | Compétences requises |
---|---|---|
Déployez le CloudFormation modèle. | Déployez le CloudFormation modèle dans votre AWS environnement. Effectuez l’une des actions suivantes :
| Développeur d'applications, administrateur AWS, AWS général |
Vérifier le déploiement. | Dans la CloudFormation console | Administrateur AWS, propriétaire de l'application |
Tâche | Description | Compétences requises |
---|---|---|
Consultez les résultats des AWS Config règles. | Dans Security Hub, procédez comme suit pour afficher la liste des résultats individuels :
Dans Security Hub, procédez comme suit pour afficher la liste des résultats totaux regroupés par Compte AWS :
Dans AWS Config, pour consulter la liste des résultats, suivez les instructions de la section Affichage des informations de conformité et des résultats d'évaluation de la AWS Config documentation. | Administrateur AWS, administrateur système AWS, administrateur cloud |
Résolution des problèmes
Problème | Solution |
---|---|
La création ou la suppression de l'ensemble de CloudFormation piles échoue. | Lorsqu'il AWS Control Tower est déployé, il applique les garde-fous nécessaires et prend le contrôle des AWS Config agrégateurs et des règles. Cela inclut la prévention de toute modification directe par le biais de CloudFormation. Pour déployer ou supprimer correctement ce CloudFormation modèle, y compris toutes les ressources associées, vous devez utiliser CfCT. |
CfCT ne parvient pas à supprimer le CloudFormation modèle. | Si le CloudFormation modèle persiste même après avoir apporté les modifications nécessaires au fichier manifeste et supprimé les fichiers modèles, vérifiez que le fichier manifeste contient le |
Ressources connexes
AWS Config Règles personnalisées (AWS Config documentation)