Fermer

août 13, 2019

DevSecOps in the Cloud – Politique et pratique


Le cloud computing est maintenant omniprésent dans l'industrie du développement de logiciels. De nombreux fournisseurs de services dans le cloud offrent tout, des serveurs virtuels «bare-metal» aux plates-formes informatiques complètes sans serveur. La rapidité avec laquelle les ressources informatiques peuvent être réservées et instanciées est un facteur majeur du succès de DevOps, où la répétabilité et l’automatisation sont essentielles. Cependant, l'informatique en nuage présente un risque important pour la sécurité si elle n'est pas correctement définie, régie et auditée. Ce billet de blog présente ces risques et explique comment établir un ensemble de politiques et de pratiques de sécurité pour l'utilisation des ressources dans le cloud.

Politiques et normes relatives aux ressources dans le cloud

Les équipes de développement et de sécurité ne parlent pas le même langage et ne le font pas. motivé de la même manière. Pour les équipes de développement, les principaux moteurs sont les exigences du système, tandis que pour l’équipe de sécurité, le principal facteur de motivation est l’identification et le contrôle des risques. Ces disciplines, ainsi que d’autres, doivent travailler conjointement pour créer et déployer des applications efficaces et sécurisées. Cependant, ils sont souvent gênés par la compréhension de ce qui est nécessaire pour un système sécurisé basé sur le cloud et de la mise en œuvre de ces stratégies. Par conséquent, la traduction des besoins de sécurité d'un groupe à un autre soulève plusieurs défis.

Le principal défi consiste à définir des politiques de sécurité pour l'utilisation des ressources en nuage de manière à faciliter une pratique pouvant être mise en œuvre (et vérifiable). Mais avant de pouvoir définir un ensemble de politiques de sécurité pour l'informatique en nuage, nous devons d'abord comprendre le modèle de responsabilité partagée (1) . En termes simples, c’est l’accord que les fournisseurs de services de cloud computing définissent pour l’utilisation de ces ressources et où la responsabilité de chaque partie commence et se termine. Pour le fournisseur de cloud, c’est la «sécurité de le cloud» – ce qui signifie la sécurité physique des équipements, des installations, de l’énergie et du personnel qui entretient l’infrastructure sous-jacente du service. Pour l’équipe de développement, il s’agit de «sécurité dans le nuage» – qui correspond à toutes les exigences de sécurité pour les applications, les données et la configuration réseau. Grâce à ce modèle, il est très important de distinguer les stratégies de sécurité relatives à l'informatique sur site par rapport à l'informatique en nuage. Par conséquent, certaines des politiques de sécurité existantes seront pertinentes et d'autres devront être améliorées ou modifiées pour prendre en charge les différents modèles d'utilisation du cloud.

Modèles d'utilisation du cloud

