Contrôles Security Hub pour Lambda - AWS Security Hub

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.

Contrôles Security Hub pour Lambda

Ces AWS Security Hub contrôles évaluent le AWS Lambda service et les ressources.

Il est possible que ces commandes ne soient pas toutes disponibles Régions AWS. Pour de plus amples informations, veuillez consulter Disponibilité des contrôles par région.

[Lambda.1] Les politiques relatives à la fonction Lambda devraient interdire l'accès public

Exigences connexes : PCI DSS v3.2.1/1.2.1, PCI DSS v3.2.1/1.3.1, PCI DSS v3.2.1/1.3.2, PCI DSS v3.2.1/1.3.4, PCI DSS v3.2.1/7.2.1, NIST.800-53.r5 AC-2 1, NIST.800-53.r5 AC-3 (7), (21),,,, (11), (16) NIST.800-53.r5 AC-3, (20), (21) NIST.800-53.r5 AC-4, NIST.800-53.r5 AC-4 (3), (4) NIST.800-53.r5 AC-6 NIST.800-53.r5 SC-7, NIST.800-53.r5 SC-7 (9) NIST.800-53.r5 SC-7 NIST.800-53.r5 SC-7 NIST.800-53.r5 SC-7 NIST.800-53.r5 SC-7 NIST.800-53.r5 SC-7 NIST.800-53.r5 SC-7

Catégorie : Protéger - Configuration réseau sécurisée

Gravité : Critique

Type de ressource : AWS::Lambda::Function

Règle AWS Config  : lambda-function-public-access-prohibited

Type de calendrier : changement déclenché

Paramètres : Aucun

Ce contrôle vérifie si la politique basée sur les ressources de la fonction Lambda interdit l'accès public en dehors de votre compte. Le contrôle échoue si l'accès public est autorisé. Le contrôle échoue également si une fonction Lambda est invoquée depuis Amazon S3 et que la politique n'inclut aucune condition limitant l'accès public, telle que. AWS:SourceAccount Nous vous recommandons d'utiliser d'autres conditions S3 AWS:SourceAccount en plus de votre politique de compartiment pour un accès plus précis.

La fonction Lambda ne doit pas être accessible au public, car cela peut permettre un accès involontaire à votre code de fonction.

Correction

Pour résoudre ce problème, vous devez mettre à jour la politique basée sur les ressources de votre fonction afin de supprimer les autorisations ou d'ajouter la condition. AWS:SourceAccount Vous ne pouvez mettre à jour la politique basée sur les ressources qu'à partir du Lambda ou. API AWS CLI

Pour commencer, consultez la politique basée sur les ressources sur la console Lambda. Identifiez l'énoncé de politique dont les valeurs de Principal champ rendent la politique publique, telles que "*" ou{ "AWS": "*" }.

Vous ne pouvez pas modifier la politique depuis la console. Pour supprimer les autorisations associées à la fonction, exécutez la remove-permissioncommande depuis le AWS CLI.

$ aws lambda remove-permission --function-name <function-name> --statement-id <statement-id>

Remplacez-le <function-name> par le nom de la fonction Lambda et <statement-id> par l'ID d'instruction (Sid) de l'instruction que vous souhaitez supprimer.

[Lambda.2] Les fonctions Lambda doivent utiliser les environnements d'exécution pris en charge

Exigences connexes : NIST.800-53.r5 CA-9 (1), NIST .800-53.r5 CM-2, .800-53.r5 SI-2, .800-53.r5 SI-2 (2), NIST .800-53.r5 SI-2 (4), NIST .800-53.r5 SI-2 (5) NIST NIST

Catégorie : Protéger - Développement sécurisé

Gravité : Moyenne

Type de ressource : AWS::Lambda::Function

Règle AWS Config  : lambda-function-settings-check

Type de calendrier : changement déclenché

Paramètres :

  • runtime: dotnet8, dotnet6, java21, java17, java11, java8.al2, nodejs20.x, nodejs18.x, python3.12, python3.11, python3.10, python3.9, python3.8, ruby3.3, ruby3.2 (non personnalisable)

Ce contrôle vérifie si les paramètres d'exécution des AWS Lambda fonctions correspondent aux valeurs attendues définies pour les environnements d'exécution pris en charge dans chaque langue. Le contrôle échoue si la fonction Lambda n'utilise pas un environnement d'exécution compatible, comme indiqué précédemment dans la section Paramètres. Security Hub ignore les fonctions dont le type de Image package est.

