(in)sécurité

bompi

El Moderador
Modérateur
Club iGen
12 Février 2004
42 029
3 218
Bonsoir à tous.

Un petit sujet de réflexion : sudo.
Dans un de mes posts d'hier je vantais le mérite de 'sudo'. Je me souviens qu'au début où je l'ai vue je ne l'ai pas trop utilisée (sous Linux). Une fois sur Mac OS : on l'utilise tout le temps.

Or sudo ouvre une fenêtre temporelle lors de laquelle on n'a plus besoin de rentrer son mot de passe pour effectuer une tâche d'administration. J'ai dès le départ pensé que c'était très dangereux, en même temps que bien pratique.
J'ai fait un test en 10.3.2 qui m'a rassuré. Mais hier j'ai refait le test et là, ça ne m'a pas rassuré su tout.

Le test : j'ouvre un terminal. Si je fais "sudo vi /etc/hostconfig", il me demande mon mot de passe. Je fais Ctrl-C et c'est fini.
Puis j'ouvre CarbonCopyCloner : je clique sur le cadenas, rentre mon mot de passe. Je peux alors utiliser CCC pour cloner mon disque.
Oui mais pas que ça : je reviens à mon terminal et retape "sudo vi /etc/hostconfig" et là ... plus besoin de mot de passe.

Morale de l'histoire : il m'avait semblé que sudo n'ouvrait une porte que pour les process issus (forked) du process par lequel il a été lancé [j'ai mal fait mon test, il y a 6 mois ...]. En fait il ouvre en grand la porte à TOUT PROCESS VOULANT UTILISER SUDO !!!!

Donc, si un vilain colle un cheval de troie dans une application, que ce canasson attend patiemment que l'on exécute 'sudo' : il pourra, bien qu'installé sous le user normal, avoir accès à TOUT LE SYSTÈME.

Elle est bien bonne !!!

Une remarque : Le panneau de préférences n'utilise pas sudo, apparemment, ou pas de la même manière. Mais les scripts AppleScript, Bash, PERL, etc. le font (ou peuvent le faire).

Je suppose que vous le saviez déjà, mais bon ...
 
Si tu ne l'as pas encore fait, je te conseille un petit man sudoers dans le terminal. Tu y apprendras plein de choses, comme entre autre le fait qu'une fois sudo utilisée, il reste actif 5 minutes (par défaut). Si vraiment tu es parano, tu peux modifier cette valeur avec le paramètre timestamp_timeout et la mettre à 0, pour qu'un mot de passe est demandé à chaque utilisation de sudo. Le tout est à configuré via visudo, ce qui va directement éditer ton fichier sudoers. Il y a également plein d'autres options à mettre, le tout bien expliqué dans le manuel et avec des examples à la fin.

++
 
Mon post cherche simplement à pointer un problème qui passe en général inaperçu auprès des
lecteurs de MacGé, auxquels nous conseillons sans cesse d'utiliser Onyx et d'autres outils qui
en général lancent des scripts (Onyx utilise psync) donc lancent directement des 'sudo' et
ouvrent immédiatement des brèches dans le système.
Les préférences utilisent un mécanisme semblable à celui des outils d'administration livrés
sous Linux [semblable dans le résultat, s'entend] mais les nombreux autres outils sont
dangereux.

Il y a deux jours quelqu'un a posté des liens de type applescript:// sur les forums, avec
des petits scrcipts (innocents). Or il y a dans ces scripts des 'sudo' qui peuvent mener à
la catastrophe pour l'utilisateur peu au fait et/ou peu méfiant.

Autrement dit, sans être parano, il faut être "aware", comme dit JCvD. Sans cela, on
peut considérer que la réputation de sécurité ne durera pas longtemps.

PS : On peut quand même noter que par défaut, sudo est configuré de manière trop laxiste