Dans de nombreuses organisations, DevOps fonctionnait séparément de la sécurité. Avec la vitesse accrue de développement et de déploiement, les contrôles de sécurité sont souvent une réflexion après coup. Cependant, le mouvement DevSecOps visant à inclure la sécurité le plus tôt possible s’avère payant.
DevOps est un ensemble de pratiques qui utilisent des processus d’intégration continue en brisant les silos entre le développement de logiciels et les opérations informatiques.
Traditionnellement, de nombreuses organisations séparaient les équipes par fonction afin de développer, déployer et gérer des applications au sein d’une infrastructure. Cependant, la course à l’innovation et à la transformation numérique d’une entreprise a accéléré le rythme de production et de publication de nouvelles fonctionnalités. La sécurité est souvent une préoccupation ultérieure, ce qui réduit la qualité et génère de nombreux clients mécontents. L’ajout d’une modification du code application vers la fin du cycle de développement est non seulement extrêmement coûteux (en raison de tests supplémentaires et de recertifications), mais renforce également la perception commune selon laquelle « la sécurité nous ralentit ».
Alors que les temps de cycle s'accélèrent et que les équipes de développement adoptent davantage de méthodologies Agile pour publier des logiciels plus rapidement, l'intégration continue via DevOps vise à fournir des versions plus fréquentes, avec davantage de nouvelles fonctionnalités à commercialiser, plus rapidement. Tout est une question de vitesse.
L’utilisation des meilleures pratiques de sécurité dès le début du cycle de développement logiciel peut créer des effets positifs considérables sur les coûts et l’efficacité. Cependant, au sein de nombreuses organisations, les équipes de sécurité continuent d’exister en silo, tout comme les équipes de développement et d’exploitation fonctionnaient en silos avant le mouvement DevOps. De ce fait, un mouvement encore plus récent est apparu, qui intègre la sécurité dans le processus d’intégration/déploiement continu : Développement et sécurité des opérations.
La popularité croissante du mouvement DevSecOps est due en grande partie à une méthodologie appelée « shifting left ». Le « shifting left » est une méthode qui permet aux équipes de développement de logiciels de se concentrer dès le départ sur un code robuste. Cette méthode déplace la sécurité de son rôle réactif de gardien vers un rôle préventif. Les équipes de sécurité fournissent des conseils et un soutien aux équipes de développement et intègrent l’automatisation de la sécurité dans le pipeline de développement d’intégration continue/livraison continue (CI/CD) le plus tôt possible.
Dans un environnement DevSecOps, la sécurité est une responsabilité partagée qui génère une collaboration et un retour d'information bien plus importants, brise les barrières entre le développement, les opérations et la sécurité, pour mettre les fonctionnalités sur le marché plus rapidement, à moindre coût et avec une efficacité accrue.
Même si la sécurité est une responsabilité partagée, les équipes de sécurité ne peuvent pas s'attendre à ce que les développeurs deviennent instantanément des experts en sécurité et prennent les bonnes décisions en contrôle de sécurité dès la première occasion. Tout comme DevOps, DevSecOps est une philosophie qui nécessite un changement culturel dans la manière dont les applications sont développées et déployées. Cependant, si les équipes de sécurité se concentrent sur les cinq domaines ci-dessous, elles peuvent réduire les coûts, augmenter l'efficacité et améliorer la capacité d'évolution :
DÉCALAGE À GAUCHE
et intégrer la sécurité dans le processus le plus tôt possible dans le cycle de développement.
FAITES DU CHEMIN SÉCURISÉ LE CHEMIN FACILE
en se concentrant sur la fourniture de contrôles de sécurité packagés et fluides, intégrés au pipeline (CI/CD) du développeur.
Briser les cloisonnements
pour accroître la collaboration et le feedback entre les équipes de développement, d'exploitation et de sécurité (App Devs, DevOps et SecOps).
FORMER DES CHAMPIONS DE LA SÉCURITÉ
au sein de vos équipes de développement pour garder la sécurité à l'esprit.
CRÉER UN PIPELINE DE CONSTRUCTION
pour créer des contrôles de sécurité et des tests dans le même outil utilisé par le développeur. De cette façon, les contrôles sont appliqués automatiquement et de manière cohérente, et les équipes de développement n’ont pas besoin de dépendre des équipes de sécurité pour chaque nouvelle version.