Recommandations pour le renforcement des ressources

S’applique à cette recommandation de liste de contrôle de sécurité Azure Well-Architected Framework :

SE :08 Renforcez tous les composants de charge de travail en réduisant la surface d’exposition superflue et en resserrant les configurations pour augmenter le coût des attaquants.

Ce guide décrit les recommandations relatives au renforcement des ressources en développant des contrôles localisés au sein d’une charge de travail et en les conservant pour résister aux attaques répétées.

Le renforcement de la sécurité est un exercice intentionnel de préservation de soi. L’objectif est de réduire une surface d’attaque et d’augmenter les coûts des attaquants dans d’autres domaines, ce qui limite les possibilités pour les acteurs malveillants d’exploiter les vulnérabilités. Pour protéger votre charge de travail, implémentez les meilleures pratiques et configurations de sécurité.

Le renforcement de la sécurité est un processus continu qui nécessite une surveillance et une adaptation continues aux menaces et vulnérabilités évolutives.

Définitions

Terme Définition
Renforcement de la sécurité La pratique consistant à réduire une surface d’attaque en supprimant des ressources superflues ou en ajustant des configurations.
Station de travail à accès privilégié (PAW) Machine dédiée et sécurisée que vous utilisez pour effectuer des tâches sensibles, ce qui réduit le risque de compromission.
Station de travail d’administration sécurisée (SAW) PAW spécialisé utilisé par les comptes à impact critique.
Surface Empreinte logique d’une charge de travail qui contient des vulnérabilités.

Stratégies de conception

Le renforcement de la sécurité est un exercice hautement localisé qui renforce les contrôles au niveau des composants, qu’il s’agisse de ressources ou de processus. Lorsque vous renforcez la sécurité de chaque composant, cela améliore l’assurance de sécurité globale de votre charge de travail.

Le renforcement de la sécurité ne tient pas compte des fonctionnalités de la charge de travail et ne détecte pas les menaces ni n’effectue une analyse automatisée. Le renforcement de la sécurité se concentre sur le réglage de la configuration avec une mentalité de violation de principe et de défense en profondeur. L’objectif est de rendre difficile pour un attaquant de prendre le contrôle d’un système. Le renforcement ne doit pas modifier l’utilité prévue d’une charge de travail ou de ses opérations.

La première étape du processus de renforcement consiste à rassembler un inventaire complet de toutes les ressources matérielles, logicielles et de données. Conservez vos enregistrements d’inventaire à jour en ajoutant de nouvelles ressources et en supprimant les ressources désaffectées. Pour toutes les ressources de votre inventaire, tenez compte des meilleures pratiques suivantes :

  • Réduisez l’encombrement. Supprimez la surface superflue ou réduisez l’étendue. Éliminez les cibles faciles ou les vecteurs d’attaque bon marché et bien établis, tels que les attaques par force brute et les exploits logiciels non corrigés. Avant le déploiement en production, vous devez propre identités, composants de build et autres ressources non requises à partir de l’arborescence source.

  • Affiner les configurations. Évaluez et serrez la surface restante. Lorsque les ressources sont renforcées, les méthodes éprouvées et testées que les attaquants utilisent ne réussissent plus. Il force les attaquants à acquérir et à utiliser des méthodes d’attaque avancées ou non testées, ce qui augmente leurs coûts.

  • Maintenir les défenses. Maintenez les mesures de protection en effectuant une détection continue des menaces pour garantir que les efforts de renforcement sont fiables au fil du temps.

Tenez également compte des facteurs suivants.

Source approuvée. Une partie de l’exercice de renforcement implique la chaîne d’approvisionnement logicielle. Cette aide suppose que tous les composants sont obtenus à partir de sources approuvées. Votre organization doit approuver les logiciels achetés auprès de fournisseurs tiers. Cette approbation s’applique aux sources du système d’exploitation, aux images et à d’autres outils tiers. Sans ressources approuvées, le renforcement peut être un drain infini de garanties de sécurité sur des sources non approuvées.

Pour obtenir des recommandations sur la sécurité de votre chaîne logistique, consultez Recommandations pour la sécurisation d’un cycle de vie de développement.

