La philosophie DevOps c’est faire évoluer un produit grâce à l’intégration des équipes de développement et d’opérations informatiques dans une boucle incrémentale pour gagner en capacité de déployer un produit rapidement. Penser à la sécurité informatique du produit uniquement à la fin de son développement ne correspond donc pas à cette philosophie, car cela induit un ralentissement important. Placer en revanche la sécurité au cœur du processus et au long du cycle de développement répond à cette démarche agile qu’est le DevOps. C’est ce qu’on appelle le DevSecOps. Mais que signifie concrètement ce terme ? Et comment avoir une approche collaborative DevSecOps ?
Avant d’essayer de donner une définition courte de DevSecOps, revenons à l’évolution des pratiques de travail en développement logiciel.
Dans la plus pure tradition du développement logiciel, les différentes équipes travaillent chacune de leur côté comme si elles étaient contenues dans des silos. La communication et la collaboration y sont alors limitées. Seul le management fait la jonction entre les résultats du travail de chaque chef de projet. La méthode Agile (sprint, scrum master…) a donné un certain souffle à ce type de gestion de projet grâce à une flexibilité débridant la créativité notamment. Mais, la mise à en application du manifeste agile n’abat pas les murs entre les équipes.
Il faut attendre l’apparition des pratiques DevOps, en 2007, pour que naisse une étroite collaboration entre les équipes de développement et celles des opérations. L’approche DevOps a permis l’émergence de la livraison continue et de l’intégration continue afin d’accélérer les cycles de développement et de répondre à l’accélération de la transformation digitale.
Néanmoins, les contrôles de sécurité sont encore insuffisamment intégrés dans le processus de développement. En effet, traditionnellement la sécurité est souvent vérifiée à la fin du développement avant le processus de déploiement, même dans le cadre des pratiques DevOps.
En revanche, la démarche DevSecOps consiste à mettre en place une méthodologie où les pratiques de sécurité sont présentes dès le début du processus de développement. Il s’agit donc d’une collaboration entre les équipes de sécurité informatique, les équipes de développement et les équipes d’exploitation dans le but d’une amélioration continue. On comprend alors mieux le terme DevSecOps où Sec se réfère aux équipes de sécurité et à leurs pratiques.
Avec le DevSecOps, fini le travail à la chaîne sans concertation ni collaboration entre les équipes. L’approche combinée de l’expert en sécurité informatique et du DevOps peut très bien fonctionner à condition que l’accent soit mis sur la sécurité et la collaboration dès le début du projet informatique.
DevSecOps signifie penser à la sécurité des applications et de l’infrastructure dès le départ, mais aussi automatiser certaines pratiques de sécurité afin d’empêcher des incidents qui viennent ralentir le flux de travail. En y réfléchissant bien, il s’agit là d’une évolution naturelle de la philosophie DevOps, puisqu’on élargit le champ de la collaboration avec l’intégration de toutes les parties prenantes dans le cycle de vie d’une application. Cela afin d’améliorer conséquemment le produit final.
Pour que le processus de développement intègre la sécurité avec brio, plusieurs points sont à observer. Par exemple :
En d’autres termes, il est nécessaire de créer un environnement agile propice au procédé collaboratif DevSecOps. Les développeurs ou le personnel d’exploitation ne doivent plus construire un projet et le balancer à l’équipe de sécurité par-dessus la cloison qui les sépare. Ces équipes ont la nécessité de comprendre que la sécurité informatique n’est pas une simple préoccupation externe, elle est aussi de leur responsabilité. Sans oublier que les personnels Dev et Ops sont souvent les mieux placés pour résoudre les problèmes de sécurité, à condition de détenir suffisamment de connaissance, de contexte et d’assistance de la part des équipes de sécurité.
Le DevSecOps souligne donc la nécessité d’introduire les équipes de sécurité dès le début du cycle de production. Ceci afin d’intégrer la sécurisation des informations, évaluer la sécurité open source et définir un plan d’automatisation de la cybersécurité. Le développeur doit par conséquent être aidé pour qu’il garde à l’esprit la notion de sécurité durant son codage, car c’est une tâche de développement supplémentaire, il faut le souligner. Ce processus implique que les équipes de sécurité partagent la visibilité, les commentaires et les informations sur les menaces connues.
Les environnements DevSecOps induisent de ce fait une formation à la sécurité pour les développeurs, mais aussi le choix d’une bonne technologie adaptée. Effectivement, des outils existent pour détecter les failles de sécurité et ils deviennent d’autant plus importants que la sécurité concerne aussi l’infrastructure et les services externes.
Il est préférable d’intégrer les protocoles de sécurité dans le processus de développement plutôt que d’ajouter des strates supplémentaires. Les équipes DevOps et les professionnels de la sécurité pourront alors mieux exploiter la puissance des méthodes agiles. Cette intégration a aussi l’avantage d’améliorer la collaboration entre les équipes tout en cherchant à atteindre l’objectif de créer du code sécurisé. D’autres avantages liés à la sécurité et à l’approche DevSecOps sont à noter :
Tout d’abord, et vous l’aurez compris, il est important de considérer les équipes de sécurité comme un atout inestimable permettant de prévenir les ralentissements. Elles aident, par exemple, à détecter tôt une application criblée de failles de sécurité. L’approche DevSecOps permet donc d’économiser un temps précieux ainsi que des ressources. Les coûts sont par conséquent maîtrisés.
Pour y parvenir, nous avons réuni pour vous six éléments importants constituant une approche collaborative DevSecOps :
L’approche collaborative DevSecOps se base sur un état d’esprit selon lequel tout le monde est responsable de la sécurité des systèmes d’information. C’est d’ailleurs la seule voie à suivre pour faire face aux cyberattaques de grande envergure, lesquelles sont devenues la norme.
La sécurité ne doit plus être le dernier obstacle avant la production et le déploiement. Il est nécessaire, au contraire, qu’elle fasse partie intégrante du processus de développement. Les équipes de sécurité ont alors tout intérêt à comprendre l’importance de codifier leur politique de sécurité afin que la sécurité du système d’information soit mieux comprise par les collaborateurs. De leur côté, les équipes de développement et les administrateurs système doivent apprendre comment la sécurité peut être utilisée pour accélérer réellement les cycles de publication. C’est en entrant dans une démarche DevSecOps qu’on devient DevSecOps. L’agilité de l’entreprise en sort grandie, de même que l’intelligence collective.
Si vous êtes un professionnel du cloud en DevOps et que vous souhaitez participer à des projets passionnant au sein d’entreprises en pleine transformation digitale, contactez le service recrutement d’Ozitem !
© 2023 Groupe Ozitem Mentions légales Politique de confidentialité