[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Protéger un script



Kevin Hinault wrote:
Le 27 octobre 2009 17:33, Basile STARYNKEVITCH
<basile@starynkevitch.net> a écrit :
Merwin wrote:
Bonjour à tous,

J'aimerais savoir s'il existe un moyen de permettre aux utilisateurs
d'éxecuter un script bash, mais pas de le dire ?

L'idée étant que je ne souhaite pas qu'ils puissent consulter la source de
mon script, mais qu'ils puissent l'éxécuter.

Sinon, on peut toujours coder en C le petit programme "wrapper" qui englobe
l'appel au shell. On pourrait aussi dans certains cas et avec certains
shells, s'amuser avec les permissions.

Et si ce script contient des mots de passe ou autre il y a aura des malins
qui arriveront à le lire.


Comme le fait remarquer Basile, ce n'est pas dans l'esprit du Logiciel
Libre de fournir des binaires sans les sources à côté.

Cependant c'est possible et Gangan avait fait un billet sur ce sujet
il y a quelque mois :
http://www.system-linux.eu/index.php?post/2009/01/17/Compiler-script-shell

Oui, mais la protection fournie est illusoire. Un shell ça organise surtout des tas d'appels systèmes, qu'on peut tracer par des outils comme strace ou ltrace.

Moi je voudrais comprendre quand même ce que Merwin croit cacher dans ce script. Mon intuition, c'est qu'il se fait de grosses illusions sur la pseudo-sécurité d'une telle approche.

Rendre le code source d'un shell script illisible par un utilisateur ne suffit pas à cacher ce que fait ce script.

J'insiste pour Merwin: s'il ne prend pas d'autres précautions, sa protection ne sert à rien. Il faudrait donc qu'il explique un peu plus ce qu'il cherche à cacher.

Merwin explique vaguement:

Merci à vous deux, ce n'est pas dans un but purement égoïste, mais si j'offre un service à mes clients qui ont un accès SSH sur la machine, je ne souhaite pas que ce script se retrouve par inadvertance chez un concurrent ;-)

La protection contre ce genre de piratage est de nature légale (un copyright, une licence, un contrat) ou sociale, pas technique. Et je ne crois pas trop qu'un concurrent prenne la peine de voir ce script.

En plus, le fait que Merwin envisage de cacher juste un script me fait méchamment penser qu'il ne maîtrise pas toutes les subtilités de la sécurité d'un système (autrement il n'aurait pas formulé sa question telle qu'il l'a initialement fait). Donc sa concurrence n'a pas intérêt à copier la mauvaise solution de Merwin, mais à faire mieux donc autrement.

Si on veut restreindre l'accès par SSH il est préférable d'utiliser un shell restreint pour ça. http://en.wikipedia.org/wiki/Restricted_shell
mais c'est difficile à configurer correctement.

De manière plus générale, le fantasme de la sécurité par l'obscurité reste un fantasme, et n'est pas la réalité. Si Merwin arrive à le vendre à ses clients, c'est qu'il est un bon commercial, pas forcément un bon technicien. http://en.wikipedia.org/wiki/Security_through_obscurity

Librement

--
Basile STARYNKEVITCH         http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mines, sont seulement les miennes} ***


Reply to: