Problématique
Améliorer la sécurité des applications PHP/Symfony avant leur déploiement en production.
Notre réponse
Intégration dans le processus de CI/CD sur Gitlab d'étapes préalables au déploiement, liées à la sécurité (scan des dépendances, SAST, etc).
Le résultat
Une automatisation des vérifications de sécurité les plus importantes intégrées au processus de déploiement utilisé pour tous les projets PHP/Symfony.
Projets sécurisés
15+
Étapes CI/CD de sécurité
5+
Coût de licences supplémentaires
0 €
Difficulté de mise en œuvre
Facile
Le client
L’ARS (Agence Régionale de Santé) s’est rapprochée d’Athéo ingénierie en partenariat avec SaaS Production afin de mettre en place au sein de leur SI des processus automatisés d’amélioration de la sécurité des applications. La sécurité des applicatifs de l'ARS est cruciale compte tenu des informations confidentielles liées à la santé qui sont gérées par certains d'entre eux.
La problématique
Le souhait était d'intégrer via un ou plusieurs outils des mécanismes de contrôle automatique d'un maximum de points liés à la sécurité des applicatifs dans l'écosystème PHP/Symfony de l'ARS. Ces contrôles doivent avoir lieu avant la mise en production du code pour éviter d'exposer malencontreusement les applicatifs à des failles de sécurité évitables.
La solution
Après constatation que l’ARS utilise la solution Gitlab pour l’hébergement du code source de ces applicatifs, nous avons suggéré l’utilisation de ses fonctionnalités d’intégration et de déploiement continu afin d’implémenter les couches de sécurité supplémentaires.
Ces tests de sécurité seront exécutés avant que le code n’atteigne le serveur de production, directement au sein des dépôts de code source après chaque modification de code, ainsi que dans les Merge Requests (MR) soumises par les développeurs. Ces validations sont axées sur deux problématiques principales décrites ci-dessous :
Scan des dépendances - Security Advisories (CVEs) : Couverture de la détection de vulnérabilités de sécurité connues présentes dans les composants tiers utilisés par l’application.
Static Application Security Testing (SAST) : Couverture de la détection de vulnérabilités de sécurité potentielles liées à des erreurs et/ou des faiblesses du code applicatif.
D’autres axes de sécurisation sont également possibles (antivirus, analyse dynamique de code, etc.), mais dans un premier temps notre prestation se concentre sur ces deux aspects qui permettent des gains concrets en termes de sécurité pour une mise en œuvre relativement facile.
Les points clés
Scan des dépendances
Cette étape couvre la détection de vulnérabilités de sécurité connues, en ciblant le code tier utilisé, issu des contributions de la communauté. Les librairies tierces utilisées sont scannées afin de déterminer si certaines d’entre elles sont vulnérables (via la base de données des Security Advisories de Github).
Analyse statique
Cette étape nommée Static Application Security Testing (SAST) couvre la détection de vulnérabilités de sécurité potentielles liées à des erreurs et/ou des faiblesses du code applicatif.
Intégration dans le processus de production
Les étapes de sécurité sont intégrées directement dans le processus de production de code utilisé par tous les développeurs de l'ARS. Le respect des règles de sécurité est donc renforcé au niveau de l'organisation entière.
Adaptation par projet et par pile technologie
Le processus peut être facilement adapté selon la typologie de chaque projet et les piles technologies utilisées. Chaque langage de programmation dispose d'outils dédiés à mettre en place.
Les retours