• # Alors...

    Posté par . En réponse à la dépêche Red Hat Enterprise Linux 7. Évalué à 9.

    Répertoire /tmp privé

    Le répertoire /tmp était couramment utilisé par les démons d'un système pour stocker des fichiers temporaires, sockets ou des FIFO. Or ce dossier est accessible à tous les utilisateurs ce qui a causé de nombreux problèmes de sécurité (par exemple CVE-2011-2722) lorsque la manipulation des fichiers n'était pas faite de façon très précautionneuse par rapport à la sécurité.

    La plupart des démons utilisent maintenant des sous-dossiers de /run avec des permissions restreintes pour stocker leurs données temporaires. Mais certains projets sont récalcitrants et certains programmes ne peuvent aussi pas être changés (logiciels propriétaires, notamment). Pour ceux-ci, l'option PrivateTmp des fichiers d'unit systemd permet de créer un dossier à accès restreint, dont l'usage sera transparent pour l'application.

    Ainsi, avant de démarrer un service, systemd :

    crée un dossier tmp avec un nom imprédictible en utilisant la fonction mkdtemp ;
    crée un nouvel espace de nom de système de fichiers (file system namespace) pour que les changements >n'impactent pas tout le système, mais uniquement le démon et ses fils ;
    monte avec l'option bind le dossier créé par-dessus le dossier /tmp ;
    démarre le service.

    Plus de détails sur le blog de Red Hat lié à la sécurité.

    Il peut faire ça SysV ? ;-)

    "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)