69 lines
2.5 KiB
Markdown
69 lines
2.5 KiB
Markdown
# Sécurité
|
|
|
|
## Politique de versionnement
|
|
|
|
Ne jamais versionner, même temporairement :
|
|
|
|
- clés Atuin et bases/store Atuin ;
|
|
- clés privées SSH ;
|
|
- clés privées GPG ;
|
|
- tokens et clés API ;
|
|
- mots de passe et cookies ;
|
|
- `.netrc` ;
|
|
- credentials Rclone ;
|
|
- credentials GitHub ou Forgejo ;
|
|
- secrets Nextcloud ;
|
|
- credentials Proton, WireGuard ou autres applications ;
|
|
- bases applicatives et historiques personnels.
|
|
|
|
Un `.gitignore` limite les erreurs courantes, mais ne constitue pas une
|
|
protection suffisante. Avant chaque publication, inspecter le diff, les
|
|
nouveaux fichiers et les motifs de credentials sans jamais afficher leur
|
|
valeur dans un rapport.
|
|
|
|
## Stockage local
|
|
|
|
Les secrets et données runtime appartiennent à la machine locale ou à une
|
|
sauvegarde chiffrée externe. Ils ne doivent pas être placés dans un package
|
|
Stow public. Les permissions doivent être restrictives, particulièrement pour
|
|
les clés privées, `.netrc`, stores de credentials et clé Atuin.
|
|
|
|
Les unités ou scripts peuvent référencer le chemin d'une configuration locale,
|
|
mais ne doivent ni embarquer son contenu ni journaliser ses secrets.
|
|
|
|
## Historique Git
|
|
|
|
Supprimer un fichier du dernier commit ne le retire pas des anciens objets
|
|
Git. Lorsqu'un secret a été commité, la réponse correcte est :
|
|
|
|
1. considérer le secret comme compromis ;
|
|
2. le révoquer ou le faire tourner ;
|
|
3. préserver les sauvegardes nécessaires hors dépôt ;
|
|
4. purger le chemin de tout l'historique ;
|
|
5. vérifier les objets et toutes les refs avant publication.
|
|
|
|
L'historique de `Dotfiles_ArchAP` a été assaini pendant la préparation de la
|
|
version `0.1.0`, notamment pour retirer les anciennes données locales qui ne
|
|
devaient pas être publiées. Cette mention ne révèle ni ancienne valeur, ni
|
|
empreinte sensible, ni emplacement de sauvegarde.
|
|
|
|
## Contrôles avant publication
|
|
|
|
```bash
|
|
git status --short
|
|
git diff --check
|
|
git diff --cached --check
|
|
git fsck --full --no-dangling
|
|
```
|
|
|
|
Compléter ces contrôles par une recherche prudente de types de secrets dans le
|
|
HEAD et l'historique. Les rapports doivent seulement indiquer le fichier, le
|
|
type potentiel, sa présence actuelle ou historique et l'action recommandée ;
|
|
ils ne doivent jamais reproduire la valeur détectée.
|
|
|
|
## Dépôt public et licence
|
|
|
|
Le miroir GitHub est public. Toute donnée commitée doit donc être considérée
|
|
comme publiable immédiatement. Le dépôt ne possède actuellement aucune
|
|
licence ; cette absence n'autorise pas implicitement la réutilisation du
|
|
contenu.
|