Ne pas exécuter de programmes depuis /tmp

Risque élevé Non coché par défaut Catalogue révisé le: 2026-11-05

Les malwares et les exploits déposent souvent un programme dans /tmp et l'exécutent. Ce réglage empêche toute exécution à cet endroit.

Pourquoi il compte

Après une intrusion, les logiciels malveillants et les scripts d’exploitation téléchargent souvent un programme dans /tmp, parce que tout le monde peut y écrire, puis l’exécutent. Monter /tmp pour que rien dedans ne puisse s’exécuter casse cette étape et force l’attaquant à chercher ailleurs.

Comment il fonctionne

Met l’option de montage noexec sur /tmp : le noyau refuse d’exécuter les programmes qui s’y trouvent et de mapper ses fichiers en code exécutable. Cela n’empêche pas un interprète de lire un script, donc bash /tmp/script.sh fonctionne toujours.

À qui il s'adresse

Convient aux serveurs et aux ordinateurs de bureau bien tenus, où les logiciels viennent du gestionnaire de paquets. Développeurs et quiconque compile ou lance des installateurs doivent y réfléchir à deux fois : beaucoup d’outils s’attendent à exécuter des choses depuis /tmp.

Ce que vous pouvez remarquer

Des programmes échouent avec Permission denied ou failed to map segment from shared object. Installateurs, outils de compilation, scripts de paquets et certains modules Java ou Python qui dépaquetent du code dans /tmp sont les victimes habituelles.

Le vérifier sur votre ordinateur

Voir les options du montage :

findmnt -no OPTIONS /tmp

L'appliquer à la main

Ajoutez l'option au montage dans /etc/fstab, ou dans une unité de montage systemd, puis remontez :

# /etc/fstab, add "noexec" to the options of /tmp, for example:
tmpfs  /tmp  tmpfs  defaults,noexec  0 0
sudo mount -o remount /tmp

L'annuler

Retirez de nouveau l'option et remontez.

Réglages liés

Sources

Linux Hardening Guide (madaidans)
17