Formation. Le renforcement est une compétence spécialisée. Elle est méthodique et nécessite un haut niveau de compétence. Vous devez comprendre les fonctionnalités d’un composant et la façon dont les modifications affectent le composant. Un membre de l’équipe doit être en mesure de discerner les conseils des experts de l’industrie et de la plateforme pour les distinguer des conseils de sources incertaines. Former les membres de votre équipe à la création d’une culture axée sur la sécurité. Assurez-vous que votre équipe maîtrise les meilleures pratiques en matière de sécurité, qu’elle connaît les menaces potentielles et qu’elle apprend des rétrospectives post-incident.

Documentation. Documenter et publier les exigences de renforcement, les décisions et les méthodes définies. À des fins de transparence, documentez également les exceptions ou les écarts par rapport à ces exigences.

Le renforcement peut être fastidieux, mais il s’agit d’un exercice de sécurité crucial que vous devez documenter. Renforcez d’abord les composants principaux, puis développez-les à d’autres domaines, tels que les processus automatisés et les processus humains, pour combler les lacunes potentielles. Soyez méticuleux en ce qui concerne les changements. Par exemple, une étape nécessaire consiste à désactiver les paramètres par défaut, car les modifications apportées aux valeurs par défaut ne peuvent pas affecter la stabilité du système. Même si la configuration de remplacement est identique à la configuration par défaut, elle doit être définie. Les sections suivantes décrivent les cibles courantes pour le renforcement. Évaluez les domaines de conception clés de votre charge de travail et suivez les stratégies clés pour renforcer au niveau des composants.

Mise en réseau

Divisez le réseau en segments pour isoler les ressources critiques et les données sensibles des ressources moins sécurisées, ce qui réduit les mouvements latéraux des attaquants. Dans ces segments, appliquez une approche de refus par défaut . Ajoutez l’accès à la liste verte uniquement si cela est justifié.

Désactivez les ports et les protocoles qui ne sont pas utilisés activement. Par exemple, sur Azure App Service, si vous n’avez pas besoin de déployer via FTP, vous pouvez le désactiver. Ou si vous effectuez des opérations de gestion via un réseau interne, vous pouvez désactiver l’accès administratif à partir d’Internet.

Supprimez ou désactivez les protocoles hérités. Les attaquants exploitent les systèmes qui utilisent d’anciennes versions. Utilisez un service de détection Azure pour passer en revue les journaux et déterminer l’utilisation du protocole. Il peut être difficile de supprimer des protocoles, car cela peut perturber les fonctionnalités du système. Testez toutes les modifications avant l’implémentation pour atténuer le risque d’interruption opérationnelle.

Traitez les adresses IP publiques (PIP) comme des ressources à haut risque , car elles sont faciles d’accès et ont une large portée mondiale. Pour réduire l’exposition, supprimez l’accès Internet inutile à la charge de travail. Utilisez des adresses IP publiques partagées que les services Microsoft, comme Azure Front Door, fournissent. Ces services sont conçus pour être accessibles sur Internet et bloquent l’accès aux protocoles non autorisés. De nombreux services de ce type effectuent des vérifications initiales sur les demandes entrantes à la périphérie du réseau. Avec un PIP dédié, vous êtes responsable de la gestion de ses aspects de sécurité, de l’autorisation ou du blocage des ports et de l’analyse des demandes entrantes pour garantir leur validité.

Pour les applications internet, limitez l’accès en ajoutant un service de couche 7 qui peut filtrer le trafic non valide. Explorez les services natifs qui appliquent la protection par déni de service distribué (DDoS), ont des pare-feu d’applications web et fournissent une protection à la périphérie avant que le trafic n’atteigne la couche Application.

Le renforcement dns (Domain Name System) est une autre pratique de sécurité réseau. Pour garantir la sécurité de l’infrastructure DNS, nous vous recommandons d’utiliser des résolveurs DNS approuvés. Pour valider les informations des résolveurs DNS et fournir une couche de sécurité supplémentaire, utilisez un protocole de sécurité DNS pour les zones DNS hautement sensibles. Pour empêcher les attaques telles que l’empoisonnement du cache DNS, les attaques DDoS et les attaques d’amplification, explorez d’autres contrôles de sécurité liés au DNS, tels que la limitation du taux de requête, la limitation du taux de réponse et les cookies DNS.

Identité

Supprimez les comptes inutilisés ou par défaut. Désactivez les méthodes d’authentification et d’autorisation inutilisées.

