Conception pour protéger la disponibilité

Effectué
Empêchez ou réduisez le temps d’arrêt du système et de la charge de travail et la dégradation en cas d’incident de sécurité à l’aide de contrôles de sécurité renforcés. Vous devez préserver l’intégrité des données pendant l’incident et après la récupération du système.

Vous devez trouver un équilibre entre les choix en matière d’architecture de disponibilité et ceux en matière d’architecture de sécurité. Le système doit disposer de garanties de disponibilité pour garantir que les utilisateurs ont accès aux données et que ces données sont accessibles. Du point de vue de la sécurité, les utilisateurs doivent agir dans l’étendue d’accès autorisée et les données doivent être approuvées. Les contrôles de sécurité doivent bloquer les acteurs malveillants, mais ils ne doivent pas empêcher les utilisateurs légitimes d’accéder au système et aux données.

Exemple de scénario

Contoso Concierge exécute un système logiciel de gestion hôtelière utilisé dans plus de 50 marques d’hôtels aux États-Unis. Il est chargé de la réservation, de la réservation des clients, ainsi que du suivi des services fournis aux clients et du personnel de nettoyage. Il s’agit d’un système cloud qui s’étend sur deux régions aux États-Unis. Il est principalement hébergé sur des groupes de machines virtuelles identiques. Dans les hôtels, les ordinateurs clients sont basés sur un navigateur.

Améliorer la fiabilité grâce à une sécurité robuste

Utilisez des contrôles de sécurité et des modèles de conception pour empêcher les attaques et les failles de code de provoquer l’épuisement des ressources et de bloquer l’accès.

L’adoption de cette approche permet de s’assurer que le système ne subit pas de temps d’arrêt provoqué par des actes malveillants, tels que des attaques par déni de service distribué (DDoS).

Problématique de Contoso

  • L’équipe de charge de travail et les parties prenantes de la charge de travail considèrent que la fiabilité de ce système est de la plus haute importance, car un nombre élevé de clients des hôtels dépend de celui-ci pour les voyages d’affaires et de loisirs. Les hôtels doivent assumer la responsabilité de la gestion de leurs activités.
  • L’équipe a investi des ressources considérables dans les tests des exigences fonctionnelles et non fonctionnelles pour garantir un haut niveau de fiabilité, notamment en appliquant des pratiques de déploiement sécurisées pour publier de manière fiable les mises à jour de l’application.
  • Ayant porté principalement son attention sur la fiabilité, l’équipe a été moins attentive à la sécurité. Récemment, une mise à jour publiée contenait une faille de code qu’un attaquant a exploitée pour neutraliser l’ensemble du système pour de nombreux hôtels. L’attaque a submergé les serveurs d’applications dans une région pendant plus de quatre heures un soir, ce qui provoqué des problèmes pour les clients des hôtels.
  • L’attaquant s’est servi des serveurs d’applications Contoso pour dévier par proxy les demandes adressées vers un compte de stockage régional afin de recevoir des informations de folio prégénérées. Un folio malveillant extrêmement volumineux a été généré, ce qui a provoqué l’épuisement des ressources sur le serveur d’applications, car il était chargé en mémoire, et les nouvelles tentatives des clients ont diffusé le problème sur tous les serveurs d’applications.

Application de l’approche et résultats

  • L’équipe a examiné un modèle de conception pour supprimer ses serveurs d’applications du flux de demandes de folio et a opté pour une approche Clé de valet. Bien qu’elle n’aurait pas évité le problème, cette approché aurait isolé l’impact.
  • L’équipe a également renforcé la validation des entrées dans le système pour nettoyer les entrées, ce qui permettra à l’avenir d’empêcher les tentatives malveillantes de ce type.
  • À présent, grâce au nettoyage des entrées et à une conception renforcée, un type de risque a été atténué.

Limiter les vecteurs d’attaque de manière proactive

Implémentez des mesures de prévention pour les vecteurs d’attaque qui exploitent les vulnérabilités dans le code de l’application, les protocoles réseau, les systèmes d’identité, la protection contre les programmes malveillants et d’autres domaines.

