L’histoire de Pandora FMS
Depuis ses humbles débuts, Pandora FMS a relevé des défis qui l’ont renforcé et guidé vers la croissance. Chaque obstacle est devenu une occasion d’innover, et aujourd’hui, grâce à nos efforts et à notre dévouement, nous continuons à aller de l’avant avec la même passion que celle qui nous a inspirés dès le début.
Une histoire de Sancho Lerena
PDG et fondateur de Pandora FMS
![Sancho Lerena Sancho Lerena](https://pandorafms.com/wp-content/uploads/2022/04/Sancho-Lerena-Joven.png)
C’était en 2001. J’avais 25 ans et j’étais un fanatique de Linux.
Je travaillais chez AOL Espagne en tant que technicien de production dans le département des communications et de la sécurité, même si mon expérience était principalement avec les pare-feux Checkpoint, j’ai également beaucoup appris de la mise en réseau pure avec les équipements Cabletron et Cisco.
Mon travail à l’époque consistait à mettre en place et à gérer l’ensemble de l’environnement du réseau de production. C’était un DPC entier, avec des centaines d’équipements réseau Unix, Windows et haut de gamme. Malgré l’équipe d’exploitation utilisant HPOpenview, il était impossible d’avoir une photo ou une « carte » de tout.
Grâce à mon expérience dans la sécurité et les environnements Linux, j’ai fait un trou dans l’équipe pour ma capacité à explorer les réseaux, à entrer dans les systèmes et à cartographier ce qui s’y trouvait de manière logique.
À cette époque, j’ai découvert qu’il n’existait aucun outil décent pour superviser des environnements hétérogènes avec une topologie de réseau complexe.
“A cette époque, j’ai géré plusieurs pilotes pour la mise en place d’outils de collecte et de centralisation d’événements (SEM, SIEM). J’ai beaucoup appris de cette expérience.
J’ai beaucoup utilisé MRTG et écrit des scripts avec RRDTool, avec lesquels j’ai peint des graphiques des principaux systèmes de communication (routeurs, équipements RAS haut de gamme, connectivité entre VPN, pare-feu, etc.), des choses qu’OVO n’avait pas fait ou ne voulait pas faire car il semblait très difficile d’apporter des modifications.
Puis j’ai commencé à travailler chez BBVA. Là, mon travail était plus lié au monde de la sécurité des systèmes et j’ai pris des contacts sérieux avec AIX et Solaris. Les outils de supervision en entreprise étaient tous ceux du Big4 : ils avaient tout, mais c’était un environnement très fragmenté.
La division des départements était orientée vers un binôme de systèmes ou de communications et chaque équipe de travail était orientée de manière différente, elles utilisaient donc des outils et des méthodologies différents. Côté sécurité, je n’avais accès à aucun de ces outils non plus, donc pour surveiller mes systèmes (Firewalls, IDS, environnements Unix, environnements Windows, etc.) je n’avais pas d’autre choix que d’explorer de nouvelles voies.
![Pandora FMS History Pandora FMS History](https://pandorafms.com/wp-content/uploads/2022/04/PandoraFMS-History.png)
Je suis devenu un spécialiste des techniques de perçage des pare-feu qui m’ont ensuite aidé à comprendre comment surmonter les problèmes des topologies de réseau complexes, en les appliquant à ce qui fait aujourd’hui partie de la conception de l’architecture Pandora FMS.
![RRDTool approach RRDTool approach](https://pandorafms.com/wp-content/uploads/2022/04/RRDTool-apporach.png)
D’après mon expérience avec les outils de collecte d’événements et de journaux, j’avais vu tous les systèmes basés sur des agents tomber en panne en raison de leurs exigences rigides ; basé sur des machines Java récentes ou une distribution de packages binaires. Dans de nombreux environnements de production, il était impossible de mettre à jour les versions, d’installer des packages sur le système ou d’installer des éléments en tant que superutilisateur. Nagios n’était même pas proche de ce dont j’avait besoin. Depuis lors, j’ai trouvé de nombreux systèmes avec des temps de fonctionnement de plusieurs années que personne ne voulait ou ne pouvait modifier.
Le père de Pandora FMS :
ARENA
Le premier concept logiciel qui intégrait nos besoins nous l’appelions « Arena » et c’était un environnement qui collectait des données envoyées par des agents précaires écrits en KSH.
Ces données n’étaient même pas standardisées, elles étaient envoyées en texte clair séparé par des pointillés «—-«. Le serveur était un développement en Perl réalisé par un collègue du département de sécurité logique (Juan H.) et le frontale en PHP que j’ai développé était mon premier code PHP.
Je connaissais un peu la programmation web grâce à mes précédents emplois, même si mon expérience était très limitée et avec des paradigmes très anciens (programmation CGI en C et HTML rudimentaire sur les serveurs Netscape). C’était aussi mon premier contact avec MySQL, puisque ma seule expérience dans les bases de données était Sybase.
La naissance de Pandora FMS
Les besoins augmentaient et l’architecture et le design ne correspondaient pas. En revanche, mon collègue Juan H. s’est désolidarisé du projet Arena et j’ai envisagé de le refaire de toutes pièces avec un autre design.
C’est là que Pandora FMS est né, fin 2002.
C’était encore un hobby qui comblait mes heures mortes, qui à cette époque étaient nombreuses car je n’avais toujours pas d’enfants.
Avec l’aide d’un collègue (Sergio I.), nous avons créé le premier agent Windows, basé sur Windows Scripting Host et programmé en VBScript. Inutile de dire que ce n’était même pas l’ombre de ce qu’il serait des années plus tard, en fait cela posait beaucoup de problèmes. J’ai moi-même développé le serveur à partir de zéro, en utilisant Perl.
Je n’avais jamais fait de projet sérieux avec Perl, mon expérience se limitait à C et Turbo Pascal, où j’avais fait des choses plus importantes.
Cependant, j’ai réussi à développer de petits scripts en Pearl, très liés à l’audit des systèmes et aux outils de force brute, au balayage et à l’audit des réseaux. Une partie de ce code a ensuite été intégrée à Pandora sous le nom de Goliath, le moteur de transactions WEB synthétiques. Pourtant, mon expérience de Perl à cette époque était très limitée.
Petit à petit, et avec l’aide de quelques amis, nous avons créé quelque chose, avec une certaine documentation pour commencer, et j’ai montré le projet à des collègues et à des connaissances qui, grâce à leurs réactions et à leurs idées, lui donnaient forme.
En interne, dans la banque, il a commencé à être un outil utile pour avoir une image précise de certains systèmes de sécurité, notamment les pare-feu Checkpoint et les environnements AIX.
Le projet initial s’appelait “Pandoramon”.
![line chart](https://pandorafms.com/wp-content/uploads/2024/06/Pandora-FMS-Network-monitoring-UI-line-chart.png)
![Pie chart](https://pandorafms.com/wp-content/uploads/2024/06/Pandora-FMS-Network-monitoring-UI-pie-chart.png)
Pandora FMS en tant qu’entreprise
En 2002, j’avais essayé de créer une société basée sur un logiciel que nous avions développé pour la télésurveillance Internet pour les gardes (BabyCam), et en 2004 une société de conseil en sécurité (Ip4All) mais aucun n’a abouti.
À la mi-2005, j’ai décidé de vivre professionnellement à partir de Pandora FMS, offrant des services d’audit de réseau, de développement personnalisé, d’installation de logiciels de sécurité, etc. À ce stade, le concept de « Version Entreprise » n’existe pas encore.
Le modèle économique repose sur l’offre de services autour de deux produits de base : Pandora et Babel. Babel était un autre logiciel avec une philosophie similaire, orienté vers le renforcement des systèmes et la création de tableaux de bord de sécurité.
Les premiers démarrages sont durs, et Pandora reste une anecdote pour mes premiers clients. Je me consacre à observer leurs besoins et à apprendre des problèmes du monde réel dans différents environnements, toujours liés au monde de la sécurité.
L’une des premières choses que nous avons faites a été de renommer le projet en Pandora. Fin 2006, nous avons ajouté le slogan FMS car « Pandora » était trop générique.
![FMS center](https://pandorafms.com/wp-content/uploads/2021/11/FMS-center.png)
![](https://pandorafms.com/wp-content/uploads/2021/11/FMS-ring-small.png)
Les premières années, Pandora FMS a eu un développement très lent, puisqu’il ne s’agissait pas d’un logiciel en tant que tel, mais d’un projet purement « Libre » qui servait à nous initier à des projets de conseil en sécurité. Nous avons développé ensemble Babel Enterprise et ce n’est qu’au début de l’année 2006 que le premier programmeur professionnel a rejoint l’équipe : Esteban Sánchez. Il a commencé à travailler à plein temps dans Pandora FMS.
“Quelqu’un nous a donné de sages conseils :
Free Monitoring System était un très mauvais moyen d’essayer de vendre (Free = Gratuit), donc pour le F, nous avons choisi la qualité principale de Pandora et étroitement liée au logo original (une pieuvre) : F pour Flexible.
Au cours des premières années, Esteban et moi étions les premiers programmeurs, jusqu’à ce que Ramon Novoa nous rejoigne en novembre 2007, avec Esteban, qui a commencé à faire de Pandora FMS un véritable produit logiciel. A cette époque, nous avons eu des collaborations de diverses personnes, l’une des plus importantes, Guruevi de New York et d’autres personnes d’Amérique du Sud, de Nouvelle-Zélande et du Japon.
Fait curieux, tous les projets de logiciels libres choisissent un animal, le nôtre était une pieuvre. Vous pouvez voir plus d’informations sur l’histoire du logo dans notre blog.
Pandora FMS aujourd’hui
Selon les données d’openhub.net en novembre 2015, Pandora FMS compte avec 11 000 commits effectués par plus de 50 personnes, avec un total de 413 000 lignes de code développées en PHP, Javascript, Perl, C ++, C, Shellscript et Java. Il y a environ un million de téléchargements enregistrés sur Sourceforge.
Il y a eu de nombreuses versions, correctifs et mises à jour qui, au cours des 12 dernières années, ont transformé ce qui était à l’origine un projet d’un simple technicien pour résoudre des problèmes techniques. Grâce à la collaboration de dizaines de programmeurs, de techniciens système, d’utilisateurs et de clients, Pandora FMS est aujourd’hui un outil professionnel de supervision et de gestion de grands environnements.
En tant que « Père » de la créature, je ne peux que dire : Merci à tous de nous avoir amenés ici !
![roadmap-img roadmap-img](https://pandorafms.com/wp-content/uploads/2024/08/roadmap-img.png)
Résumé des versions de Pandora FMS tout au long de son histoire
Null
Première version publique : Pandora v0.8.1 (août 2004)
Jusqu’en août 2004, nous n’avons pas publié notre première version publiquement, c’était la version 0.8. À cette époque, l’équipe de développement était composée de trois personnes : Moi, Sergio I. qui avait une partie de l’agent initial VBScript pour Windows et Raúl M. qui aidait avec différentes tâches, non liées au code.
À cette époque, le projet s’appelait « Pandoramon » sur Sourceforge (car Pandora était déjà pris).
La première version n’incorporait que des fonctionnalités liées aux agents (elle n’avait aucune supervision à distance d’aucune sorte) et son interface était pour le moins basique. Il n’a pas eu non plus d’événements. Les graphismes, cependant, étaient assez décents. Le modèle de données est peut-être le moins modifié de tout cela, puisqu’il n’y a aucune trace du code d’origine.
Ce n’est qu’à partir de la version 1.0 que nous avons commencé à utiliser CVS : un système de contrôle de version. Cela peut choquer, mais le fait est qu’aucun d’entre nous qui était lié au projet ne venait du monde du développement, mais des réseaux et des systèmes. Le fait est qu’à ce stade, le projet était totalement « Amateur ».
Pandora v1.0 (octobre 2004)
Dans cette version, « les choses devenaient sérieuses ». Cette version intègre un système ACL utilisateur.
Pandora v1.2 (décembre 2006)
Nous avons commencé à utiliser Subversion pour gérer le code. Première version de l’agent en C++, développé par Esteban S., l’agent que nous avions en VBScript est supprimé. La supervision et la réception à distance des traps SNMP sont intégrées.
Pandora v1.3 (novembre 2007)
Les rapports, les graphiques combinés, le serveur de reconnaissance et les rapports personnalisés sont intégrés. Modèles de modules et de machines, pour le serveur de reconnaissance. Il y a un changement visuel important, qui fait qu’on commence à le prendre « au sérieux ».
Pandora v2.x (2008-2009)
Nous créons le protocole Tentacle. Nous introduisons le serveur d’exportation. Tentacle (un protocole de transfert de fichiers propriétaire avec un port attribué par l’IANA, 41121/tcp) était un point crucial lorsqu’il s’agissait de faciliter la vie lors de l’installation d’agents.
Dans la version 2.x nous avons essayé de faire une version du serveur en C mais cela n’a pas fonctionné et nous continuons à travailler sur la version Perl. Vu en perspective, on peut dire que c’était une excellente décision. Le principal goulot d’étranglement du serveur est l’interaction SQL, pas les opérations internes.
Pandora v3.x (2010-2011)
Première version « Entreprise ». Il permet l’édition à distance des configurations des agents, des rapports PDF et d’autres fonctionnalités. Nous avons des clients surveillant des environnements d’environ 2 000 agents.
Pandora v5.x (2014-2015)
Nous passons le projet à GIT, de SVN. Nous présentons le serveur Satellite. Grâce au Satellite, on atteint dans certains environnements spécifiques un taux de 500 contrôles par seconde, un scandale et aussi de manière distribuée et sans connexion bidirectionnelle, ce que l’on appelle une supervision « headless ».
Pandora v6.x (2016)
Nous introduisons le Méta-répertoire des agents, le contrôle à distance intégré de bureau (avec Pandora RC), la gestion à distance des serveurs et des satellites, les améliorations des tableaux de bord, la supervision dynamique et les améliorations de la supervision prédictive.