Désactivez les méthodes d’authentification héritées , car elles sont fréquemment des vecteurs d’attaque. Les anciens protocoles manquent souvent de mesures de contre-attaque, telles que les verrouillages de compte. Externalisez vos exigences d’authentification auprès de votre fournisseur d’identité (IdP), par exemple Microsoft Entra ID.

Préférez la fédération à la création d’identités en double. Si une identité est compromise, il est plus facile de révoquer son accès lorsqu’elle est gérée de manière centralisée.

Comprendre les fonctionnalités de la plateforme pour une authentification et une autorisation améliorées. Renforcez les contrôles d’accès en tirant parti de l’authentification multifacteur, de l’authentification sans mot de passe, de l’accès conditionnel et d’autres fonctionnalités proposées par Microsoft Entra ID pour vérifier l’identité. Vous pouvez ajouter une protection supplémentaire autour des événements de connexion et réduire l’étendue dans laquelle un attaquant peut effectuer une demande.

Dans la cas où cela est possible, utilisez des identités managées et des identités de charge de travail sans informations d’identification. Les informations d’identification peuvent être divulguées. Pour plus d’informations, consultez Recommandations pour la protection des secrets d’application.

Utilisez l’approche des privilèges minimum pour vos processus de gestion. Supprimez les attributions de rôles inutiles et effectuez des révisions d’accès Microsoft Entra régulières. Utilisez les descriptions d’attribution de rôle pour conserver une trace papier des justifications, ce qui est essentiel pour les audits.

Ressources cloud

Les recommandations de renforcement précédentes pour la mise en réseau et l’identité s’appliquent aux services cloud individuels. Pour la mise en réseau, portez une attention particulière aux pare-feu de niveau de service et évaluez leurs règles de trafic entrant.

Découvrez et désactivez les fonctionnalités ou fonctionnalités inutilisées , telles que l’accès inutilisé au plan de données et les fonctionnalités de produit, que d’autres composants peuvent couvrir. Par exemple, App Service prend en charge Kudu, qui fournit des déploiements FTP, un débogage à distance et d’autres fonctionnalités. Si vous n’avez pas besoin de ces fonctionnalités, désactivez-les.

Suivez toujours la feuille de route Azure et la feuille de route de charge de travail. Appliquez les mises à jour correctives et de contrôle de version proposées par les services Azure. Autorisez les mises à jour fournies par la plateforme et abonnez-vous aux canaux de mise à jour automatisés.

Risque : les ressources cloud ont souvent des exigences en matière d’allocations ou doivent s’exécuter dans des configurations documentées pour être considérées comme prises en charge. Certaines techniques de renforcement, telles que le blocage agressif du trafic sortant, peuvent entraîner la chute d’un service en dehors d’une configuration prise en charge, même si le service fonctionne normalement. Comprenez les exigences d’exécution de chaque ressource cloud à partir de votre plateforme pour vous assurer que vous maintenez la prise en charge de cette ressource.

Applications

Évaluez les zones dans lesquelles votre application risque de divulguer des informations par inadvertance. Par exemple, supposons que vous ayez une API qui récupère les informations utilisateur. Une demande peut avoir un ID utilisateur valide et votre application retourne une erreur 403. Mais avec un ID client non valide, la demande retourne une erreur 404. Ensuite, vous divulguez efficacement des informations sur vos ID d’utilisateur.

Il peut y avoir des cas plus subtils. Par exemple, la latence de réponse avec un ID utilisateur valide est supérieure à un ID client non valide.

Envisagez d’implémenter le renforcement des applications dans les domaines suivants :

  • Validation et assainissement des entrées : empêchez les attaques par injection telles que l’injection SQL et les scripts intersites (XSS) en validant et en désinfectant toutes les entrées utilisateur. Automatisez l’assainissement des entrées à l’aide de bibliothèques et de frameworks de validation d’entrée.

  • Gestion des sessions : protégez les identificateurs et les jetons de session contre les attaques de vol ou de fixation de session à l’aide de techniques de gestion de session sécurisées. Implémentez des délais d’expiration de session et appliquez la réauthentification pour les actions sensibles.

  • Gestion des erreurs : implémentez une gestion personnalisée des erreurs pour réduire l’exposition d’informations sensibles aux attaquants. Journalisez en toute sécurité les erreurs et surveillez ces journaux à la recherche d’activités suspectes.

  • En-têtes de sécurité HTTP : atténuez les vulnérabilités web courantes en utilisant des en-têtes de sécurité dans les réponses HTTP, comme la stratégie de sécurité du contenu (CSP), X-Content-Type-Options et X-Frame-Options.

  • Sécurité des API : sécurisez vos API avec des mécanismes d’authentification et d’autorisation appropriés. Pour améliorer davantage la sécurité, implémentez la limitation du débit, la validation des demandes et les contrôles d’accès pour les points de terminaison d’API.

