Définir des politiques de sécurité
Dans cette unité, vous apprendrez à mettre en place des mesures préventives, documenter les vulnérabilités, utiliser les outils de sécurité de GitHub (y compris les fonctionnalités de niveau entreprise et de conformité), nettoyer les données sensibles si nécessaire, gérer les politiques et auditer les activités.
Imaginez que vous êtes un administrateur qui accueille de nouveaux collaborateurs : vous souhaitez qu’ils soient affectés aux bons dépôts, qu’ils signalent les problèmes clairement et qu’ils suivent des normes cohérentes. Mettons en place vos politiques de sécurité.

Pourquoi les politiques de sécurité sont importantes
Les politiques de sécurité permettent de préserver l’intégrité de votre écosystème GitHub en :
- Guidant les flux de travail : des processus sécurisés et standardisés
- Clarifiant les signalements : des étapes claires pour divulguer les vulnérabilités
- Contrôlant les accès : des autorisations minimales pour limiter les risques
Les politiques peuvent être appliquées au niveau du dépôt, de l’organisation ou de l’entreprise — les règles à l’échelle de l’entreprise assurent l’uniformité, tandis que les paramètres au niveau de l’organisation permettent une personnalisation par projet.
Documenter la sécurité
Des documents clairs sont la première ligne de défense.
SECURITY.md
Le fichier SECURITY.md informe les utilisateurs sur les versions prises en charge, la manière de signaler les problèmes, ainsi que les avertissements légaux ou les risques connus.

Autres fichiers de santé communautaire
GitHub reconnaît certains fichiers clés de la communauté qui améliorent la transparence des projets :
Fichier | Utilité |
---|---|
CODE_OF_CONDUCT.md | Normes de comportement de la communauté. |
CONTRIBUTING.md | Directives de contribution. |
Formulaires de catégorie DISCUSSION | Modèles personnalisés pour les discussions communautaires. |
FUNDING.yml | Affiche les options de parrainage. |
GOVERNANCE.md | Explique la structure de prise de décision. |
Modèles de ticket/PR + config.yml | Standardise les contributions des collaborateurs. |
README.md | Présente et explique votre projet. |
SUPPORT.md | Fournit des ressources d’aide. |
Paramètres et application des politiques de sécurité
Choisissez entre la confiance et le contrôle selon la taille de votre équipe :
➡️ Les petites équipes peuvent utiliser des autorisations larges,
➡️ Les grandes équipes ont besoin de politiques plus strictes.
Niveaux de configuration
- Niveau organisation : Paramètres > Privilèges des membres
- Niveau entreprise : Vos entreprises > Politiques > Politiques des dépôts
📌 Les règles au niveau entreprise remplacent celles de l’organisation.
Les propriétaires d’organisation ne peuvent pas modifier les paramètres verrouillés.
Remarque
Les fonctionnalités et les interactions requises varient selon le type de dépôt et la licence.

Outils de sécurité disponibles
- Tous les dépôts : contrôles d’accès, fichier SECURITY.md, alertes/mises à jour Dependabot, avis de sécurité
- Avec GitHub Advanced Security : analyse de code, détection de secrets, revue des dépendances
Renforcer la sécurité d’entreprise avec GitHub
Les fonctionnalités d’entreprise de GitHub renforcent votre posture de sécurité et votre conformité.
Fonctionnalités de sécurité
- GitHub Advanced Security (GHAS) : analyse de code, détection de secrets, revue des dépendances
- Configurations de sécurité : appliquer des paramètres cohérents sur tous les dépôts
Support de conformité
- Rapports de conformité : certifications SOC 1 Type 2, SOC 2 Type 2, ISO/IEC 27001:2013 disponibles pour les audits et les exigences réglementaires
Nettoyer les données sensibles des dépôts GitHub
Lorsque des secrets sont exposés, il faut réécrire l’historique ou contacter le support GitHub.
Réécriture de l’historique
- Méthode héritée :
git filter-branch
pour supprimer des fichiers
git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch path/to/sensitive_file' \
--prune-empty --tag-name-filter cat -- --all
Recommandé : BFG Repo-Cleaner
java -jar bfg.jar --delete-files path/to/sensitive_file.git
# or replace strings:
java -jar bfg.jar --replace-text passwords.txt
Nettoyer et forcer le push
git reflog expire --expire=now --all
git gc --prune=now --aggressive
git push origin --force --all
Contacter le support GitHub
Pour les dépôts publics, des index mis en cache peuvent persister.
(Optionnel) Supprimez le dépôt si les données sont critiques.
Réécrivez l’historique et effectuez un push forcé.
Demandez la suppression via le support GitHub en fournissant le nom du dépôt, les commits/fichiers concernés, et une confirmation de la réécriture de l’historique pour vider les caches.
Prévenir les fuites :
- Utilisez
.gitignore
- Stockez les secrets avec GitHub Secrets ou un gestionnaire de secrets
- Analysez régulièrement avec GitGuardian ou truffleHog
Publier des avis de sécurité
Lorsqu’une vulnérabilité survient, utilisez les avis de sécurité GitHub pour :
- Collaborer en privé sur les correctifs
- Communiquer clairement les détails
- Documenter les étapes de remédiation