Les environnements d'exécution Lambda sont conçus autour d'une combinaison de systèmes d'exploitation, de langages de programmation et de bibliothèques de logiciels soumis à des mises à jour de maintenance et de sécurité. Lorsqu'un composant d'exécution n'est plus pris en charge pour les mises à jour de sécurité, Lambda le déconseille. Même si vous ne pouvez pas créer de fonctions utilisant l'environnement d'exécution obsolète, la fonction est toujours disponible pour traiter les événements d'invocation. Nous vous recommandons de vérifier que vos fonctions Lambda sont à jour et de ne pas utiliser d'environnements d'exécution obsolètes. Pour obtenir la liste des environnements d'exécution pris en charge, voir les environnements d'exécution Lambda dans AWS Lambda le Guide du développeur.

Correction

Pour plus d'informations sur les environnements d'exécution et les programmes de dépréciation pris en charge, consultez la section Politique de dépréciation des environnements d'exécution dans le Guide du développeur.AWS Lambda Lorsque vous migrez vos environnements d'exécution vers la dernière version, suivez la syntaxe et les conseils des éditeurs de la langue. Nous vous recommandons également d'appliquer des mises à jour d'exécution afin de réduire le risque d'impact sur vos charges de travail dans les rares cas d'incompatibilité entre les versions d'exécution.

[Lambda.3] Les fonctions Lambda doivent être dans un VPC

Exigences connexes : PCI DSS v3.2.1/1.2.1, PCI DSS v3.2.1/1.3.1, PCI DSS v3.2.1/1.3.2, PCI DSS v3.2.1/1.3.4, NIST.800-53.r5 AC-2 1, NIST.800-53.r5 AC-3 (7), (21),,, (11) NIST.800-53.r5 AC-3, (16) NIST.800-53.r5 AC-4, NIST.800-53.r5 AC-4 (20), (21) NIST.800-53.r5 AC-6 NIST.800-53.r5 SC-7, NIST.800-53.r5 SC-7 (3), (4), NIST.800-53.r5 SC-7 (9) NIST.800-53.r5 SC-7 NIST.800-53.r5 SC-7 NIST.800-53.r5 SC-7 NIST.800-53.r5 SC-7 NIST.800-53.r5 SC-7

Catégorie : Protéger - Configuration réseau sécurisée

Gravité : Faible

Type de ressource : AWS::Lambda::Function

AWS Config règle : lambda-inside-vpc

Type de calendrier : changement déclenché

Paramètres : Aucun

Ce contrôle vérifie si une fonction Lambda est déployée dans un cloud privé virtuel ()VPC. Le contrôle échoue si la fonction Lambda n'est pas déployée dans un. VPC Security Hub n'évalue pas la configuration du routage des VPC sous-réseaux pour déterminer l'accessibilité publique. Il se peut que vous constatiez des résultats erronés pour les ressources Lambda @Edge.

Le déploiement de ressources VPC renforce la sécurité et le contrôle des configurations réseau. Ces déploiements offrent également une évolutivité et une tolérance élevée aux pannes dans plusieurs zones de disponibilité. Vous pouvez personnaliser VPC les déploiements pour répondre aux diverses exigences des applications.

Correction

Pour configurer une fonction existante afin de se connecter à des sous-réseaux privés de votre ordinateurVPC, consultez la section Configuration de l'VPCaccès dans le guide du AWS Lambda développeur. Nous vous recommandons de choisir au moins deux sous-réseaux privés pour une haute disponibilité et au moins un groupe de sécurité répondant aux exigences de connectivité de la fonction.

[Lambda.5] Les fonctions VPC Lambda doivent fonctionner dans plusieurs zones de disponibilité

Exigences connexes : NIST.800-53.r5 CP-10, NIST.800-53.r5 CP-6(2), NIST.800-53.r5 SC-3 6, NIST.800-53.r5 SC-5 (2), NIST .800-53.r5 SI-13 (5)

Catégorie : Restauration > Résilience > Haute disponibilité

Gravité : Moyenne

Type de ressource : AWS::Lambda::Function

Règle AWS Config  : lambda-vpc-multi-az-check

Type de calendrier : changement déclenché

Paramètres :

Paramètre Description Type Valeurs personnalisées autorisées Valeur par défaut de Security Hub

availabilityZones

