Partager via


Recommandations pour renforcer les ressources

S’applique à cette recommandation de liste de contrôle azure Well-Architected Framework Security :

SE :08 Renforcer tous les composants de charge de travail en réduisant la surface d’exposition superflue et en renforçant les configurations pour augmenter les coûts des attaquants.

Ce guide décrit les recommandations pour renforcer les 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 de préservation de soi intentionnel. 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 opportunité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 en constante évolution.

Définitions

Terme Définition
Renforcement de la sécurité La pratique de la réduction d’une surface d’attaque en supprimant les ressources superflues ou en ajustant les configurations.
Station de travail d’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 d’impact critiques.
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 du composant, qu’il s’agisse de ressources ou de processus. Lorsque vous renforcez la sécurité de chaque composant, elle améliore l’assurance de sécurité agrégée de votre charge de travail.

Le renforcement de la sécurité ne prend pas en compte les 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’utilitaire prévu d’une charge de travail ou de ses opérations.

Créer un inventaire des ressources de charge de travail

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

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

  • Ajuster les configurations. Évaluez et serrez la surface restante. Lorsque les ressources sont renforcées, les méthodes testées et testées utilisées par les attaquants 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 vous assurer 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 organisation doit approuver les logiciels achetés auprès de fournisseurs tiers. Cette approbation s’applique aux sources du système d’exploitation, des images et d’autres outils tiers. Sans ressources approuvées, le renforcement peut être un vide infini des 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 sécuriser un cycle de vie de développement.

Entraînement. Le renforcement est une compétence spécialisée. Il est méthodique et nécessite un niveau élevé 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 fournis par les experts de l’industrie et la plateforme pour le distinguer des conseils des sources incertaines. Sensibilisez les membres de votre équipe à la création d’une culture de la sécurité. Assurez-vous que votre équipe est compétent dans les meilleures pratiques de sécurité, qu’elle connaît les menaces potentielles et qu’elle apprend des rétrospectives post-incident.

Documentation. Documentez et publiez des exigences de renforcement, des décisions et des méthodes définies. Pour la transparence, documentez également des exceptions ou des é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 dans d’autres domaines, tels que les processus automatisés et les processus humains, afin de renforcer les lacunes potentielles. Soyez méticuleuse sur 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 d’un composant.

Renforcer les composants 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éral par les attaquants. Dans ces segments, appliquez une approche de refus par défaut . Ajoutez uniquement l’accès à la liste verte s’il est justifié.

Désactivez les ports et 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 des systèmes qui utilisent des 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 il 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 actifs à haut risque, car elles sont faciles à accéder 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 qui 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 requêtes entrantes sur 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 requêtes entrantes pour garantir leur validité.

Pour les applications accessibles sur 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), disposent de pare-feu d’applications web et fournissent une protection à la périphérie avant que le trafic atteigne la couche Application.

Le renforcement du système de noms de domaine (DNS) est une autre pratique de sécurité réseau. Pour vous assurer que l’infrastructure DNS est sécurisée, 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, si possible, utilisez un protocole de sécurité DNS pour les zones DNS hautement sensibles. Pour éviter 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 débit de requêtes, la limitation du taux de réponse et les cookies DNS.

Renforcer les contrôles d’accès aux identités

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 compteur d’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érer 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 plateforme pour l’authentification et l’autorisation améliorées. Renforcer 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.

Utilisez des identités managées et des identités de charge de travail sans informations d’identification si possible. Les informations d’identification peuvent être divulguées. Pour plus d’informations, consultez Recommandations pour protéger les 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 des descriptions d’attribution de rôle pour conserver une trace papier des justifications, ce qui est essentiel pour les audits.

Renforcer les configurations de 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 au niveau du 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 au plan de données inutilisé 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 la charge de travail. Appliquez les mises à jour correctives et de contrôle de version proposées par les services Azure. Autoriser les mises à jour fournies par la plateforme et s’abonner aux canaux de mise à jour automatisés.

Risque : les ressources cloud ont souvent des exigences pour les 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. Comprendre les exigences d’exécution de chaque ressource cloud à partir de votre plateforme pour vous assurer que vous gérez la prise en charge de cette ressource.

Renforcer les ressources de code

Évaluez les zones où votre application peut fuiter par inadvertance des informations. Par exemple, supposons que vous disposez d’une API qui récupère les informations utilisateur. Une demande peut avoir un ID d’utilisateur valide et votre application retourne une erreur 403. Mais avec un ID client non valide, la requête retourne une erreur 404. Vous fuitez ensuite 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 d’utilisateur valide est supérieure à un ID client non valide.

Envisagez d’implémenter le renforcement de l’application dans les domaines suivants :

  • Validation et assainissement des entrées : empêcher 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 de session : protégez les identificateurs de session et les jetons 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 la gestion des erreurs personnalisée pour minimiser l’exposition d’informations sensibles aux attaquants. Consignez en toute sécurité les erreurs et surveillez ces journaux d’activité suspecte.

  • En-têtes de sécurité HTTP : atténuer les vulnérabilités web courantes en utilisant des en-têtes de sécurité dans les réponses HTTP, telles que la stratégie de sécurité de 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ées lorsque vous développez et gérez des applications. Effectuez régulièrement des révisions de code et analysez les applications pour détecter les vulnérabilités. Pour plus d’informations, consultez Recommandations pour sécuriser un cycle de vie de développement.

Opérations de gestion renforcée

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 l’orchestration de la sécurité (SOAR) pour détecter les anomalies.

Envisagez d’exiger des PW ou des SAP pour les opérations de gestion privilégiée. Les PW et les SAW sont des appareils physiques renforcés qui offrent des avantages de sécurité significatifs, 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 d’accès privilégié.

Facilitation Azure

Microsoft Defender pour le 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 suit les normes de sécurité et les certifications du secteur. Vous pouvez l’utiliser avec des 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 d’une image. Installez uniquement ce dont vous avez besoin.

  2. Ajuster les configurations. Désactivez les comptes inutilisés. La configuration par défaut des systèmes d’exploitation comporte des comptes supplémentaires liés aux groupes de sécurité. Si vous n’utilisez pas ces comptes, désactivez ou supprimez-les du système. Les identités supplémentaires sont des vecteurs de menace 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. Bloquez les applications et services qui s’exécutent par défaut. Approuvez uniquement les applications et services nécessaires aux fonctionnalités 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 et correctifs de sécurité pour atténuer les vulnérabilités connues.

Benchmarks CIS

Liste de contrôle de sécurité

Reportez-vous à l’ensemble complet de recommandations.