Un bon avis de sécurité
Un bon avis de sécurité indique les versions concernées, le niveau de gravité, le statut du correctif, et les références CVE.
Utilisez le flux de travail intégré de GitHub pour gérer et publier efficacement les avis.
Favoriser un développement logiciel sécurisé et assurer la conformité
Chaque politique est conçue pour équilibrer sécurité et facilité d’utilisation, en offrant des options allant de restrictions minimales à des environnements fortement contrôlés.
Le tableau ci-dessous donne un aperçu des différentes politiques de sécurité, classées selon leur niveau de contrôle.
Niveau de contrôle | Politiques et fonctionnalités recommandées | Cas d’usage |
---|---|---|
Faible contrôle (Conseils & bonnes pratiques) | Avis de sécurité & analyse de code ; alertes Dependabot ; règles de protection de branches (revues optionnelles) | Équipes ayant besoin de flexibilité avec de bonnes pratiques de sécurité |
Contrôle modéré (Règles appliquées) | Protection obligatoire des branches ; signature des commits ; politiques de sécurité à l’échelle de l’organisation ; surveillance des webhooks | Équipes nécessitant une gouvernance tout en conservant une autonomie des développeurs |
Contrôle élevé (Conformité stricte & gouvernance) | SSO SAML & 2FA obligatoires ; restriction de la visibilité & du fork ; approbation obligatoire des PR ; interdiction des push forcés ; vérifications de sécurité CI/CD | Organisations avec des exigences strictes de conformité (ex. : SOC 2, ISO 27001) |
Fonctionnalités clés de sécurité et de conformité dans GitHub Enterprise
🔐 Développement de code sécurisé
- Analyse de code (GHAS) : détecte automatiquement les vulnérabilités via CodeQL
- Analyse de secrets : empêche l’inclusion de secrets codés en dur
- Revue des dépendances & Dependabot : identifie et met à jour les dépendances vulnérables
📏 Application des politiques de conformité
- Règles de protection des branches : exigent des revues de PR, des vérifications de statut et des commits signés
- Ensembles de règles de sécurité : appliquent des politiques sur plusieurs dépôts
- Journaux d’audit & surveillance via API : suivent les activités et les modifications
🔐 Contrôle des accès et authentification
- SSO SAML & 2FA obligatoires : authentification forte pour tous les utilisateurs
- Restriction de la visibilité des dépôts : contrôle qui peut voir, forker ou cloner
- Contrôle d’accès granulaire : attribution de rôles par équipe ou projet
Quand utiliser différents profils de sécurité et de conformité
- Startups & équipes agiles : contrôle modéré avec protection des branches, Dependabot et analyse de secrets
- Entreprises & secteurs réglementés : contrôle élevé avec SSO SAML, journaux d’audit, ensembles de règles de sécurité et contrôle strict des dépôts
- Projets open source : contrôle faible à modéré avec analyse de code, mises à jour de dépendances et directives communautaires
Définir des politiques d’organisation et d’entreprise
Les politiques d’organisation et d’entreprise définissent les règles de gouvernance, d’accès et de flux de travail pour garantir la sécurité et la conformité.
🔑 Aspects clés :
- Sécurité & contrôle d’accès : SSO SAML, 2FA, RBAC, visibilité des dépôts
- Conformité & gouvernance : journaux d’audit, protection des branches, signature des commits
- Flux de développement & automatisation : approbation des PR, ensembles de règles de sécurité, politiques GitHub Actions
- Sécurité du code & des dépendances : analyse de code, détection de secrets, Dependabot, restrictions sur les actions
📌 Toute politique au niveau entreprise dans Vos entreprises > Politiques > Politiques des dépôts remplace les paramètres au niveau organisation dans Paramètres > Privilèges des membres.