Vérifier qu'aucun fichier .netrc n'existe
Garantit qu'aucun fichier .netrc n'existe sous /root ou /home, éliminant les identifiants distants stockés en clair.
Vérifié sur les métadonnées d’un chemin, mode, propriétaire, groupe, SUID/SGID.
Un mapping est une référence croisée vers l’endroit où chaque norme situe cette exigence, ancrée et recoupée, pas une affirmation d’équivalence. Un check réussi est une preuve vers ces références, comment le lire.
Pourquoi cette règle
Un fichier ~/.netrc stocke des identifiants (login et mot de passe en clair) pour des serveurs FTP/HTTP distants afin que des outils comme ftp, curl et git s'authentifient sans interaction. Comme les mots de passe ne sont pas chiffrés, quiconque lit le fichier, via une erreur de permissions, une sauvegarde ou la compromission du compte, récolte instantanément des identifiants réutilisables sur d'autres systèmes. Un hôte durci ne doit contenir aucun fichier .netrc ; utilisez plutôt un assistant d'identifiants ou un coffre de secrets.
Ce que vérifie Pavois
Pavois lance un find en direct sur /root et /home (un seul système de fichiers via -xdev) pour tout fichier nommé .netrc. Énumérer les fichiers réellement présents sur le disque détecte les fichiers d'identifiants dans chaque répertoire personnel, y compris les comptes récents ou non standard, au lieu de se fier à une liste fixe d'utilisateurs.
describe command('find /root /home -xdev -name .netrc 2>/dev/null') do
its('stdout.strip') { should eq '' }
endComment vérifier qu’elle est appliquée
Recherchez tout fichier netrc :
find /root /home -xdev -name .netrc 2>/dev/null, la sortie attendue est vide (aucun chemin affiché).
Inspecter et investiguer
L'usage de .netrc n'est pas journalisé en soi ; la détection est donc basée sur le système de fichiers et idéalement couplée à une surveillance d'intégrité :
find /root /home -xdev -name .netrc -printf '%p %u %m\n', liste chaque fichier avec propriétaire et droits pour examen.- Si auditd est configuré, une surveillance des répertoires personnels (
/var/log/audit/audit.log) enregistre la création de nouveaux fichiers cachés.
Remédiation
Aucun plan de durcissement automatisé n'est défini pour cette règle ; elle doit être appliquée manuellement : examinez chaque fichier trouvé (find /root /home -xdev -name .netrc), faites tourner tout identifiant qu'il expose car il doit être considéré comme compromis, puis supprimez le fichier avec rm <chemin>. Remplacez le flux de travail par un assistant d'identifiants ou un gestionnaire de secrets.
Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :
| command | find /home /root -maxdepth 2 -name .netrc 2>/dev/null # rm -f <path> per file (or chmod 600) after review |
|---|---|
| reason | a .netrc holds credentials, review each before deleting |
| resource | manual |
pavois harden plan localoù la cible est local, un alias SSH user@hôte, ou un conteneur , Docs
Impact & précautions
Risque si non appliqué : des identifiants en clair pour des services distants restent sur le disque, prêts à être récoltés et réutilisés pour des déplacements latéraux.
Précautions avant application : des tâches automatisées (sauvegardes, runners CI, scripts FTP) peuvent dépendre d'un .netrc. Identifiez ces consommateurs et migrez-les vers un coffre de secrets ou un assistant d'identifiants par appel avant de supprimer, sinon la tâche échouera. Considérez tout mot de passe trouvé comme déjà exposé et faites-le tourner dans tous les cas.
Mapping des normes
| Norme | Référence | Type | Version | Confiance |
|---|---|---|---|---|
| CIS | 7.2.10, 7.2.9 | direct | per OS, see the benchmark table | haute |
| NIST | CM-6(a), IA-5(1)(c), IA-5(7), IA-5(h) | support | 800-53 Rev 5 · 800-171 Rev 2 (pinned) | moyenne |
Chaque référence est une référence croisée ancrée dans le benchmark amont et recoupée avec le SCAP Security Guide et ansible-lockdown, pas une affirmation d’équivalence. Direct = une exigence prescriptive au niveau de la ligne ; support = une famille de contrôle abstraite (NIST) vers laquelle le check apporte une preuve. Comment lire un mapping.