Un fait d’actualité récent dans le domaine de la cybersécurité devrait faire réfléchir toute personne impliquée dans le développement logiciel en cloud. Comme l’a rapporté CSO, une personne malveillante s’est introduite dans un module Node.js populaire. Après s’être fait passer pour une personne de confiance et avoir obtenu un accès propriétaire, cet individu a réussi à envoyer une version dangereuse qui cachait des informations d’identification de « hot wallets » Bitcoin et Ethereum à des fins malveillantes dans le code.
Cette anecdote illustre à quel point il peut être difficile de savoir où placer sa confiance lors d’un projet de développement de logiciel en cloud. Les entreprises sont d’autant plus vulnérables aux menaces transmises par logiciel lorsqu’elles pratiquent le DevOps en cloud, en raison de son rythme rapide et de sa structure hiérarchique souple.
La souplesse du DevOps en cloud peut rendre les entreprises particulièrement vulnérables aux menaces logicielles.
Qu’est-ce que le DevOps en mode cloud ?
Le DevOps en mode cloud consiste à développer et à diffuser un logiciel sur des plateformes informatiques en cloud grâce au modèle DevOps. Comme son nom l’indique, DevOps est le résultat d’un mélange entre deux équipes et processus auparavant séparés : le développement (dev) et les opérations informatiques (ops). Il s’agit d’une nouvelle version des processus de développement logiciel traditionnel, où l’équipe de développement était chargée d’écrire le code et l’équipe d’opérations se chargeait d’appliquer ce code à la production. Les tests constituaient une étape intermédiaire.
DevOps – le mélange du développement (dev) et des opérations informatiques (ops).
DevOps en mode cloud – il consiste à développer et à diffuser un logiciel sur des plateformes informatiques en cloud.
Ce processus traditionnel de création de logiciel présente certains inconvénients en termes de vitesse et d’agilité. À force de se renvoyer les problèmes d’une équipe à l’autre en se disant qu’ils n’auraient qu’à s’en charger, la sortie d’un logiciel en devient un processus lent et compliqué. À l’inverse, le DevOps combine les équipes et les flux d’activité du développement et du lancement du logiciel, ce qui correspond très bien aux méthodologies de développement actuelles, axées sur l’agilité. Le DevOps s’associe également bien avec l’intégration continue (CI), qui consiste à insérer du code nouveau dans un logiciel en production directe.
Le cloud est naturellement adapté au DevOps. Tout va beaucoup plus vite lorsqu’il n’est pas nécessaire de mettre en place un environnement de développement sur site. Le cloud facilite également la collaboration des équipes de DevOps dont les membres viennent de plusieurs entreprises et sont séparés par de grandes distances. De nouvelles technologies, par exemple les conteneurs et les microservices, tirent également profit de cette combinaison du cloud et du DevOps. C’est tout simplement plus efficace. Mais c’est également moins sécurisé.
Les risques de sécurité du Devops en mode cloud
Les incidents comme celui qui a eu lieu sur Node.js sont à voir comme des mises en garde : il est crucial que les responsables informatiques comprennent que le DevOps en cloud est plus dangereux que le DevOps sur site. Grâce au cloud, l’environnement de développement et de production est plus mouvant et on peut plus facilement y accéder à distance. Si des entités extérieures, comme des informaticiens freelance et des prestataires de conception informatique, y participent, la prise de risque en est démultipliée. On risque notamment :
- L’insertion de code malveillant dans le logiciel de production, c’est un ransomware
- L’emploi abusif des environnements de développement et de production pour violer la sécurité des données ou pour espionner
- L’implantation de rootkits sur les serveurs de production
Les infrastructures cloud sont plus mouvantes et on peut plus facilement y accéder à distance. Chaque point d’accès à distance est une source d’intrusion potentielle.
Le contrôle des accès comme point à risque du DevOps en cloud
Pour sécuriser le DevOps en cloud, il faut être en mesure de répondre aux questions fondamentales que l’on se pose après un incident de sécurité : Qui a fait quoi ? Quand ? Dans le cadre d’un processus traditionnel de développement de logiciel, il est relativement facile de répondre à ces questions. Vous disposez d’un historique des connexions aux environnements de développement. Partons du principe que vous avez un système de gestion des accès à privilèges (PAM) en place : vous pouvez contrôler toutes les personnes qui accèdent à des sessions administrateurs sur les serveurs de production. Dans le cloud, tout cela est plus flou.
La gestion des accès à privilège et le DevOps en mode cloud
Pour assurer la sécurité du DevOps en cloud, il faut contrôler les accès à privilèges du back-end de tous les éléments du système basés sur le cloud. Il s’agit notamment des environnements de développement et de test, ainsi que les environnements de production. Le DevOps combine les équipes et les pratiques, c’est pourquoi on peut considérer que tous les éléments distincts font partie d’un même système.
Un utilisateur à privilèges à accès au back-end d’un système en tant qu’administrateur. Avec le DevOps en mode cloud, quasiment tout le monde a un accès avec plus ou moins de privilèges. Tout utilisateur n’est pas forcément en mesure de modifier les autres comptes et les configurations du système, mais s’il peut se connecter et modifier le code de production, il faut le considérer comme un utilisateur à privilèges. Ces utilisateurs doivent être régulés grâce aux politiques de contrôle des accès d’utilisateurs à privilèges, et sont sujets à la gestion des accès à privilèges (PAM).
Une solution PAM permet d’atteindre cet objectif. Elle est conçue pour garantir que seuls les administrateurs disposant des droits d’accès peuvent se connecter aux systèmes de back-end et permet de surveiller et de gérer tous les accès des comptes à privilèges. Cela s’applique aussi bien aux structures en cloud qu’aux systèmes locaux. Dans le cas d’un DevOps en cloud, une solution PAM permet de gérer de façon sécurisée et optimisée les autorisations et les historiques d’activité des utilisateurs qui accèdent à un élément de l’environnement DevOps, quel que soit cet élément ou l’endroit où il est hébergé.
Une solution PAM permet de gérer de façon sécurisée et optimisée les autorisations et les historiques d’activité des utilisateurs, ce qui améliore la sécurité des entreprises, aussi bien dans le cadre d’une structure en cloud que pour les systèmes locaux.
Dans le cadre du DevOps en cloud, la solution PAM permet de centraliser efficacement la gestion des accès des membres de l’équipe de développement et d’opération informatique sur tous les systèmes en cloud auxquels elle est appliquée. Elle met en place des politiques de restriction des utilisateurs pour les empêcher de contourner les systèmes de sécurité. La solution PAM permet d’accorder et de retirer les privilèges des développeurs et des membres de l’équipe d’opération informatique. La PAM réduit également les risques que d’anciens membres de l’équipe de développement ou des individus qui n’en ont plus besoin conservent leur accès aux environnements de DevOps en cloud.
Utiliser les outils de PAM pour gérer les risques liés à la maintenance d’une application par un tiers
WALLIX Bastion propose une solution PAM complète pour le DevOps en cloud. Il permet un déploiement généralisé et durable sur une structure cloud qui prend en charge le DevOps. Pour ce faire, il établit un même portail d’accès sur lequel se connectent les membres de l’équipe de développement et d’opérations informatiques. Le Bastion prend en charge les systèmes en cloud public, en cloud privé, en cloud hybride et les environnements sur site.
WALLIX propose plusieurs éléments qui ont chacun leur utilité afin de gérer les risques liés au contrôle des accès du DevOps en mode cloud. Le gestionnaire d’accès autorise les utilisateurs à se connecter aux ressources d’un seul clic et depuis n’importe quel appareil, sans avoir à installer un outil de contrôle à distance. Ceux qui travaillent en DevOps en cloud à l’heure actuelle sont généralement mobiles, c’est pourquoi ce point est un avantage en ce qui concerne la conformité PAM. Tous les mots de passe sont stockés dans un coffre à mots de passe sécurisé et certifié.
Le Session Manager WALLIX surveille l’activité des sessions d’utilisateurs de DevOps en cloud à privilèges en temps réel. Il crée une piste d’audit complète. Cet outil peut être configuré afin qu’il intervienne automatiquement lorsque les politiques d’accès au DevOps en cloud ne sont pas respectées. Chaque accès est attribué à une identité réelle, ce qui permet au Session Manager de Bastion d’assurer que tous les utilisateurs sont tenus responsables de leurs actions. Le WALLIX Bastion permet ensuite de déterminer plus vite ce qu’il s’est passé en cas d’incident.
Le Bastion WALLIX comprend des fonctions robustes de gestion des accès,
des sessions et des mots de passe.
La solution WALLIX propose une architecture sans agent. Grâce à cette approche, il n’est pas nécessaire de remanier complètement la solution PAM en cas de changements dans les systèmes protégés. Contrairement à la solution WALLIX, de nombreuses solutions PAM nécessitent un logiciel dédié installé sur chaque appareil ou poste administré. L’utilisation d’agents dédiés peut ralentir l’implémentation de la solution PAM et crée des difficultés lorsque les applications sont mises à jour.