Base de référence de la sécurité Azure pour Functions
Cette base de référence de sécurité applique les conseils du benchmark de sécurité cloud Microsoft version 1.0 à Functions. Le Benchmark de sécurité Microsoft Cloud fournit des recommandations sur la façon dont vous pouvez sécuriser vos solutions cloud sur Azure. Le contenu est regroupé selon les contrôles de sécurité définis par le benchmark de sécurité cloud Microsoft et les conseils associés applicables à Functions.
Vous pouvez superviser cette base de référence de la sécurité et ses recommandations en utilisant Microsoft Defender pour le cloud. Azure Policy définitions sont répertoriées dans la section Conformité réglementaire de la page Microsoft Defender pour le portail cloud.
Lorsqu’une fonctionnalité a des définitions de Azure Policy pertinentes, elles sont répertoriées dans cette base de référence pour vous aider à mesurer la conformité avec les contrôles et recommandations du benchmark de sécurité cloud Microsoft. Certaines recommandations peuvent nécessiter un plan de Microsoft Defender payant pour activer certains scénarios de sécurité.
Notes
Les fonctionnalités non applicables à Functions ont été exclues. Pour voir comment Functions est entièrement mappé au benchmark de sécurité cloud Microsoft, consultez le fichier de mappage complet de la base de référence de sécurité Functions.
Profil de sécurité
Le profil de sécurité résume les comportements à fort impact de Functions, ce qui peut entraîner des considérations de sécurité accrues.
Attribut de comportement du service | Valeur |
---|---|
Catégorie de produit | Calcul, Web |
Le client peut accéder à HOST/OS | Aucun accès |
Le service peut être déployé dans le réseau virtuel du client | True |
Stocke le contenu client au repos | True |
Sécurité du réseau
Pour plus d’informations, consultez le benchmark de sécurité cloud Microsoft : Sécurité réseau.
NS-1 : Établir des limites de segmentation réseau
Fonctionnalités
Intégration du réseau virtuel
Description : Le service prend en charge le déploiement dans le Réseau virtuel privé (VNet) du client. Plus d’informations
Pris en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
True | False | Client |
Conseils de configuration : Déployez le service dans un réseau virtuel. Attribuez des adresses IP privées à la ressource (le cas échéant), sauf s’il existe une raison forte d’affecter des adresses IP publiques directement à la ressource.
Remarque : les fonctionnalités réseau sont exposées par le service, mais doivent être configurées pour l’application. Par défaut, l’accès au réseau public est autorisé.
Référence : options de mise en réseau Azure Functions
Prise en charge des groupes de sécurité réseau
Description : Le trafic réseau de service respecte l’attribution de règles groupes de sécurité réseau sur ses sous-réseaux. Plus d’informations
Pris en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
True | False | Client |
Conseils de configuration : Utilisez des groupes de sécurité réseau (NSG) pour restreindre ou surveiller le trafic par port, protocole, adresse IP source ou adresse IP de destination. Créez des règles NSG pour restreindre les ports ouverts de votre service (par exemple, pour empêcher l’accès aux ports de gestion à partir de réseaux non approuvés). N’oubliez pas que par défaut, les groupes de sécurité réseau refusent tout le trafic entrant, mais autorisent le trafic provenant du réseau virtuel et d’équilibreurs de charge Azure.
Référence : options de mise en réseau Azure Functions
NS-2 : Sécuriser les services cloud avec des contrôles réseau
Fonctionnalités
Azure Private Link
Description : Fonctionnalité de filtrage IP native du service pour le filtrage du trafic réseau (à ne pas confondre avec le groupe de sécurité réseau ou Pare-feu Azure). Plus d’informations
Pris en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
True | False | Client |
Conseils de configuration : Déployez des points de terminaison privés pour toutes les ressources Azure qui prennent en charge la fonctionnalité Private Link, afin d’établir un point d’accès privé pour les ressources.
Référence : options de mise en réseau Azure Functions
Désactiver l’accès public au réseau
Description : le service prend en charge la désactivation de l’accès au réseau public à l’aide d’une règle de filtrage de liste de contrôle d’accès IP au niveau du service (pas de groupe de sécurité réseau ou de Pare-feu Azure) ou à l’aide d’un commutateur bascule « Désactiver l’accès réseau public ». Plus d’informations
Pris en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
True | False | Client |
Remarques sur les fonctionnalités : Azure Functions peuvent être configurés avec des points de terminaison privés, mais il n’existe actuellement pas de bouton bascule unique pour désactiver l’accès au réseau public en l’absence de configuration des points de terminaison privés.
Conseils de configuration : Désactivez l’accès au réseau public à l’aide de la règle de filtrage de liste de contrôle d’accès IP au niveau du service ou d’un commutateur bascule pour l’accès au réseau public.
Gestion des identités
Pour plus d’informations, consultez le benchmark de sécurité cloud Microsoft : Gestion des identités.
IM-1 : utiliser le système centralisé d’identité et d’authentification
Fonctionnalités
Azure AD Authentication requis pour l’accès au plan de données
Description : Le service prend en charge l’utilisation de l’authentification Azure AD pour l’accès au plan de données. Plus d’informations
Pris en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
True | False | Client |
Remarques sur les fonctionnalités : les points de terminaison appartenant au client peuvent être configurés pour exiger des exigences d’authentification Azure AD. Les points de terminaison fournis par le système pour les opérations de déploiement et les outils de développement avancés prennent en charge Azure AD, mais ont par défaut la possibilité d’utiliser les informations d’identification de publication. Ces informations d’identification de publication peuvent être désactivées. Certains points de terminaison de plan de données sur l’application peuvent être accessibles par des clés d’administration configurées dans l’hôte Functions, et ils ne sont pas configurables avec les exigences d’Azure AD pour le moment.
Conseils de configuration : Utilisez Azure Active Directory (Azure AD) comme méthode d’authentification par défaut pour contrôler l’accès à votre plan de données.
Référence : Configurer les informations d’identification de déploiement - désactiver l’authentification de base
Méthodes d’authentification locales pour l’accès au plan de données
Description : méthodes d’authentification locale prises en charge pour l’accès au plan de données, telles qu’un nom d’utilisateur et un mot de passe locaux. Plus d’informations
Prise en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
True | True | Microsoft |
Remarques de fonctionnalité : les informations d’identification de déploiement sont créées par défaut, mais elles peuvent être désactivées. Certaines opérations exposées par le runtime d’application peuvent être effectuées à l’aide d’une clé d’administration, qui ne peut pas être désactivée actuellement. Cette clé peut être stockée dans Azure Key Vault, et régénérée à tout moment. Évitez l’utilisation de comptes ou de méthodes d’authentification locaux. Ceux-ci doivent être désactivés dans la mesure du possible. Utilisez plutôt Azure AD pour vous authentifier si possible.
Conseils de configuration : Aucune configuration supplémentaire n’est requise, car elle est activée sur un déploiement par défaut.
Référence : Désactiver l’authentification de base
IM-3 : gérer les identités d’application de façon sécurisée et automatique
Fonctionnalités
Identités managées
Description : les actions de plan de données prennent en charge l’authentification à l’aide d’identités managées. Plus d’informations
Prise en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
True | Faux | Client |
Conseils de configuration : Utilisez des identités managées Azure au lieu des principaux de service lorsque cela est possible, ce qui peut s’authentifier auprès des services et ressources Azure qui prennent en charge l’authentification Azure Active Directory (Azure AD). La plateforme assure entièrement la gestion, la rotation et la protection des informations d’identification d’identité managée, ce qui évite les informations d’identification codées en dur dans le code source ou les fichiers de configuration.
Référence : Utilisation des identités managées pour les App Service et les Azure Functions
Principaux de service
Description : Le plan de données prend en charge l’authentification à l’aide de principaux de service. Plus d’informations
Prise en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
True | Faux | Client |
Conseils de configuration : Il n’existe aucune aide Microsoft actuelle pour cette configuration de fonctionnalité. Vérifiez et déterminez si votre organization souhaite configurer cette fonctionnalité de sécurité.
Surveillance de Microsoft Defender pour le cloud
Définitions intégrées à Azure Policy - Microsoft.Web :
Nom (Portail Azure) |
Description | Effet(s) | Version (GitHub) |
---|---|---|---|
Les applications App Service doivent utiliser une identité managée | Utiliser une identité managée pour renforcer la sécurité de l’authentification | AuditIfNotExists, Désactivé | 3.0.0 |
IM-7 : restreindre l’accès aux ressources en fonction des conditions
Fonctionnalités
Accès conditionnel pour le plan de données
Description : L’accès au plan de données peut être contrôlé à l’aide de stratégies d’accès conditionnel Azure AD. Plus d’informations
Prise en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
True | Faux | Client |
Remarques de fonctionnalité : Pour les points de terminaison de plan de données qui ne sont pas définis par l’application, l’accès conditionnel doit être configuré par rapport à Azure Service Management.
Conseils de configuration : Définissez les conditions et les critères applicables pour l’accès conditionnel Azure Active Directory (Azure AD) dans la charge de travail. Considérez des cas d’usage courants tels que le blocage ou l’octroi de l’accès à partir d’emplacements spécifiques, le blocage du comportement de connexion à risque ou l’exigence d’appareils gérés organization pour des applications spécifiques.
IM-8 : restreindre l’exposition des informations d’identification et des secrets
Fonctionnalités
Prise en charge de l’intégration et du stockage des informations d’identification et des secrets de service dans Azure Key Vault
Description : Le plan de données prend en charge l’utilisation native d’Azure Key Vault pour le magasin d’informations d’identification et de secrets. Plus d’informations
Prise en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
True | Faux | Client |
Conseils de configuration : Assurez-vous que les secrets et les informations d’identification sont stockés dans des emplacements sécurisés tels qu’Azure Key Vault, au lieu de les incorporer dans des fichiers de code ou de configuration.
Référence : utiliser des références Key Vault pour App Service et Azure Functions
Accès privilégié
Pour plus d’informations, consultez le benchmark de sécurité cloud Microsoft : Accès privilégié.
PA-1 : Séparer et limiter les utilisateurs hautement privilégiés/administratifs
Fonctionnalités
Comptes Administration locaux
Description : Le service a le concept d’un compte d’administration local. Plus d’informations
Prise en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
False | Non applicable | Non applicable |
Conseils de configuration : cette fonctionnalité n’est pas prise en charge pour sécuriser ce service.
PA-7 : Suivre le principe JEA, Just Enough Administration (privilège minimum)
Fonctionnalités
RBAC Azure pour le plan de données
Description : Azure Role-Based Access Control (Azure RBAC) peut être utilisé pour gérer l’accès aux actions de plan de données du service. Plus d’informations
Prise en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
True | Faux | Client |
Remarques sur les fonctionnalités : les seules actions de plan de données qui peuvent tirer parti du RBAC Azure sont les points de terminaison Kudu/SCM/deployment. Celles-ci nécessitent une autorisation sur l’opération Microsoft.Web/sites/publish/Action
. Les points de terminaison exposés par l’application cliente elle-même ne sont pas couverts par Azure RBAC.
Conseils de configuration : Utilisez le contrôle d’accès en fonction du rôle Azure (Azure RBAC) pour gérer l’accès aux ressources Azure via des attributions de rôles intégrées. Les rôles RBAC Azure peuvent être attribués à des utilisateurs, des groupes, des principaux de service et des identités managées.
Référence : Autorisations RBAC requises pour accéder à Kudu
PA-8 : Déterminer le processus d’accès pour la prise en charge du fournisseur de services cloud
Fonctionnalités
Customer Lockbox
Description : Customer Lockbox peut être utilisé pour l’accès au support Microsoft. Plus d’informations
Pris en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
True | Faux | Client |
Conseils de configuration : Dans les scénarios de support dans lesquels Microsoft doit accéder à vos données, utilisez Customer Lockbox pour passer en revue, puis approuver ou rejeter chacune des demandes d’accès aux données de Microsoft.
Protection des données
Pour plus d’informations, consultez le benchmark de sécurité cloud Microsoft : Protection des données.
DP-2 : surveiller les anomalies et les menaces ciblant les données sensibles
Fonctionnalités
Protection contre les fuites/pertes de données
Description : Le service prend en charge la solution DLP pour surveiller le déplacement des données sensibles (dans le contenu du client). Plus d’informations
Pris en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
False | Non applicable | Non applicable |
Conseils de configuration : cette fonctionnalité n’est pas prise en charge pour sécuriser ce service.
DP-3 : chiffrer les données sensibles en transit
Fonctionnalités
Chiffrement des données en transit
Description : Le service prend en charge le chiffrement des données en transit pour le plan de données. Plus d’informations
Pris en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
True | Faux | Client |
Remarques sur les fonctionnalités : les applications de fonction sont créées par défaut pour prendre en charge TLS 1.2 comme version minimale, mais une application peut être configurée avec une version inférieure via un paramètre de configuration. Le protocole HTTPS n'est pas exigé par défaut pour les demandes entrantes, mais cela peut également être défini via un paramètre de configuration ; dans ce cas, toute demande HTTP sera automatiquement redirigée pour utiliser le protocole HTTPS.
Conseils de configuration : Activez le transfert sécurisé dans les services où une fonctionnalité de chiffrement des données en transit native est intégrée. Appliquez HTTPS sur toutes les applications et services web et assurez-vous que TLS v1.2 ou version ultérieure est utilisé. Les versions héritées telles que SSL 3.0 et TLS v1.0 doivent être désactivées. Pour la gestion à distance de Machines Virtuelles, utilisez SSH (pour Linux) ou RDP/TLS (pour Windows) au lieu d’un protocole non chiffré.
Référence : Ajouter et gérer des certificats TLS/SSL dans Azure App Service
Surveillance de Microsoft Defender pour le cloud
Définitions intégrées à Azure Policy - Microsoft.Web :
Nom (Portail Azure) |
Description | Effet(s) | Version (GitHub) |
---|---|---|---|
Les applications App Service doivent être accessibles uniquement via HTTPS | L'utilisation de HTTPS garantit l'authentification du serveur/service, et protège les données en transit contre les attaques par écoute clandestine de la couche réseau. | Audit, Désactivé, Refus | 4.0.0 |
DP-4 : activer le chiffrement des données au repos par défaut
Fonctionnalités
Chiffrement des données au repos à l’aide de clés de plateforme
Description : Le chiffrement des données au repos à l’aide de clés de plateforme est pris en charge, tout contenu client au repos est chiffré avec ces clés gérées par Microsoft. Plus d’informations
Pris en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
True | True | Microsoft |
Conseils de configuration : Aucune configuration supplémentaire n’est requise, car elle est activée sur un déploiement par défaut.
DP-5 : utiliser l’option de clé gérée par le client dans le chiffrement des données au repos si nécessaire
Fonctionnalités
Chiffrement des données au repos à l’aide de CMK
Description : Le chiffrement des données au repos à l’aide de clés gérées par le client est pris en charge pour le contenu client stocké par le service. Plus d’informations
Pris en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
True | Faux | Client |
Remarques sur les fonctionnalités : Azure Functions ne prend pas directement en charge cette fonctionnalité, mais une application peut être configurée pour tirer parti des services qui le font, à la place de tout stockage de données possible dans Functions. Azure Files peuvent être montés en tant que système de fichiers, tous les paramètres d’application, y compris les secrets, peuvent être stockés dans Azure Key Vault, et les options de déploiement telles que l’exécution à partir du package peuvent extraire du contenu du Stockage Blob Azure.
Conseils de configuration : si nécessaire pour la conformité réglementaire, définissez le cas d’usage et l’étendue du service où le chiffrement à l’aide de clés gérées par le client est nécessaire. Activez et implémentez le chiffrement des données au repos à l’aide de la clé gérée par le client dans ces services.
Référence : Chiffrer vos données d’application au repos à l’aide de clés gérées par le client
DP-6 : Utiliser un processus sécurisé de gestion de clés
Fonctionnalités
Gestion des clés dans Azure Key Vault
Description : Le service prend en charge l’intégration d’Azure Key Vault pour les clés client, les secrets ou les certificats. Plus d’informations
Pris en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
True | Faux | Client |
Conseils de configuration : Utilisez Azure Key Vault pour créer et contrôler le cycle de vie de vos clés de chiffrement, y compris la génération, la distribution et le stockage des clés. Faire pivoter et révoquer vos clés dans Azure Key Vault et votre service en fonction d’une planification définie ou en cas de retrait ou de compromission de clé. Lorsqu’il est nécessaire d’utiliser une clé gérée par le client (CMK) au niveau de la charge de travail, du service ou de l’application, veillez à suivre les meilleures pratiques pour la gestion des clés : utilisez une hiérarchie de clés pour générer une clé de chiffrement de données distincte (DEK) avec votre clé de chiffrement de clé (KEK) dans votre coffre de clés. Vérifiez que les clés sont inscrites auprès d’Azure Key Vault et référencées via des ID de clé à partir du service ou de l’application. Si vous devez apporter votre propre clé (BYOK) dans le service (par exemple, importer des clés protégées par HSM à partir de vos HSM locaux dans Azure Key Vault), suivez les instructions recommandées pour effectuer la génération et le transfert de clés initiaux.
Référence : utiliser des références Key Vault pour App Service et Azure Functions
DP-7 : utiliser un processus de gestion des certificats sécurisé
Fonctionnalités
Gestion des certificats dans Azure Key Vault
Description : Le service prend en charge l’intégration d’Azure Key Vault pour tous les certificats clients. Plus d’informations
Pris en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
True | Faux | Client |
Conseils de configuration : Utilisez Azure Key Vault pour créer et contrôler le cycle de vie des certificats, y compris la création, l’importation, la rotation, la révocation, le stockage et la purge du certificat. Assurez-vous que la génération de certificat respecte des normes définies sans utiliser de propriétés non sécurisées, telles que : taille de clé insuffisante, période de validité trop longue, chiffrement non sécurisé. Configurez la rotation automatique du certificat dans Azure Key Vault et le service Azure (s’il est pris en charge) en fonction d’une planification définie ou en cas d’expiration du certificat. Si la rotation automatique n’est pas prise en charge dans l’application, vérifiez qu’elles sont toujours pivotées à l’aide de méthodes manuelles dans Azure Key Vault et l’application.
Référence : Ajouter un certificat TLS/SSL dans Azure App Service
Gestion des ressources
Pour plus d’informations, consultez le benchmark de sécurité cloud Microsoft : Gestion des ressources.
AM-2 : Utiliser uniquement des services approuvés
Fonctionnalités
Prise en charge d’Azure Policy
Description : Les configurations de service peuvent être surveillées et appliquées via Azure Policy. Plus d’informations
Pris en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
True | Faux | Client |
Conseils de configuration : Utilisez Microsoft Defender pour le cloud pour configurer Azure Policy afin d’auditer et d’appliquer des configurations de vos ressources Azure. Utilisez Azure Monitor pour créer des alertes en cas d’écart de configuration détecté sur les ressources. Utilisez les effets Azure Policy [refuser] et [déployer s’il n’existe pas] pour appliquer une configuration sécurisée sur les ressources Azure.
Journalisation et détection des menaces
Pour plus d’informations, consultez le benchmark de sécurité cloud Microsoft : Journalisation et détection des menaces.
LT-1 : activer les fonctionnalités de détection des menaces
Fonctionnalités
Microsoft Defender pour les offres de services/produits
Description : le service dispose d’une solution de Microsoft Defender spécifique à l’offre pour surveiller et alerter sur les problèmes de sécurité. Plus d’informations
Pris en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
True | Faux | Client |
Remarques sur les fonctionnalités : Defender pour App Service inclut Azure Functions. Si cette solution est activée, les applications de fonction sous l’étendue d’activation sont incluses.
Conseils de configuration : Utilisez Azure Active Directory (Azure AD) comme méthode d’authentification par défaut pour contrôler l’accès à votre plan de gestion. Lorsque vous recevez une alerte de Microsoft Defender pour Key Vault, examinez l’alerte et y répondez.
Référence : Defender pour App Service
LT-4 : Activer la journalisation pour l’examen de sécurité
Fonctionnalités
Journaux des ressources Azure
Description : le service produit des journaux de ressources qui peuvent fournir des métriques et une journalisation améliorées spécifiques au service. Le client peut configurer ces journaux de ressources et les envoyer à son propre récepteur de données, comme un compte de stockage ou un espace de travail Log Analytics. Plus d’informations
Pris en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
True | Faux | Client |
Conseils de configuration : Activez les journaux de ressources pour le service. Par exemple, Key Vault prend en charge des journaux de ressources supplémentaires pour les actions qui obtiennent un secret à partir d’un coffre de clés ou Azure SQL a des journaux de ressources qui effectuent le suivi des demandes adressées à une base de données. Le contenu des journaux de ressources varie en fonction du service Azure et du type de ressource.
Référence : Supervision Azure Functions avec les journaux Azure Monitor
Sauvegarde et récupération
Pour plus d’informations, consultez le benchmark de sécurité cloud Microsoft : Sauvegarde et récupération.
BR-1 : Garantir des sauvegardes automatiques régulières
Fonctionnalités
Sauvegarde Azure
Description : le service peut être sauvegardé par le service Sauvegarde Azure. Plus d’informations
Pris en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
False | Non applicable | Non applicable |
Remarques sur les fonctionnalités : une fonctionnalité de sauvegarde d’une application est disponible si elle est hébergée sur un plan standard, Premium ou isolé App Service. Cette fonctionnalité ne tire pas parti de Sauvegarde Azure et n’inclut pas les sources d’événements ni le stockage lié en externe. Pour plus d’informations, consultez /azure/app-service/manage-backup.
Conseils de configuration : cette fonctionnalité n’est pas prise en charge pour sécuriser ce service.
Fonctionnalité de sauvegarde native du service
Description : le service prend en charge sa propre fonctionnalité de sauvegarde native (s’il n’utilise pas Sauvegarde Azure). Plus d’informations
Pris en charge | Activé par défaut | Responsabilité de la configuration |
---|---|---|
True | Faux | Client |
Remarques sur les fonctionnalités : une fonctionnalité de sauvegarde est disponible pour les applications s’exécutant sur des plans de App Service Standard, Premium et Isolé. Cela n’inclut pas la sauvegarde des sources d’événements ou du stockage fourni en externe.
Conseils de configuration : Il n’existe aucune aide Microsoft actuelle pour cette configuration de fonctionnalité. Vérifiez et déterminez si votre organization souhaite configurer cette fonctionnalité de sécurité.
Référence : Sauvegarder et restaurer votre application dans Azure App Service
Étapes suivantes
- Consultez la vue d’ensemble du benchmark de sécurité cloud Microsoft
- En savoir plus sur les bases de référence de la sécurité Azure