web-dev-qa-db-fra.com

Pourquoi un répertoire de groupe accessible en écriture est-il considéré comme non sécurisé?

Plus précisément, pourquoi le démon de libslack considère-t-il que les fichiers en cours d'exécution dans un répertoire accessible en écriture du groupe sont "dangereux"? Si vous pouvez me donner une explication de la raison pour laquelle les répertoires en écriture de groupe sont considérés comme peu sûrs au sens général, ce serait bien aussi.

Désolé, apparemment c'était trop peu clair. Dans la page de manuel daemon de libslack, vous pouvez lire:

-U, --unsafe

Autoriser la lecture d'un fichier de configuration non sécurisé et l'exécution d'un exécutable non sécurisé. Un fichier de configuration ou un fichier exécutable est dangereux s'il s'agit d'un groupe ou d'un monde accessible en écriture, ou s'il se trouve dans un répertoire accessible au groupe ou à un utilisateur accessible en écriture (liens symboliques suivants). Si un fichier exécutable est un script interprété par un autre fichier exécutable, il est considéré comme non sécurisé si l'interpréteur n'est pas sécurisé. Si l'interpréteur est/usr/bin/env (avec un argument qui est un nom de commande à rechercher dans $ PATH), cette commande doit être sécurisée. Par défaut, le démon (1) refusera de lire un fichier de configuration non sécurisé ou d'exécuter un exécutable non sécurisé lorsqu'il est exécuté par root. Cette option annule ce comportement et ne devrait donc jamais être utilisée.

À la fin, il est indiqué que cette option (l'option non sécurisée) devrait jamais être utilisée apparemment/supposément pour des raisons de sécurité.

Personnellement, je n'arrive pas vraiment à penser à ce qui serait si intrinsèquement dangereux de démoniser quelque chose qui réside dans un répertoire enregistrable de groupe.

Je ne vois pas pourquoi ma question a été mise en attente non plus, car cela me semble être une question plutôt directe pour quiconque la lit en réalité, mais voici une tentative de l'écrire plus clairement.

Pourquoi est-il considéré dangereux qu'un fichier ait un répertoire en écriture dans le groupe?

Pour moi, cela concerne plus particulièrement le démon de libslack, mais j'ai vu plusieurs autres paquets signaler le même scénario comme dangereux, alors si vous pouviez me fournir des informations sur le type de problèmes de sécurité auxquels je pouvais m'attendre en raison de mon exécution ... malgré l'avertissement - démon avec le drapeau non sécurisé, ce serait merveilleux.

4
keyneom

Du manuel de sendmail/Majordomo:

2.4.1. Conséquences de l'écriture de groupe non sécurisée

Si un utilisateur a le droit d'écrire pour accéder à un fichier d'alias, il doit être un utilisateur de confiance. En plaçant une entrée dans le fichier d'alias (tel que celui utilisé pour exécuter un wrapper), un utilisateur peut exécuter n'importe quel programme avec les privilèges de Sendmail (démon ou, dans les versions antérieures, root). Cette gaffe permettrait aux utilisateurs de supprimer ou de modifier les autorisations des fichiers appartenant au démon (à l'aide des commandes rm ou chmod du fichier aliases). Dans une certaine mesure, cette possibilité est évitée en utilisant smrsh; Cependant, vous devez toujours faire attention aux fichiers qui se trouvent dans le répertoire /etc/smrsh /.

Un autre problème de sécurité important est que l'utilisateur pouvant accéder au fichier d'alias peut ajouter ou écrire aux fichiers appartenant au démon à l'aide de la redirection de fichier (a >> ou > à la place de a |). Même dans ce cas, cette violation peut également être contrée en ajoutant une ligne au fichier sendmail.cf, limitant les fichiers pouvant être écrits via le fichier alias.

<..>

Dans le cas de fichiers include ou .forward, les commandes ou les redirections sont exécutés sous le nom de l'utilisateur propriétaire du fichier. Par conséquent, si un fichier est accessible en écriture à un groupe, un membre du groupe peut exécuter des commandes en tant qu'utilisateur propriétaire du fichier. En d'autres termes, tout utilisateur du groupe peut exécuter des commandes en tant que cet utilisateur. Cependant, étant donné que l'utilisateur est créé sans Shell, les commandes ou les redirections ne seront pas traitées dans les fichiers include appartenant à cet utilisateur.

4.2. Conséquences des chemins de répertoire inscriptibles de groupe non sécurisés

Si un utilisateur dispose d'une autorisation d'écriture de groupe sur un répertoire, par exemple /etc/, l'utilisateur peut simplement déplacer n'importe quel fichier et en créer un à sa place. Une attaque pourrait aller quelque chose comme ça

[user@system etc]$ mv aliases ...
[user@system etc]$ vi aliases

L'utilisateur peut alors créer ses propres alias! Cette attaque pourrait toutefois être empêchée par la vérification de la sécurité de Sendmail pour les chemins inscriptibles des groupes non sécurisés. Une telle attaque fonctionnerait également avec les fichiers include et .forward ayant des chemins non sécurisés.

Source .

Ce manuel l'explique assez bien et la même logique s'applique à de nombreux autres logiciels: gardez à l'esprit que vous utilisez un système multi-utilisateurs, même si vous êtes l'unique utilisateur de ce système. Et sur un système multi-utilisateur, un utilisateur doit être protégé des autres utilisateurs.

3
Rinzwind