Sécuriser le dossier temporaire sur Debian
Le dossier /tmp peut être utilisé pour compromettre la sécurité du système. Une méthode simple et efficace pour palier à ce problème est d'empêcher l'exécution des scripts dans ce dossier. Cet article vous guide durant la mise en place de cette solution.
Ce guide est testé sur:
- Debian 5.0 Lenny
- Debian 6.0 Squeeze
Installation
Créez un dossier destiné à contenir la partition loopback remplaçant le dossier temporaire :
command mkdir '/var/lib/tmpfs'
Créez un fichier vide d'1 Go destiné à remplacer le dossier /tmp (cette opération peut prendre plusieurs secondes):
command dd if=/dev/zero of='/var/lib/tmpfs/tmp.fs' bs=1024 count=1000000
Formater le fichier en ext3 :
command mkfs.ext3 -F '/var/lib/tmpfs/tmp.fs'
Ajoutez la ligne adéquate au fichier fstab :
command echo "/var/lib/tmpfs/tmp.fs /tmp ext3 loop,noexec,nosuid,nodev,rw 0 0" \
>> '/etc/fstab'
Les commandes suivantes ne sont pas élégantes mais limitent les perturbations des logiciels utilisant le dossier temporaire lors de l'activation de notre nouvelle partition.
command mv '/tmp' '/tmp.old'
command mkdir '/tmp'
command mount '/tmp'
command mv '/tmp.old/'* '/tmp/'
command mv '/tmp.old/'.* '/tmp/'
command rm -r '/tmp.old'
Ajustez les droits d'écriture du dossier temporaire:
command chmod ugo+rwx '/tmp'
Ajustez la configuration d'apt pour qu'il ne soit pas gêné par cette modification de comportement :
command echo 'DPkg
{
Pre-Invoke { "command mount /tmp -o remount,exec" };
Post-Invoke { "command mount /tmp -o remount,noexec || true" };
};' > '/etc/apt/apt.conf.d/90mount'
Le répertoire temporaire ne peut maintenant plus être utilisé pour exécuter des scripts.
Désinstallation
Pour désinstaller les réglages mis en place par ce guide, désactivez le point de montage:
command sed -i -e '/\/var\/lib\/tmpfs\/tmp.fs/d' '/etc/fstab'
Redémarrez le système (obligatoire pour désactiver le montage):
command reboot
Supprimez les fichiers:
command rm '/etc/apt/apt.conf.d/90mount' \
'/var/lib/tmpfs/tmp.fs'
Remerciements
- Merci à fighting_falcon pour son aide avec la configuration d'Apt.
- Merci à Kevin pour son guide "Secure your /tmp folder".