Nombre minimum de zones de disponibilité

Enum

2, 3, 4, 5, 6

2

Ce contrôle vérifie si une AWS Lambda fonction qui se connecte à un cloud privé virtuel (VPC) fonctionne dans au moins le nombre spécifié de zones de disponibilité (AZs). Le contrôle échoue si la fonction ne fonctionne pas dans au moins le nombre spécifié deAZs. À moins que vous ne fournissiez une valeur de paramètre personnalisée pour le nombre minimum deAZs, Security Hub utilise une valeur par défaut de deuxAZs.

Le déploiement de ressources sur plusieurs AZs sites est une AWS bonne pratique pour garantir une haute disponibilité au sein de votre architecture. La disponibilité est un pilier essentiel du modèle de sécurité tridimensionnel de confidentialité, d'intégrité et de disponibilité. Toutes les fonctions Lambda qui se connectent à un VPC doivent faire l'objet d'un déploiement multi-AZ afin de garantir qu'une seule zone de défaillance n'entraîne pas une interruption totale des opérations.

Correction

Si vous configurez votre fonction pour qu'elle se connecte VPC à un sous-réseau de votre compte, spécifiez plusieurs sous-réseaux AZs pour garantir une haute disponibilité. Pour obtenir des instructions, consultez la section Configuration de l'VPCaccès dans le guide du AWS Lambda développeur.

Lambda exécute automatiquement d'autres fonctions de manière multiple AZs afin de s'assurer qu'elle est disponible pour traiter les événements en cas d'interruption de service dans une seule zone.

[Lambda.6] Les fonctions Lambda doivent être étiquetées

Catégorie : Identifier > Inventaire > Étiquetage

Gravité : Faible

Type de ressource : AWS::Lambda::Function

AWS Config règle : tagged-lambda-function (règle Security Hub personnalisée)

Type de calendrier : changement déclenché

Paramètres :

Paramètre Description Type Valeurs personnalisées autorisées Valeur par défaut de Security Hub
requiredTagKeys Liste des clés de balise de la ressource évaluée que doit contenir la ressource évaluée. Les clés de balises sont sensibles à la casse. StringList Liste des tags répondant aux AWS exigences No default value

Ce contrôle vérifie si une AWS Lambda fonction possède des balises avec les touches spécifiques définies dans le paramètrerequiredTagKeys. Le contrôle échoue si la fonction ne possède aucune clé de balise ou si toutes les touches spécifiées dans le paramètre ne sont pas présentesrequiredTagKeys. Si le paramètre requiredTagKeys n'est pas fourni, le contrôle vérifie uniquement l'existence d'une clé de balise et échoue si la fonction n'est associée à aucune touche. Les balises système, qui sont automatiquement appliquées et commencent paraws:, sont ignorées.

Une balise est une étiquette que vous attribuez à une AWS ressource. Elle se compose d'une clé et d'une valeur facultative. Vous pouvez créer des balises pour classer vos ressources par objectif, propriétaire, environnement ou selon d'autres critères. Les balises peuvent vous aider à identifier, organiser, rechercher et filtrer les ressources. Le balisage vous permet également de suivre les propriétaires de ressources responsables en ce qui concerne les actions et les notifications. Lorsque vous utilisez le balisage, vous pouvez implémenter le contrôle d'accès basé sur les attributs (ABAC) en tant que stratégie d'autorisation, qui définit les autorisations en fonction des balises. Vous pouvez associer des balises à IAM des entités (utilisateurs ou rôles) et à AWS des ressources. Vous pouvez créer une ABAC politique unique ou un ensemble de politiques distinct pour vos IAM mandants. Vous pouvez concevoir ces ABAC politiques pour autoriser les opérations lorsque le tag du principal correspond au tag de ressource. Pour plus d'informations, voir À quoi ça ABAC sert AWS ? dans le guide de IAM l'utilisateur.

Note

N'ajoutez pas d'informations personnellement identifiables (PII) ou d'autres informations confidentielles ou sensibles dans les balises. Les tags sont accessibles à de nombreuses personnes AWS services, notamment AWS Billing. Pour en savoir plus sur les meilleures pratiques en matière de balisage, consultez la section Marquage de vos AWS ressources dans le. Références générales AWS

Correction

Pour ajouter des balises à une fonction Lambda, consultez la section Utilisation de balises sur les fonctions Lambda dans le manuel du développeur.AWS Lambda