Rentrons un peu dans les détails

L'objectif de ce logiciel est de permettre aux utilisateurs, quel que soit leur niveau de compétences, d'effectuer des tâches d'administration sur les équipements sans risques d'erreurs. Cette solution permet donc aux entreprises d'engager des débutants pour effectuer des tâches complexes sans craindre l'erreur humaine.

Ce logiciel fonctionne soit en s'appuyant sur une base de données SQL dont les tables seront complétées à l'installation chez le client via l'import d'un fichier csv formaté par nos soins soit en tant qu'api appelée par un des systèmes internes de l'entreprise.

Ce logiciel permet une amélioration de l'autonomie des techniciens de terrains ainsi qu'une réduction du nombre de ticket reçu par les niveaux 2 et 3 de l'ordre de 10% pour une équipe de 4 personne. Ce faisant elle permet une augmentation de l'efficacité des équipes du client ainsi qu'une réduction des erreurs de configuration et donc un meilleur rendement.

Nous proposons ce logiciel sous deux formes :
Une interface Web
Une API.

1- Interface Web :


Le logiciel, sous son interface Web se présente en premier sous la forme d'un portail dans lequel l'utilisateur vient se connecter et dans lequel il va choisir l'action à effectuer :

Les choix disponibles à l'heure actuelle sur le portail sont :
Router
Switch.

Les choix Router et Switch vous redirigeront vers des pages ayant les mêmes noms dans lesquelles vous choisirez sur quel équipement vous souhaitez appliquer des modifications et lesquelles.

Par exemple si vous choisissez Router vous arriverez sur une nouvelle page sur laquelle il y a plusieurs menu déroulant.

Le premier menu déroulant permet de choisir le pays dans lequel se trouve l'équipement. Le deuxième menu déroulant permet de sélectionner la ville de ce pays puis dans le troisième le site et enfin l'équipement en question ou le groupe d'équipement sur lequel vous souhaitez effectuer l'action que vous sélectionnerez dans le dernier menu déroulant.

Les actions disponibles pour un router sont :

Les actions disponibles pour un switch sont les mêmes sans les actions de routage dynamique et de route statique (sauf cas d'un switch de niveau 3).

2- API :


Sous sa forme API, le logiciel va simplement recevoir les appels lancés depuis un server pour effectuer ses actions sur l'équipement sélectionné.

Petite précision, notre logiciel fonctionne en HTTPS, il est donc nécessaire de recevoir un certificat de l'autorité PKI de l'entreprise cliente.

Un exemple d'appel API pour ajouter une route statique sur un de vos routeur peut s'écrire comme suit :

from urllib import request, parse
import json
jsondata = json.dumps({"ip"=string, "user" :string, "pwd" :string, "network" :string, "mask" :string, "gateway" :string}).encode("utf8")
req = request.Request("https://hbtech.info/iproute1.php?ip=x.x.x.x")
req.add_header('Content-Type', 'application/json; charset=utf-8')
res = request.urlopen(req, jsondata).read()
page = res.decode("utf8")
# le résultat se trouve être en json :
print(json.loads(page))

Pour les diverses connexions, il serait préférable d'effectuer un échange de clé publique entre le serveur Netbox et le server OneNDM. Idem entre le serveur OneNDM et les équipements réseau afin de ne pas avoir à rentrer les mots de passe en dur dans un fichier. L'échange de clé est aussi une solution plus rapide et plus sécurisée pour les échanges via ssh.

Sur la partie sécurité, notre logiciel est proposé en installation physique via un groupe de trois raspberry pi. Le premier fonctionnant en mode HA Proxy, responsable du partage de charge entre les deux servers OneNDM. Il a aussi le rôle de proxy dans le but de protéger les servers placés derrière lui. Il va donc recevoir les demandes utilisateurs ou servers (API) et les retransmettre au serveurs derrière lui pour effectuer l'action puis retourner les résultats aux clients (principe du FrontEnd et du BackEnd).

Concernant les logs nous n'effectuons aucune rétention de logs et les renvoyons de manière instantanée vers le serveur de logs du client. Dans un soucis de conformité de la RGPD, ces informations ne seront accessibles qu'aux administrateurs autorisés à les consulter.