Suivez les pratiques de codage sécurisé lorsque vous développez et gérez des applications. Effectuez régulièrement des révisions de code et analysez les applications à la recherche de vulnérabilités. Pour plus d’informations, consultez Recommandations pour la sécurisation d’un cycle de vie de développement.

Opérations de gestion

Renforcez également d’autres ressources non-runtime. Par exemple, réduisez l’empreinte de vos opérations de build en effectuant un inventaire de toutes les ressources et en supprimant les ressources inutilisées de votre pipeline. Ensuite, extrayez les tâches publiées par des sources approuvées et exécutez uniquement les tâches validées.

Déterminez si vous avez besoin d’agents de build hébergés par Microsoft ou auto-hébergés. Les agents de build auto-hébergés ont besoin d’une gestion supplémentaire et doivent être renforcés.

Du point de vue de l’observabilité, implémentez un processus d’examen des journaux d’activité pour les violations potentielles. Passez régulièrement en revue et mettez à jour les règles de contrôle d’accès en fonction des journaux d’accès. Collaborez avec les équipes centrales pour analyser les journaux SIEM (Security Information Event Management) et SOAR (Security Orchestration Automated Response) pour détecter les anomalies.

Envisagez d’exiger des PAW ou des SAP pour les opérations de gestion privilégiée. Les PAW et les SAP sont des appareils physiques renforcés qui offrent des avantages significatifs en matière de sécurité, mais leur implémentation nécessite une planification et une gestion minutieuses. Pour plus d’informations, consultez Sécurisation des appareils dans le cadre de l’article sur l’accès privilégié.

Animation Azure

Microsoft Defender for Cloud offre plusieurs fonctionnalités de renforcement :

Le Center for Internet Security (CIS) offre des images renforcées dans Place de marché Azure.

Vous pouvez utiliser Azure VM Image Builder pour créer un processus reproductible pour les images de système d’exploitation renforcées. Common Base Linux-Mariner est une distribution Linux renforcée développée par Microsoft qui respecte les normes de sécurité et les certifications du secteur. Vous pouvez l’utiliser avec les produits d’infrastructure Azure pour créer des implémentations de charge de travail.

Exemple

La procédure suivante est un exemple de renforcement d’un système d’exploitation :

  1. Réduisez l’encombrement. Supprimez les composants inutiles dans une image. Installez uniquement ce dont vous avez besoin.

  2. Affiner les configurations. Désactivez les comptes inutilisés. La configuration par défaut des systèmes d’exploitation a des comptes supplémentaires qui sont liés à des groupes de sécurité. Si vous n’utilisez pas ces comptes, désactivez-les ou supprimez-les du système. Les identités supplémentaires sont des vecteurs de menaces qui peuvent être utilisés pour accéder au serveur.

    Désactivez l’accès inutile au système de fichiers. Chiffrez le système de fichiers et ajustez les contrôles d’accès pour l’identité et la mise en réseau.

    Exécutez uniquement ce qui est nécessaire. Bloquer les applications et les services qui s’exécutent par défaut. Approuvez uniquement les applications et services nécessaires à la fonctionnalité de charge de travail.

  3. Maintenir les défenses. Mettez régulièrement à jour les composants du système d’exploitation avec les dernières mises à jour de sécurité et correctifs pour atténuer les vulnérabilités connues.

Alignement organisationnel

Cloud Adoption Framework pour Azure fournit des conseils sur la création de fonctions centralisées de gestion des identités et des accès. Pour plus d’informations, consultez La zone de conception de la gestion des identités et des accès Azure.

Benchmarks CIS

Liste de contrôle de sécurité

Reportez-vous à l’ensemble complet de recommandations.