À propos de ce guide
En tant que propriétaire d’une organisation, empêcher l’exposition de données privées ou sensibles doit être une priorité absolue. Qu’elles soient intentionnelles ou accidentelles, les fuites de données peuvent entraîner un risque important pour les parties concernées. Bien que GitHub prenne des mesures pour vous protéger contre les fuites de données, vous êtes également responsable de l’administration de votre organisation pour renforcer la sécurité.
Quand il s’agit de se défendre contre les fuites de données, il y a plusieurs composants importants :
- Adopter une approche proactive en matière de prévention
- Détection précoce des fuites possibles
- Gestion d’un plan d’atténuation quand un incident se produit
La meilleure approche va dépendre du type d’organisation que vous gérez. Par exemple, un organisation qui se concentre sur le développement open source peut nécessiter des contrôles plus relâchés qu’une organisation entièrement commerciale pour permettre une collaboration externe. Cet article fournit des conseils généraux sur les fonctionnalités et les paramètres de GitHub à prendre en compte, que vous devez implémenter en fonction de vos besoins.
Sécuriser les comptes
Protégez les référentiels et les paramètres de votre organisation en appliquant des bonnes pratiques de sécurité, notamment l’activation de l’authentification à deux facteurs (2FA), son obligation pour tous les membres, et la mise en place de règles strictes en matière de mots de passe.
-
Exiger que les membres de l’organisation, les collaborateurs externes et les responsables de la facturation activent la 2FA pour leurs comptes personnels rend plus difficile l’accès aux référentiels et aux paramètres de l’organisation par des acteurs malveillants. Pour plus d’informations, consultez Exiger l’authentification à deux facteurs dans votre organisation.
-
Encouragez vos utilisateurs à créer des mots de passe forts et à les sécuriser de façon appropriée, en suivant les conseils sur les mots de passe recommandés par GitHub. Pour plus d’informations, consultez Création d’un mot de passe fort.
-
Établir d’une stratégie de sécurité interne dans GitHub, afin que les utilisateurs sachent quelles mesures prendre et qui contacter en cas de suspicion d’incident. Pour plus d’informations, consultez « Ajout d’une stratégie de sécurité à votre dépôt ».
Pour plus d’informations sur la sécurisation des comptes, consultez Bonnes pratiques pour sécuriser les comptes.
Empêcher les fuites de données
En tant que propriétaire d’une organisation, vous devez limiter et réviser les accès en fonction du type de votre organisation. Prenez en compte les paramètres suivants pour un contrôle plus strict :
| Recommandation | Plus d’informations |
|---|---|
| Désactivez la possibilité de dupliquer des dépôts. |
[AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-forking-policy-for-your-repository)
Désactiver la modification de la visibilité des dépôts. |
Restriction des changements de visibilité des dépôts dans votre organisation
Limitez la création de référentiels au seul niveau privé ou interne. |
Restriction de création de dépôts dans votre organisation
Désactivez la suppression et le transfert de dépôts. |
Définition des autorisations pour la suppression ou le transfert de référentiels
| |
Désactiver la possibilité d’utiliser des clés de déploiement. |
Restriction des clés de déploiement dans votre organisation
| |
Limitez personal access token aux autorisations minimales nécessaires. | Aucun
Sécurisez votre code en convertissant les référentiels publics en référentiels privés quand c’est approprié. Vous pouvez alerter automatiquement les propriétaires de référentiel de cette modification en utilisant une GitHub App. |
Prevent-Public-Repos dans GitHub Marketplace
Confirmez l’identité de votre organisation en vérifiant votre domaine et en limitant les notifications par e-mail aux seuls domaines de messagerie vérifiés. |
Vérification ou approbation d’un domaine pour votre organisation et Limitation des notifications par e-mail de l’organisation
Empêchez les contributeurs d’effectuer des commits accidentels. |
Suppression de données sensibles dans un dépôt
Détecter les fuites de données
Quelle que soit l’efficacité avec laquelle vous protégez votre organisation contre les fuites de données, certaines fuites peuvent toujours se produire, et vous pouvez y répondre en utilisant secret scanning, le journal d’audit et des règles de protection des branches.
Utiliser secret scanning
Secret scanning permet de sécuriser le code et de préserver la sécurité des secrets dans les organisations et les référentiels en analysant et en détectant les secrets qui ont été accidentellement commités dans l’historique Git complet de chaque branche des dépôts GitHub. Les chaînes qui correspondent à des modèles définis par vous ou votre organisation, sont signalées en tant qu’alertes dans l’onglet Sécurité des dépôts.
Votre administrateur de site doit activer secret scanning pour votre instance avant que vous puissiez utiliser cette fonctionnalité. Pour plus d’informations, consultez Configuration de l’analyse de secrets pour votre appliance.
Pour plus d’informations sur secret scanning, consultez À propos de l’analyse des secrets.
Vous pouvez également activer l’secret scanning en tant que protection des poussées (push) pour un dépôt ou une organisation. Quand vous activez cette fonctionnalité, l’secret scanning empêche les contributeurs de pousser du code comportant un secret détecté. Pour plus d’informations, consultez À propos de la protection lors du push. Enfin, vous pouvez également étendre la détection afin d’inclure des structures de chaînes de secrets personnalisées. Pour plus d’informations, consultez « Définition de modèles personnalisés pour l’analyse des secrets ».
Passer en revue le journal d’audit pour votre organisation
Vous pouvez aussi sécuriser de façon proactive les adresses IP et maintenir la conformité de votre organisation en tirant parti du journal d’audit de votre organisation ainsi que de l’API Journal d’audit GraphQL. Pour plus d’informations, consultez « Examen du journal d’audit de votre organisation » et « Interfaces ».
Configurer des règles de protection des branches
Pour garantir que tout le code est correctement révisé avant d’être fusionné dans la branche par défaut, vous pouvez activer la protection de branche. En définissant des règles de protection de branche, vous pouvez appliquer certains workflows ou certaines exigences avant qu’un contributeur puisse envoyer des modifications. Pour plus d’informations, consultez « À propos des branches protégées ».
Atténuer les fuites de données
Si un utilisateur publie des données sensibles, demandez-lui de les supprimer à l’aide de l’outil git filter-repo. Pour plus d’informations, consultez « Suppression de données sensibles dans un dépôt ». Si les données sensibles n’ont pas encore été publiées, vous pouvez simplement annuler ces modifications localement ; pour plus d’informations, consultez the GitHub Blog (mais notez que git revert n’est pas une méthode valide pour annuler l’ajout de données sensibles, car le commit sensible original reste dans l’historique Git).
Si vous ne parvenez pas à vous coordonner directement avec le propriétaire du référentiel pour supprimer les données dont vous êtes certain d’être propriétaire, vous pouvez remplir un formulaire de suppression DMCA et en informer le support GitHub. Assurez-vous d’inclure les hachages des commits problématiques. Pour plus d’informations, consultez Avis de retrait DMCA.
Remarque
Si l’un de vos référentiels a été retiré à la suite d’une réclamation erronée, vous devez remplir un formulaire de contre-notification DMCA et avertir le support GitHub. Pour plus d’informations, consultez Avis de compteur DMCA.
Étapes suivantes
-
[AUTOTITLE](/code-security/supply-chain-security/end-to-end-supply-chain/securing-code) -
[AUTOTITLE](/code-security/supply-chain-security/end-to-end-supply-chain/securing-builds)