Bonjour !
Je viens souvent ici, beaucoup de tuto de qualités et pleins de petites astuces que j'ai découvert ici, un grand bravo aux membres !!
Maintenant à mon tour de vous apporter mon petit quelque chose 😉,
Je viens pour vous présenter mon appli web, l'EasySSH.
C'est quoi ça ?!
- La gestion de votre serveur via commande SSH avec votre navigateur ! Gestion des utilisateurs, gestion de groupe d'utilisateur et gestion d'autorisation sur les commandes.
Il faut quoi pour installer ce bouzin ?
- Il faut un serveur apache/nginx, php5/7, d'une base SQL et le plugin libssh2 pour PHP
Pourquoi tout ça ?
- Un serveur apache afin de pouvoir accèder au panel
- Une base SQL pour stocker les utilisateurs, les serveurs SSH, les commandes et les logs
- Le module php5 ou 7 ainsi que le plugin libssh2 pour l’exécution du code php, gestion des échanges entre la bdd avec pdo et enfin la connexion au serveur SSH avec le module libssh2
Explication de la partie serveur et commande :
Un espace sur le panel permet de gérer ses serveurs auxquels sont associés des commandes pré-défini par l'administrateur.
Une commande ne peut exister sans être assignée à un serveur.
Lors de la création du serveur par l'administrateur il est demandé : l'utilisateur, l'hôte, le password ainsi que le port. A savoir, l'utilisateur, l'hôte ainsi que le password sont chiffrés avec une méthode de chiffrage et est agrémentée d'un salt que vous modifierez dans le fichier config.php.
Une fois le serveur créé une commande peut lui être attribuée.
Afin que la commande ne soit pas accessible pour tous les utilisateur un système de niveau d'autorisation est mis en place. Ce système est décrit plus bas.
Explication de la partie LOG :
Chaque action effectuée par un utilisateur est logué dans la base. Les informations sur l'action, la date/heure ainsi que son ip est stockée.
Explication de la partie utilisateur :
Les utilisateurs son gérés en rang de 0 à 4.
Liste des rangs disponible
0 - Désactivé :
- L'utilisateur n'est pas activé, il ne peut pas utiliser le panel : Connexion impossible.
- Il lui est notifié lors de sa tentative de connexion que son compte n'est pas activé.
1 - Utilisateur :
- Il n'est possible pour lui que d’exécuter les commandes dont le niveau d'autorisation est égal ou inférieur au sien.
- Accès aux log personnels
2 - Utilisateur avancé :
- Il n'est possible pour lui que d’exécuter les commandes dont le niveau d'autorisation est égal ou inférieur au sien.
- Accès à l'ensemble des log sans la visualisation des adresses IP.
3 - Administrateur :
- Possède un niveau d'autorisation 500 (modifiable)
- Accès à l'ensemble des log avec les adresses IP
- Accès complet configuration panel
- Accès complet gestion utilisateur (Droit uniquement sur les membres inférieur a son rang)
4+ - ROOT :
- Tous droits + Clear log
Chaque utilisateur possède un niveau d'autorisation de 1 à 500. Selon le niveau d'autorisation il lui est possible d’exécuter les commandes auxquels il y est autorisé.
Si le niveau d'autorisation de l’utilisateur est égal ou supérieur au niveau d'autorisation de la commande, il est autorisé à l’exécuter. Au contraire si le niveau d'autorisation est inférieur à celle de la commande il ne peut ni voir la commande ni pouvoir l’exécuter.
Cas d'exemple :
La commande ls /home/ possède un niveau d'autorisation de 100, l'utilisateur Arthur possède un niveau de 80. Il lui est donc impossible d’exécuter la commande.
Quelques screen, a noter que c'est un site bootstrap donc la navigation mobile est tout à fait aisée
Si cela vous plait vous pouvez télécharger l'EasySSH Version 2
ici.
Lire le fichier LisezMoi.nfo pour l'installation. Personnelement j'ai eu un peu de mal pour l'installation de libssh2 sous php7, Je vous recommande de suivre ce tuto
https://www.ikq.me/2016/01/12-steps-to-install-libssh2-for-php7/ pour l'installation du module sous php7.
Le panel n'est pas fini et je compte bien-sûr apporter encore des améliorations et quelques corrections sur l'interface afin qu'elle soit de plus en plus plaisante à utiliser. Ceci est le fruit d'un travail d'un amateur, mes connaissances en php sont suffisantes pour réaliser ce genre de travaux, mais je ne garantie pas la sécurité de celui-ci. Je m’efforce de respecter les standards de sécurité, mais il se peut qu'il existe des failles que je n'ai pas comblés.
Important : N'importe quelle commande peut être créée, exemple : rm -R /, je vous laisse imaginer les dégâts que cela peut faire ! =D
Si vous avez des remarques, questions, suggestions ou tout autre lâchez vous
L'EasySSH est sous Copyleft :
Le copyleft est une méthode générale pour rendre libre un programme (ou toute autre ouvre) et obliger toutes
les versions modifiées ou étendues de ce programme à être libres également.
La manière la plus simple de faire d'un programme un logiciel libre est de le mettre
dans le domaine public, sans copyright.1 Cela autorise les gens à le partager si le cour leur en dit, avec leurs améliorations
éventuelles. Mais cela autorise aussi des personnes indélicates à en faire un logiciel privateur.2 Elles peuvent
très bien y effectuer des changements, nombreux ou non, et distribuer le résultat en tant que logiciel privateur.
Ceux qui recevront le programme dans sa forme modifiée n'auront pas la liberté que l'auteur original leur avait donnée ;
l'intermédiaire l'aura fait disparaître.
Source :
https://www.gnu.org/licenses/copyleft.fr.html