Journal RemoteScript version 2

Posté par . Licence CC by-sa
12
10
déc.
2013

Bijour nal'.

Je voulais vous faire part de la mise à disposition d'une version réécrite de RemoteScript, une interface Php/Mysql pour l’exécution de scripts shell sur des machines ou des groupes de machines distantes.

C'est un outil développé pour des usages internes à ma boite, que j'ai rendu public sur sourceforge, à toutes fins utiles.

Cela permet, sans agent, d’exécuter simplement des scripts à distance sur une ou plusieurs machines simultanément : côté serveur web, ça utilise libssh2, et côté client ça utilise le serveur SSH de l'hôte.

Le serveur, pour accéder aux clients, peut utiliser l'authentification par mot de passe, ou une paire de clés publique/privée. L'empreinte du serveur SSH distant peut aussi être utilisée pour identifier l'hôte distant.

Dans cette version 2, les tâches sont exécutées via la crontab, ce qui permet de lancer des tâches sans que toutes les machines soient allumées, des tentatives d'exécution des tâches seront faites au rythme de la crontab, jusqu'à ce que la machine soit "up", ou jusqu'au délai d'expiration de la tâche.

Pour ce qui est des utilisateurs de l'application, il est possible d'utiliser l'authentification interne, un serveur LDAP ou un ticket Kerberos, et des ACL simples permettent, par exemple, de n'autoriser un utilisateur qu'à exécuter des scripts, et pas à en créer.

L'import des machines depuis Ocs-Inventory-ng est aussi possible, via l'interface.

Le tout est ici :
RemoteScript

Vous savez tout !

  • # Attention

    Posté par (page perso) . Évalué à 4. Dernière modification le 10/12/13 à 13:17.

    J'ai bien peur que pas mal de ton code puisse être sujet aux injections SQL. J'ai juste jeté un œil très rapide je peux pas le dire avec certitude, mais ça manque de filtrage des entrée/sorties.

    De plus tu utilises beaucoup les variables $_GET et $_POST directement (du moins j'en ai bien l'impression) et que tu ne valides pas complètement les entrées de tes formulaires.

    • [^] # Re: Attention

      Posté par . Évalué à 5. Dernière modification le 10/12/13 à 13:39.

      Oui c'est vrai, du moins pour les formulaires des pages post-authentification.
      Il me reste des choses à corriger niveau sécurité, mais la page d'authentification passe néanmoins le test Wapiti

  • # Comparaison

    Posté par . Évalué à 1.

    Je veux bien en savoir un peu plus sur ce qui vous distingue / rapproche des outils du même genre.

    Comment te positionnes-tu par rapport à des outils comme Capistrano et, dans une moindre mesure, Puppet ?
    Vous êtes-vous lancé dans le dév de votre propre outil parce que vous avez identifié des manques (il y en a plein :) ) particuliers ?

    • [^] # Re: Comparaison

      Posté par . Évalué à 2.

      A l'origine (2009), je n'ai pas trouvé l'outil à ma convenance, tout simplement.

      Mes critères étaient :
      - une interface web simple et concise
      - exécuter des scripts sur des machines hétérogènes n'ayant rien de plus qu'un serveur SSH et un shell plus ou moins standard
      - implicite mais important : sans agent sur la machine
      - être sûr que le script sera exécuté même si la machine n'est pas actuellement allumée, pour gérer des postes utilisateurs, c'est plus facile
      - connaître le code de retour des scripts en un coup d'oeil, sur une machine ou tout un groupe
      - consigner en base de données les retours du shell

      De plus, alors que mon travail c'est l'administration système, j'ai trouvé ça sympa d'apprendre les rudiments de développement en créant moi-même l'outil sur mesure.

      Je ne prétends pas me substituer à Puppet (ou même un autre), loin de là. bien que je ne connaisse pas bien cet outil, ce que j'en sait, c'est que par rapports à mes besoins, c'est sortir le bazooka pour tuer une mouche.

      J'ai vu depuis qu'il y avait pléthore d'outils se rapprochant de près ou de loin de mes besoins, mais j'ai préféré continuer à travailler avec le mien.

      J’espère que je réponds à la question !

      Ici mon post de 2011 concernant la version 1 ou nous avions évoqué nombre d'alternatives.

    • [^] # Re: Comparaison

      Posté par (page perso) . Évalué à 2.

      Je pense qu'il faut citer salt-ssh alors.

      • [^] # Re: Comparaison

        Posté par . Évalué à 1.

        Effectivement il est dans la même catégorie d'outils mais ne réponds pas au cahier des charges.

        Notamment les machines doivent être UP.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.