Implémentez des analyseurs de code, appliquez les derniers correctifs de sécurité, mettez à jour les logiciels et protégez votre système avec un logiciel anti-programme malveillant efficace en continu. Vous pouvez ainsi réduire la surface d’attaque pour garantir la continuité des activités.

Problématique de Contoso

  • Les machines virtuelles utilisées pour héberger le système sont des images de la Place de marché Azure avec le dernier système d’exploitation Ubuntu. Le processus d’amorçage d’une machine virtuelle configure quelques certificats, ajuste une configuration SSH et installe le code de l’application, mais aucun outil anti-programme malveillant n’est utilisé.
  • Bien qu’Azure Application Gateway est à la tête de la solution, il est utilisé uniquement comme passerelle Internet ; la fonction de pare-feu d’applications web (WAF) n’est pas activée pour le moment.
  • Avec ces deux choix de configuration, l’environnement de calcul n’est pas protégé contre les vulnérabilités dans le code ou l’installation involontaire de programmes malveillants.

Application de l’approche et résultats

  • Après consultation de l’équipe de sécurité dans Contoso, les machines virtuelles sont désormais inscrites dans une solution antivirus gérée par l’entreprise.
  • L’équipe décide également d’activer et de régler la fonction WAF pour protéger le code de l’application en éliminant les demandes à risque connues, telles que les tentatives d’injection SQL, au niveau de la passerelle.
  • L’application et la plateforme d’application disposent désormais d’une défense en profondeur supplémentaire qui les protège contre les attaques susceptibles d’avoir un impact sur la disponibilité du système.

Sécuriser votre stratégie de récupération

Appliquez au moins le même niveau de rigueur de sécurité dans vos ressources et processus de récupération que celui de l’environnement principal, notamment les contrôles de sécurité et la fréquence de sauvegarde.

Vous devez disposer d’un état de système sécurisé préservé dans la récupération d’urgence. Le cas échéant, vous pouvez basculer vers un système ou un emplacement secondaire sécurisé ou restaurer des sauvegardes qui n’introduisent aucune menace.

Un processus bien conçu peut empêcher un incident de sécurité d’entraver le processus de récupération. Des données de sauvegarde endommagées ou des données chiffrées qui ne peuvent pas être déchiffrées peuvent ralentir la récupération.

Problématique de Contoso

  • Bien que le système fonctionne en mode actif/actif entre les régions, l’équipe a mis en place un plan de récupération d’urgence pour rétablir la continuité de l’activité dans les pires scénarios.
  • Une partie de ce plan inclut l’expédition des sauvegardes vers une troisième région aux États-Unis.
  • Malheureusement, les sauvegardes aboutissaient dans un système qui n’était pas fréquemment surveillé et dont les contrôles de sécurité étaient relativement laxistes. Lors d’un exercice, l’équipe a constaté que toutes les sauvegardes ont été infectées par des programmes malveillants. Si un incident réel avait dû se produire à ce moment-là, il aurait été impossible de mener à bien une récupération.

Application de l’approche et résultats

  • L’équipe a consacré du temps et des efforts pour sécuriser l’emplacement des sauvegardes en ajoutant des contrôles réseau et d’identité supplémentaires afin de protéger les données. À présent, les sauvegardes sont aussi conservées dans un stockage immuable pour empêcher toute falsification.
  • Après avoir examiné ses contrôles de sécurité, l’équipe constate que, durant le processus de récupération, l’application s’exécute sans fonction WAF pendant un certain temps. Elle modifie l’ordre des opérations pour combler cette faille.
  • L’équipe estimé à présent que les sauvegardes et le processus de récupération du système ne sont plus un vecteur d’attaque facile à exploiter.

Contrôle de vos connaissances

1.

Comment Contoso a-t-il utilisé des contrôles de sécurité pour répondre à une attaque qui a submergé son système ?

2.

Quelle mesure préventive peut par exemple être utilisée pour limiter les vecteurs d’attaque ?

3.

Vrai ou faux : lors de l’exécution dans un environnement de récupération, il est normal d’avoir une posture de sécurité assouplie par rapport à l’environnement de production.