Cyberattaques et défense en pratique
Un développeur a par erreur validé (commit) dans un dépôt Git public un fichier de configuration contenant une clé d'API d'un service cloud. S'en apercevant, il a immédiatement validé une modification supprimant le fichier. Quelle est ensuite la réponse la plus appropriée ?
- ALa suppression a été validée par un commit ; plus personne ne peut voir la clé et il n'y a rien d'autre à faire
- BLa clé reste dans l'historique et a peut-être déjà été récoltée ; il faut donc la révoquer immédiatement, la remplacer par une nouvelle et vérifier dans les journaux d'utilisation qu'elle n'a pas été utilisée abusivement
- CRenommer le dépôt rend inaccessible l'ancien contenu publié sous le nom précédent ; la clé qui a fuité peut donc continuer à être utilisée telle quelle
Afficher la réponse et l'explication
Réponse : B. La clé reste dans l'historique et a peut-être déjà été récoltée ; il faut donc la révoquer immédiatement, la remplacer par une nouvelle et vérifier dans les journaux d'utilisation qu'elle n'a pas été utilisée abusivement
Dans Git, même après le commit d'une modification supprimant un fichier, les versions antérieures restent dans l'historique et n'importe qui peut les récupérer. Les dépôts publics sont parcourus automatiquement en peu de temps par des programmes qui cherchent des identifiants ; une clé doit donc être considérée comme ayant fuité dès l'instant où elle a été publiée. L'étape la plus importante est de révoquer la clé et de la remplacer par une nouvelle ; ensuite, on vérifie les journaux d'utilisation et, si nécessaire, on supprime aussi la clé de l'historique. Pour éviter que cela ne se reproduise, on conserve les identifiants dans un service de gestion des secrets et on utilise un mécanisme qui détecte les secrets avant le commit (détection des secrets, ou secret scanning).
Continuer : 9 autres questions sur Cyberattaques et défense en pratique