À 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 implémentant les meilleures pratiques de sécurité, notamment en activant l’authentification à 2 facteurs et en la rendant obligatoire pour l’ensemble des membres, ainsi qu’en établissant des instructions de mot de passe forts.
-
Exiger des membres de l’organisation, des collaborateurs externes et des responsables de facturation d’activer l’authentification à 2 facteurs pour leurs comptes personnels, ce qui complique l’accès des acteurs malveillants aux dépôts et aux paramètres d’une organisation. 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. | Gestion de la stratégie de duplication pour votre référentiel |
Désactivez 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 dépôts 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 |
Limitez personal access token aux autorisations minimales nécessaires. | None |
Sécurisez votre code en convertissant les dépôts publics en dépôts privés quand c’est approprié. Vous pouvez alerter automatiquement les propriétaires de dépôt 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 dépôts 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 activersecret scanning pour votre instance pour 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 push ». Enfin, vous pouvez aussi étendre la détection pour y 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 envoie des données sensibles, demandez-lui de les supprimer en utilisant l’outil git filter-repo
. Pour plus d’informations, consultez « Suppression de données sensibles dans un dépôt ». De plus, si les données sensibles n’ont pas encore été envoyées, vous pouvez simplement annuler ces modifications localement ; pour plus d’informations, consultez the GitHub Blog (mais notez que git revert
n’est pas un moyen valide d’annuler l’ajout de données sensibles car le commit sensible d’origine reste dans l’historique Git).
Si vous ne parvenez pas à vous coordonner directement avec le propriétaire du dépôt 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. Veillez à inclure les hachages de commit problématiques. Pour plus d’informations, consultez Avis de retrait DMCA.
Note
Si un de vos dépôts a été supprimé en raison d’une fausse revendication, vous devez remplir un formulaire de notification de compteur DMCA et alerter le support GitHub. Pour plus d’informations, consultez Avis de compteur DMCA.