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.

  1. Modélisation et cartographie des menaces afin d’identifier où vous devez, quand et comment ajouter de la sécurité à votre pipeline CI/CD.
  2. 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).
  3. 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)
  4. 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.
  5. Tester la sécurité … comme toutes les autres fonctions. (Quelques outils : BRAKEMAN , phan, sonarSource, Veracode)
  6. 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.
  7. 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.
  8. Automatisation de l’infrastructure as a code (IaC)
  9. Monitoring continu car les failles de sécurité évoluent au rythme des menaces et autres attaques… Outils : kibana, Grafana, Detectitfy
  10. 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 :

https://searchitoperations.techtarget.com/tip/9-ways-to-infuse-security-in-your-CI-CD-pipeline?src=7597951&asrc=EM_ERU_161560404&utm_medium=EM&utm_source=ERU&utm_campaign=20210513_ERU+Transmission+for+05%2F13%2F2021+%28UserUniverse%3A+332786%29&utm_content=eru-rd2-control

En savoir plus

Architecture MACH, vers toujours plus d’agilité et de scalabilité

L’architecture MACH, combinant Microservices, API-first, Cloud-native et Hybrid, offre une approche flexible et scalable pour les entreprises. Elle décompose les systèmes monolithiques en composants autonomes, facilite la gestion des données grâce à des API robustes, et intègre parfaitement les solutions cloud pour réduire les coûts et améliorer l’efficacité. Toutefois, elle présente des défis tels que…

Lire

Modernisation du SI et poids du Legacy ?

La modernisation du système d’information est essentielle pour les DSI qui visent à éliminer les contraintes des systèmes legacy et à renforcer l’innovation et la compétitivité. En se concentrant sur le décommissionnement, la migration vers le cloud, la réingénierie d’applications et l’encapsulation via des API, les entreprises abordent la dette technologique et simplifient leur infrastructure…

Lire

Move-to-cloud, pour ou contre ?

Découvrez les avantages et défis de la migration vers le cloud pour les entreprises, incluant flexibilité, réduction des coûts, accès à des technologies avancées, et les considérations sur la sécurité, la dépendance, et la stratégie FinOps pour une gestion optimale des coûts cloud.

Lire