10 bonnes pratiques pour intégrer la sécurité dans votre cycle de développement CI/CD … et shopping list.
Délivrer toujours plus vite de nouvelles applications et de nouvelles fonctionnalités impose le CI/CD aux équipes de développement car la plupart des étapes sont automatisées et les gains de temps sont considérables… mais ils se font malheureusement souvent aux dépens de la sécurité. On découvre souvent trop tard des failles de vulnérabilité en environnement de production qui se révèlent extrêmement coûteuses à réparer en termes de ressources.
La solution ? Si vous souhaitez conserver les bénéfices de l’agilité, vous devez intégrer la sécurité continue dans le cycle de vie du développement logiciel (et non à la fin) afin d’être alertés rapidement en cas de code vulnérable ou défectueux. Certes, vous rajoutez une couche supplémentaire de contrôle mais vous préservez une mise sur le marché rapide des nouvelles applications et la protection des données … et la confiance des utilisateurs dans le temps n’en sera que renforcé.
Wadi Essafi, Président, Harington
Cela sous-entend une évolution des pratiques et un investissement dans des outils car même si de nombreux tests sont automatisés, ils n’éliminent pas certains tests manuels qui restent nécessaires.
10 bonnes pratiques pour intégrer la sécurité dans votre CI/CD.
- Modélisation et cartographie des menaces afin d’identifier où vous devez, quand et comment ajouter de la sécurité à votre pipeline CI/CD.
- Connaissance du cycle CI/CD et ses composants pour établir un registre des actifs qui collecte toutes les données, centralise les changements apportés et les actions (system logs, référentiels, code repository).
- Mise en place d’un système de vérification, de validation et de sauvegarde du code. Un plugin de sécurité IDE analyse en temps réel le code au fur et à mesure qu’il est écrit, alerte les développeurs en cas de vulnérabilité détectée et les guident pour y remédier. Vous devez établir des règles et effectuer des contrôles pour vous assurer que le code répond bien aux normes en terme de qualité et de sécurité. (Deux outils : CyberArk Conjur, git-secrets)
- Analyse rapide du code validé via des outils d’analyse statique qui ne nécessitent pas d’exécuter l’application et vous donnent des conseils pour corriger les bugs.
- Tester la sécurité … comme toutes les autres fonctions. (Quelques outils : BRAKEMAN , phan, sonarSource, Veracode)
- Vérification de la sécurité open source des bibliothèques et autres composants importés pour détecter les failles de vulnérabilité. Quelques outils SCA : WhiteSource Bolt et Snyk.
- Mener régulièrement des tests plus poussés … Scans actifs pendant la nuit pour simuler des attaques et détecter des vulnérabilités ou autre défaillances inconnues jusqu’alors (Outil OWASP ZAP), validation de l’infrastructure en utilisant les outils proposés par Azure ou AWS.
- Automatisation de l’infrastructure as a code (IaC)
- Monitoring continu car les failles de sécurité évoluent au rythme des menaces et autres attaques… Outils : kibana, Grafana, Detectitfy
- Organisation d’évènements post-morterms pour tirer les leçons du passé, renforcer la résilience et mieux se préparer à l’avenir dans une démarche d’amélioration continue 😉
Source :
En savoir plus
Découvrez comment l’intelligence artificielle révolutionne l’automatisation des tests logiciels en 2024. Grâce à des outils comme Testim, Applitools, et BrowserStack, les équipes QA peuvent réduire leurs coûts de test de 50% et améliorer la qualité des logiciels avec des tests plus rapides et précis.
Le numérique responsable n’est plus une option, mais une nécessité. Découvrez comment réaliser un bilan carbone IT avec Harington Impact pour réduire votre empreinte environnementale tout en optimisant vos coûts et en répondant aux exigences réglementaires croissantes.
Les data centers consomment environ 2 % de l’électricité mondiale, et le numérique représente 4 % des émissions mondiales de gaz à effet de serre. Harington Impact propose une plateforme d’écoconception logicielle pour aider les DSI à réduire l’empreinte environnementale de leurs applications.