Il existe de nombreuses façons d'utiliser le cloud computing. Celles-ci incluent l'infrastructure en tant que service (IaaS), où le fournisseur établit un ensemble de serveurs virtuels, de stockage et de mise en réseau, tout en laissant l'installation et la configuration logicielles à l'utilisateur. Le niveau suivant est PaaS (Platform-as-a-Service) où le fournisseur de cloud crée une plate-forme informatique, telle qu'une pile d'applications Web de serveur, un magasin de données et des composants de support, que l'équipe de développement utilise pour sa solution. Une autre approche est le logiciel en tant que service (SaaS), dans lequel l'ensemble du logiciel est proposé à partir d'une plate-forme basée sur le cloud; aucune installation directe n'est requise. De nombreuses autres ressources cloud disponibles pour les équipes de développement (par exemple, FaaS (fonction-as-a-service – pour l'informatique événementielle sans serveur)) nécessitent encore une attention particulière pour les risques de sécurité.

Heureusement pour le développement et la sécurité. équipes un ensemble de normes de base a été publié par le Center for Internet Security qui étend un ensemble commun de règles de sécurité conformes aux meilleures pratiques dans l'environnement informatique en nuage. Ils sont présentés comme une série de risques et de contrôles pour les problèmes de sécurité courants dans les environnements en nuage. Par exemple, la configuration d'un pare-feu de réseau dans AWS ouvre par défaut le port de communication SSH 22 au monde (par exemple, 0.0.0.0/0, :: / 0 au format ipv4 et ipv6, respectivement). Il est clair que cela représente un risque important pour tout environnement informatique, mais comme récemment observé avec la violation de données CapitalOne la mise en place inappropriée de règles de sécurité dans des environnements en nuage peut entraîner une exposition des informations protégées.

un ensemble de règles de sécurité de base, chaque groupe de sécurité d’entreprise aura des besoins spécifiques pour l’organisation. Ces stratégies supplémentaires doivent être définies et traitées de la même manière que toute autre stratégie d'entreprise. Par exemple, si l'organisation est soumise aux règles générales de protection des données (GDPR) établies dans l'Union européenne (UE), les règles créées pour le stockage et la sauvegarde des données dans le cloud doivent refléter ces exigences réglementaires. Pour être conforme, chaque stratégie et contrôle de sécurité défini par l'équipe de sécurité doit être mis en œuvre par les équipes de développement et de support des opérations. C’est une tâche très fastidieuse et laborieuse pour de nombreuses organisations. Il est clair que l'automatisation DevOps sera très utile à cet égard.

Automatisation de la conformité au cloud

Tous les principaux fournisseurs de services dans le cloud offrent une API bien documentée et définie pour l'accès à leur plate-forme de services. De nombreuses équipes de développement souhaitent ou souhaiteraient utiliser ces points d'accès pour automatiser la création et la configuration de ressources cloud. Cet accès est généralement configuré pour mettre en œuvre une stratégie d'accès sécurisé dans laquelle seules les autorisations accordées peuvent être utilisées (telles que la création / destruction de serveur. Comme indiqué ci-dessus, cela indique qu'une forme de gestion des identités doit être mise en œuvre conformément à la stratégie de sécurité. Lors de l’établissement de ces ressources, il appartient à l’équipe de sécurité de vérifier périodiquement le maintien de la conformité des différentes plates-formes aux stratégies définies, c’est là que l’automatisation de la conformité peut être la plus efficace.

Il existe plusieurs outils permettant de vérifier automatiquement ressources basées sur le cloud, en particulier pour les modèles d’utilisation PaaS et IaaS. L’évaluation des stratégies établies est définie par un «profil» représentant un ensemble de comparaisons bien définies pour la configuration, par exemple, à l’aide du profil InSpec fourni par l’équipe CIS. que la vulnérabilité de sécurité du groupe d'accès au réseau par défaut susmentionnée a été supprimée:

 l 'cis-aws-foundation-4.4'

titre 'S'assurer que le groupe de sécurité par défaut de chaque VPC limite tout le trafic'

aws_vpcs.vpc_ids.each do | vpc |
   décrivez aws_security_group (nom_groupe: 'default', id_vpc: vpc) do
      its ('inbound_rules') {devrait être_empty}
      its ('outbound_rules') {devrait être_empty}
   fin
fin 

Grâce à l'utilisation de l'audit automatisé de la politique de sécurité intégré au pipeline CI / CD DevOps, l'équipe de sécurité peut être mieux informée des violations de la politique, de la fréquence et du temps nécessaire à la résolution. Ce type de rapport est également très utile pour les auditeurs externes lorsque l'entreprise souhaite obtenir certains niveaux de certification, tels que HiTrust pour les organisations des sciences de la vie et de la santé.

Gouvernance et supervision des ressources dans le cloud

Enfin, il est important pour chaque entreprise souhaitant utiliser largement les ressources en nuage dispose d'un mécanisme d'évaluation périodique des stratégies de ressources en nuage. De temps en temps, les fournisseurs de cloud offrent de nouvelles fonctionnalités et les fonctionnalités existantes subissent des modifications importantes. La mise en place d'un organe de gouvernance et de supervision est donc nécessaire pour garantir que les stratégies restent en adéquation avec les besoins croissants des équipes de développement en matière d'informatique en nuage.

Outre l'examen périodique des stratégies de sécurité en nuage, il est recommandé de veiller à qu'il existe des contrôles minimes, mais nécessaires, sur l'utilisation des ressources du cloud par l'équipe de développement. C’est pour plusieurs raisons, tout d’abord, pour réduire les coûts de l’instanciation frivole ou paresseuse de ressources qui ne sont ensuite ni utilisées ni oubliées. Deuxièmement, il doit exister des contrôles sur les types de ressources cloud à mettre à disposition et auprès de quel fournisseur. Enfin, en tant que mécanisme de contrôle des coûts, il convient de procéder à un audit périodique de la manière dont les équipes utilisent les ressources du cloud.

Comme indiqué dans cet article, l'établissement d'une politique de sécurité et d'un ensemble de pratiques d'utilisation des ressources du cloud comporte trois aspects. La première consiste à définir l'ensemble approprié de règles, normes, directives et pratiques de base à appliquer à toutes les équipes utilisant des modèles d'utilisation spécifiques. Deuxièmement, il faut automatiser l’audit de ces ressources pour s’assurer que l’équipe de sécurité est informée des violations des règles et fournir un mécanisme permettant de résoudre rapidement le problème. Enfin, il est important de mettre en place une gouvernance et une supervision des équipes afin d'éviter des erreurs coûteuses en matière d'utilisation excessive ou inappropriée des ressources cloud.

Liens:

1) Modèle de sécurité partagée AWS Modèle de sécurité partagée Azure






Source link