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-permission
commande depuis le AWS CLI.
$ aws lambda remove-permission --function-name
<function-name>
--statement-id<statement-id>
Remplacez-le
par le nom de la fonction Lambda et <function-name>
par l'ID d'instruction (<statement-id>
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 |
---|---|---|---|---|
|
Nombre minimum de zones de disponibilité |
Enum |
|
|
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