Protéger les dossiers partagés des astuces de liens et de fichiers
Bloque les attaques classiques qui déposent un lien ou un fichier dans /tmp pour qu'un programme privilégié écrive là où l'attaquant le souhaite.
Pourquoi il compte
Dans un dossier partagé comme /tmp, n’importe qui peut créer des fichiers. Une attaquante peut y déposer un lien pointant vers quelque chose d’important, un fichier de votre dossier personnel, et attendre qu’un script ou un programme privilégié écrive sous le nom habituel. Le programme suit le lien et écrase la cible.
Comment il fonctionne
Active quatre protections du noyau : fs.protected_symlinks=1 et fs.protected_hardlinks=1 limitent le suivi et la création de liens dans les répertoires accessibles en écriture à tous avec le bit sticky, et fs.protected_fifos=2 et fs.protected_regular=2 empêchent d’ouvrir, avec création, un tube ou un fichier appartenant à un autre utilisateur dans ces dossiers.
À qui il s'adresse
Convient à tous. Beaucoup de systèmes active déjà la plupart. Ne désactivez que si un vieux script dépend de la réutilisation de fichiers créés par un autre utilisateur dans /tmp.
Ce que vous pouvez remarquer
En général rien. Un script écrivant dans un fichier de /tmp créé par un autre utilisateur peut échouer avec Permission denied.
Le vérifier sur votre ordinateur
Lire la valeur actuelle :
sysctl fs.protected_symlinks
sysctl fs.protected_hardlinks
sysctl fs.protected_fifos
sysctl fs.protected_regular L'appliquer à la main
La définir maintenant (jusqu'au prochain redémarrage) :
sudo sysctl -w fs.protected_symlinks=1
sudo sysctl -w fs.protected_hardlinks=1
sudo sysctl -w fs.protected_fifos=2
sudo sysctl -w fs.protected_regular=2 La conserver après les redémarrages, dans un fichier qui vous appartient :
sudo tee /etc/sysctl.d/90-fs-protected-files.conf <<'EOF'
fs.protected_symlinks = 1
fs.protected_hardlinks = 1
fs.protected_fifos = 2
fs.protected_regular = 2
EOF
sudo sysctl --system L'annuler
Supprimez le fichier et redémarrez, ou remettez l'ancienne valeur avec sysctl -w.
Réglages liés
Sources
- Linux Hardening Guide (madaidans)
- 2.2.3
- Linux kernel documentation
- fs.protected_symlinks