Intégrer Harbor
Sécurisez vos applications conteneurisées en surveillant Harbor à la recherche de secrets exposés dans les images de conteneurs.
Harbor est un registre de conteneurs auto-hébergé et diplômé de la CNCF. Cette intégration fonctionne avec toute instance Harbor 2.x qui expose son API à GitGuardian, directement ou via GitGuardian Bridge.
Pourquoi surveiller Harbor ?
Harbor est l'endroit où de nombreuses organisations conservent les images de conteneurs qu'elles déploient en production, souvent derrière leur propre pare-feu. Ces images intègrent fréquemment des identifiants de base de données, des clés d'API cloud et des tokens de services internes qui, lorsqu'ils sont exposés, offrent à un attaquant un accès direct aux systèmes de production et aux données clients.
Capacités
| Fonctionnalité | Prise en charge | Détails |
|---|---|---|
| Scan historique | ✅ (Pris en charge) | Analyse des images existantes et de leurs couches |
| Scan incrémental | ✅ (Pris en charge) | Scan régulier et planifié du nouveau contenu |
| Périmètre surveillé | ✅ (Pris en charge) | Surveillance granulaire de vos dépôts |
| Périmètre d'équipe | ✅ (Pris en charge) | Contrôle d'accès basé sur les équipes |
| Vérification de présence | ❌ (Non pris en charge) | Toutes les occurrences sont considérées comme présentes |
| Visibilité de la source | ❌ (Non pris en charge) | Toutes les sources sont considérées comme privées |
| Pièces jointes | N/A | Non applicable pour les registres de conteneurs |
Ce que nous scannons :
- Toutes les couches de chaque image de conteneur taguée, y compris chaque plateforme d'une image multi-architecture
- Les Dockerfiles et les configurations de build
- Les variables d'environnement dans les métadonnées de l'image
Ce que nous ne scannons pas :
- Les artefacts qui ne sont pas des images de conteneurs : charts Helm, bundles CNAB, SBOMs, signatures et autres accessoires
- Les images non taguées
Cette intégration scanne automatiquement vos dépôts surveillés, en téléchargeant des images de conteneurs, ce qui peut générer une charge de bande passante et de calcul sur votre instance Harbor. Pour optimiser les coûts et réduire les faux positifs, sélectionnez soigneusement les sources à surveiller et utilisez notre fonctionnalité d'exclusion de chemins de fichiers.
Prérequis de plan : Disponible pour le plan GitGuardian Enterprise. Essayez-le gratuitement avec une période d'essai de 30 jours - tous les incidents détectés restent accessibles après la fin de l'essai.
Couverture des détecteurs : Pour minimiser les faux positifs, Generic High Entropy Secret et Generic Password sont désactivés. Tous les autres détecteurs sont activés.
Comprendre les capacités de scan
Scan historique
Découvrez votre dette de secrets : lors de votre première intégration de cette source, GitGuardian effectue un scan complet de l'intégralité de l'historique de votre contenu, en fonction de votre périmètre personnalisé. Cela révèle des secrets qui ont pu être exposés il y a des semaines, des mois, voire des années — vous aidant ainsi à traiter votre dette de sécurité existante.
Comment déclencher un scan historique : rendez-vous sur votre page de périmètre, sélectionnez les sources que vous souhaitez scanner, puis cliquez sur Scan dans la barre d'actions groupées. Consultez Gérer votre périmètre surveillé pour connaître les limites de taille selon votre plan, la gestion des erreurs et tous les détails.
Scan incrémental
Restez protégé grâce à une surveillance régulière : une fois intégrée, GitGuardian assure une protection continue grâce à des scans automatisés planifiés de votre contenu. Le contenu nouveau et modifié est surveillé de manière systématique à intervalles réguliers, garantissant une couverture complète et une détection rapide de toute exposition de secret. Votre source reste sous la protection de GitGuardian, vous donnant l'assurance qu'aucun secret ne passera inaperçu.
Configurer votre intégration Harbor
Prérequis :
- Compte Owner ou Manager sur votre Dashboard GitGuardian
- Permissions d'administrateur système Harbor pour créer un compte robot au niveau système
- Connectivité réseau entre GitGuardian et vos services self-hosted. Découvrez GitGuardian Bridge pour permettre des connexions sécurisées entre GitGuardian SaaS et vos services self-hosted dans des réseaux privés.
GitGuardian s'intègre à Harbor via un compte robot disposant d'un accès en lecture seule à vos projets.
Vous pouvez installer GitGuardian sur plusieurs instances Harbor pour surveiller vos dépôts.
Étape 1 : Créer un compte robot dans Harbor
Un compte robot au niveau système est recommandé : il couvre chaque projet de l'instance, y compris les projets créés ultérieurement. Un compte robot au niveau projet fonctionne également, mais GitGuardian ne verra que ce projet.
- Connectez-vous à votre instance Harbor en tant qu'administrateur système
- Naviguez vers Administration > Robot Accounts
- Cliquez sur New Robot Account
- Donnez-lui un nom (par exemple,
gitguardian). Harbor préfixe le nom d'utilisateur final avecrobot$ - Définissez l'Expiration time. GitGuardian cesse de scanner lorsque le secret expire, alors choisissez Never expires ou prévoyez de mettre à jour le secret dans GitGuardian avant son expiration
- Sous Cover all projects, sélectionnez les permissions suivantes :
- Repository :
List,Pull - Artifact :
List,Read
- Repository :
- Cliquez sur Add
- Copiez le nom du robot (par exemple,
robot$gitguardian) et son secret. Harbor n'affiche le secret qu'une seule fois
Étape 2 : Connecter Harbor à GitGuardian
- Dans la plateforme GitGuardian, naviguez vers la page intégration Sources
- Cliquez sur Install à côté de Harbor dans la section Container registries
- Cliquez sur Install sur la page intégration Harbor
- Saisissez l'URL de votre instance Harbor (par exemple,
https://harbor.example.com) - Saisissez le nom du compte robot, y compris le préfixe
robot$(par exemple,robot$gitguardian) - Collez le secret du compte robot
- Cliquez sur Add
- Personnalisez votre périmètre surveillé :
- Surveiller des dépôts Harbor spécifiques (Recommandé)
- Aucun dépôt n'est surveillé par défaut, vous devrez les sélectionner manuellement.
- Les dépôts nouvellement créés ne seront pas surveillés par défaut. Vous pouvez ajuster ce paramètre à tout moment.
- Surveiller l'ensemble de l'instance Harbor
- Tous les dépôts sont surveillés par défaut avec un scan historique complet déclenché automatiquement.
- Les dépôts nouvellement créés seront surveillés par défaut. Vous pouvez ajuster ce paramètre à tout moment.
- Surveiller des dépôts Harbor spécifiques (Recommandé)
C'est tout ! Votre instance Harbor est maintenant installée, et GitGuardian surveille toutes les images de conteneurs de vos dépôts sélectionnés à la recherche de secrets.
GitGuardian vérifie les identifiants lors de l'installation. Si l'URL ne répond pas comme une API Harbor, ou si Harbor rejette le compte robot, le message d'erreur vous indique lequel corriger. Une cause fréquente est l'absence du préfixe robot$ dans le nom d'utilisateur.
Personnaliser votre périmètre surveillé
GitGuardian liste vos projects Harbor, et les repositories à l'intérieur de chaque projet. Les dépôts dont les noms contiennent un / sont affichés comme des dossiers à l'intérieur de leur projet.
Pour personnaliser les dépôts surveillés, naviguez vers vos paramètres Harbor.
- Sélectionnez/Désélectionnez les projets ou les dépôts pour les inclure ou les exclure de la surveillance
- Confirmez en cliquant sur Update monitored perimeter
Surveillance automatique des dépôts
Vous pouvez activer ou désactiver l'ajout automatique des dépôts nouvellement créés à votre périmètre surveillé en basculant l'option dans vos paramètres Harbor.
État de la surveillance
GitGuardian vérifie régulièrement qu'il peut toujours atteindre votre API Harbor et récupérer depuis son registre. Une installation est signalée comme défaillante lorsque :
- le compte robot a été désactivé, supprimé, ou que son secret a expiré ou a été renouvelé
- l'API Harbor ou le registre qui se trouve derrière est inaccessible, par exemple après un changement de réseau ou de proxy
- le compte robot a perdu ses permissions sur les projets que vous surveillez
Ouvrez le panneau Troubleshoot de l'installation depuis vos paramètres Harbor pour en voir la cause. Pour renouveler le secret, utilisez Update credentials : saisissez le nom du robot et le nouveau secret, et GitGuardian relance immédiatement la vérification de l'état.
Gérer votre intégration
Surveillance de la santé et maintenance
Si vous devez modifier les paramètres de votre intégration ou résoudre des problèmes de connectivité, accédez à l'interface de gestion via Sources integration.
Désinstaller l'intégration
Bien que notre objectif soit de vous aider à maintenir une couverture de sécurité complète, vous pouvez désinstaller l'intégration chaque fois que nécessaire :
- Naviguez vers Sources integration
- Cliquez sur Edit à côté du nom de l'intégration
- Cliquez sur Configure
- Cliquez sur l'icône delete à côté de votre ressource
- Confirmez la suppression
Note : la suppression de l'intégration préserve votre historique d'incidents, mais arrête les analyses futures et les vérifications de présence pour les intégrations qui le supportent.
Chemins exclus
GitGuardian exclut automatiquement les fichiers de l'analyse si leurs chemins contiennent l'une de ces expressions régulières :
/__pypackages__/
/\.venv/
/\.tox/
/site-packages/
/venv/
distutils/command/register\.py
python.*/awscli/examples/
python.*/dulwich/(tests|contrib/test_)
python.*/hgext/bugzilla\.py
python.*/mercurial/util\.py
python.*/test/certdata/
python.*/urllib/request\.py
python.*/pygments/lexers/
/cryptography.+/tests/.+(fixtures|test)_.+\.py
/python.+pygpgme.+/tests/
botocore/data/.+/(examples|service)-.+\.json
usr(/local)?/lib/python.+/dist-packages
/libevent.+/info/test/test/
/conda-.+-py.+/info/test/tests.+/test_.+\.py
/python[^/]+/test/
/man/man5/kdc\.conf\.5
erlang.*(inets|ssl).*/examples/
/gems/.*httpclient.*/(test|sample)/
/gems/.*faraday.*/
/vendor/bundle/
/\.gem/
ruby-[^/]+/test/openssl/
/(g|G)o/src/cmd/go/internal/.*_test\.go
/(g|G)o/src/cmd/go/internal/.*/testdata/
/(g|G)o/src/cmd/go/testdata/
/(g|G)o/src/crypto/x509/platform_root_key\.pem
/(G|g)o/src/crypto/(tls|x509)/.*_test\.go
/(g|G)o/src/net/(url|http)/.*_test\.go
src/github.com/DataDog/datadog-agent/.*test.*\.go
google/internal/.*_test\.go
golang.org.*oauth2@.*/.*\.go
/flutter/.*/packages/flutter_tools/test/data/
/flutter/.*/examples/image_list/lib
/\.pub-cache
etc/ssl/private/ssl-cert-snakeoil\.key
perl.*Cwd\.pm
ansible/.*/tests/(integration|unit)/
ansible/.*/test/awx
ansible/collections/ansible_collections/.*/plugins/
/curl/.*/(tests|docs|lib/url\.c)
/doc/wget.+/NEWS
dist/awscli/examples/
usr(/local)?/lib/aws-cli/examples/
/google-cloud-sdk/(lib|platform)/
\.git/modules/third[-_]?party/
\.git/modules/external/
/\.npm/_cacache
/node_modules/
/\.parcel-cache/
/\.yarn/cache/
/\.m2/
/\.ivy2/cache/
/\.mix/
/\.hex/
/composer/cache/
/\.nuget/packages/
/libgpg-error/errorref\.txt
/Homebrew/Library/Taps/
/tcl[^/]+/http-.+\.tm
/tcl[^/]+/[^/]+/http-.+\.tm
usr/share/lua/[^/]+/posix/init\.lua
openssl/openssl-[^/]+/test/recipes/
usr/share/doc/libssl-doc/demos/
boringssl/src/third_party/[^/]+test[^/]+/[^/]+_test\.json
Considérations supplémentaires pour Self-Hosted
Pour les instances GitGuardian Self-Hosted, la fréquence de scan peut être configurée dans l'Admin Area :
- Unité d'intervalle de temps : secondes
- Valeur par défaut : 172800 (2 jours)
- Valeur minimale : 1800 (30 minutes)
Confidentialité et conformité
Gestion des données
GitGuardian traite vos données uniquement pour détecter les secrets exposés :
- Accès en lecture seule : nous ne demandons jamais l'accès en écriture sauf s'il est limité à la création de webhooks pour recevoir et traiter les événements en temps réel
- Rétention minimale des données : nous ne stockons que les données et métadonnées nécessaires à la gestion des incidents
- Chiffrement : toutes les données en transit et au repos sont chiffrées
- Conformité : nous suivons les mêmes standards de protection des données que nos autres intégrations
Considérations régionales
GitGuardian héberge ses services dans deux régions AWS : eu-central-1 (Francfort) et us-west-2 (Oregon). Assurez-vous que votre région de déploiement GitGuardian s'aligne avec vos exigences de résidence des données. Contactez le support si vous avez besoin de conseils sur la conformité aux réglementations locales.
Notification des utilisateurs
Les lois et réglementations propres à chaque pays peuvent vous obliger à informer vos utilisateurs que vos dépôts font l'objet d'un scan à la recherche de secrets. Voici une suggestion de message que vous pourriez utiliser :
Dans le cadre de notre processus interne de sécurité de l'information, l'entreprise scanne ses dépôts à la recherche de fuites potentielles de secrets à l'aide de GitGuardian. Toutes les données collectées seront traitées dans le but de détecter d'éventuelles fuites. Pour en savoir plus sur la façon dont nous gérons vos données personnelles et pour exercer vos droits, veuillez vous référer à notre notice de confidentialité destinée aux employés/partenaires.
Veuillez noter que seuls les dépôts relatifs à l'activité et aux affaires de l'entreprise peuvent être surveillés et que les utilisateurs doivent s'abstenir de partager des données personnelles ou sensibles non pertinentes au regard de l'objectif du dépôt.