Cet article fait partie d’une série sur l’adoption de GitHub Advanced Security à grande échelle. Pour l’article précédent de cette série, consultez « Phase 1 : Aligner sur votre stratégie de déploiement et vos objectifs ».
Préparation de l’activation de l’code scanning
Code scanning es une fonctionnalité que vous utilisez pour analyser le code dans un dépôt GitHub afin de détecter d’éventuelles vulnérabilités de sécurité et erreurs de codage. Tous les problèmes identifiés par l’analyse sont énumérés dans votre référentiel. Pour plus d’informations, consultez « À propos de l’analyse du code ».
Le déploiement de l’code scanning sur des centaines de dépôts peut être difficile, en particulier lorsque le déploiement est effectué de manière inefficace. Le suivi de ces étapes garantit que votre déploiement est efficace et réussi.
Code scanning est également disponible pour tous les dépôts publics sur GitHub sans licence GitHub Advanced Security.
Préparation des équipes pour l’code scanning
Tout d’abord, préparez vos équipes à utiliser l’code scanning. Plus le nombre d’équipes utilisant l’code scanning sera élevé, plus vous aurez de données pour générer des plans de correction et superviser la progression de votre déploiement.
Pour une présentation de code scanning, consultez :
- « À propos de l’analyse du code »
- « À propos des alertes d’analyse du code »
- « Évaluation des alertes d’analyse du code pour votre référentiel »
Votre objectif principal doit être de préparer le plus d’équipes à utiliser l’code scanning qu’il est possible. Vous pouvez également encourager les équipes à apporter des corrections appropriées, mais nous vous recommandons de privilégier l’activation et l’utilisation de l’code scanning par rapport à la résolution des problèmes au cours de cette phase.
Préparation de l’activation de l’secret scanning
Note
Lorsqu’un secret est détecté dans un référentiel qui a activé secret scanning, GitHub alerte tous les utilisateurs ayant accès aux alertes de sécurité pour le référentiel.
Les secrets trouvés dans les dépôts publics à l’aide des alertes d’analyse des secrets pour les partenaires sont signalés directement au partenaire, sans qu’une alerte soit créée sur GitHub Enterprise Cloud. Pour plus d’informations sur les modèles de partenaires pris en charge, consultez « Modèles d’analyse de secrets pris en charge ».
Si un projet communique avec un service externe, il se peut qu’il utilise un jeton ou une clé privée pour l’authentification. Si vous archivez un secret dans un dépôt, toute personne disposant d’un accès en lecture au dépôt peut l’utiliser pour accéder au service externe avec vos privilèges. L’Secret scanning analysera l’intégralité de votre historique Git sur toutes les branches présentes dans vos dépôts GitHub pour les secrets, et vous avertira ou bloquera la poussée contenant le secret. Pour plus d’informations, consultez « À propos de l’analyse des secrets ».
Alertes d’analyse des secrets pour les partenaires s’exécute automatiquement sur les dépôts et packages npm publics pour informer les fournisseurs de services des fuites de secrets sur GitHub.
Les Alertes d’analyse des secrets pour les utilisateurs sont disponibles gratuitement dans tous les référentiels publics.
Considérations lors de l’activation de l’secret scanning
Enabling secret scanning au niveau de l’organisation peut être simple, mais le fait de cliquer sur Activer tout au niveau de l’organisation et de cocher l’option Activer automatiquement l’secret scanning pour chaque nouveau référentiel a des effets en aval que vous devez connaître :
Consommation de licence
L’activation de secret scanning pour tous les référentiels optimise votre utilisation des licences GitHub Advanced Security. C’est une bonne chose si vous avez suffisamment de licences pour les committers actuels de tous ces référentiels. Si le nombre de développeurs actifs est susceptible d’augmenter au cours des prochains mois, vous risquez de dépasser votre limite de licence et de ne pas pouvoir utiliser GitHub Advanced Security sur les dépôts nouvellement créés.
Volume initial élevé de secrets détectés
Si vous activez l’secret scanning sur une grande organisation, préparez-vous à voir un grand nombre de secrets trouvés. Parfois, cela provoque un choc pour les organisations et l’alarme est déclenchée. Si vous souhaitez activer l’secret scanning sur tous les dépôts à la fois, planifiez la façon dont vous répondrez aux alertes multiples au sein de l’organisation.
L’Secret scanning peut être activée pour des dépôts individuels. Pour plus d’informations, consultez « Activation de l’analyse des secrets pour votre référentiel ». L’Secret scanning peut également être activée pour tous les dépôts de votre organisation, comme décrit ci-dessus. Pour plus d’informations sur l’activation pour tous les dépôts, consultez « Gestion des paramètres de sécurité et d'analyse pour votre organisation ».
Modèles personnalisés pour l’secret scanning
L’Secret scanning détecte un grand nombre de modèles par défaut, mais peut également être configurée pour détecter des modèles personnalisés, tels que les formats de secrets propres à votre infrastructure ou utilisés par les intégrateurs, que l’secret scanning de GitHub Enterprise Cloud ne détecte pas actuellement. Pour plus d’informations sur les secrets pris en charge pour les modèles de partenaire, consultez « Modèles d’analyse de secrets pris en charge ».
Lorsque vous auditez vos dépôts et discutez avec les équipes de sécurité et de développement, créez une liste des types de secrets que vous utiliserez ultérieurement pour configurer des modèles personnalisés pour l’secret scanning. Pour plus d’informations, consultez « Définition de modèles personnalisés pour l’analyse des secrets ».
Protection push pour secret scanning
La protection push pour les organisations et les référentiels indique à secret scanning de vérifier les envois (push) pour les secrets pris en charge avant que les secrets ne soient validés dans le codebase. Pour plus d’informations sur les secrets pris en charge, consultez « Modèles d’analyse de secrets pris en charge ».
Si un secret est détecté dans un envoi (push), cet envoi (push) est bloqué. Secret scanning liste les secrets qu’elle détecte afin que l’auteur puisse passer en revue les secrets et les supprimer ou, si nécessaire, autoriser ces secrets à être poussés. Secret scanning peut également vérifier les notifications Push pour les modèles personnalisés.
Les développeurs ont la possibilité de contourner la protection push en signalant qu’un secret est un faux positif, qu’il est utilisé dans les tests ou qu’il sera résolu ultérieurement.
Si un contributeur contourne un bloc de protection de poussée pour un secret, GitHub :
- Crée une alerte sous l’onglet Sécurité du dépôt.
- Ajoute l’événement de contournement au journal d’audit.
- Envoie une alerte par e-mail aux propriétaires de l’organisation ou de compte personnel, aux responsables de la sécurité et aux administrateurs de référentiels, qui regardent le référentiel, avec un lien vers le secret associé et la raison pour laquelle il a été autorisé.
Avant d’activer la protection push, déterminez si vous devez créer des conseils pour les équipes de développement sur les conditions acceptables pour contourner la protection push. Vous pouvez configurer un lien vers cette ressource dans le message qui s’affiche lorsqu’un développeur tente d’envoyer (push) un secret bloqué.
Ensuite, familiarisez-vous avec les différentes options de gestion et de surveillance des alertes résultant du contournement de la protection push par un contributeur.
Pour plus d’informations, consultez « À propos de la protection push ».
Pour l’article suivant de cette série, consultez « Phase 3 : Programmes pilotes ».