Pandora FMS の歴史

Sancho Lerena によるストーリー

Pandora FMS の CEO 兼創設者

2001年でした。私は25歳で、Linux のファンでした。

当時、私は AOL Spain で通信およびセキュリティ部門の製品技術者として働いていましたが、経験はほとんど Checkpoint ファイアウォールに限定されていたため、Cabletron および Cisco 機器での純粋なネットワーキングについて多くのことを学びました。

当時の私の仕事は、実稼働ネットワーク環境全体を構成および管理することでした。 それは、何百もの Unix、Windows、およびハイエンドネットワーク機器を備えたデータセンター全体でした。 運用グループは HP Openview を使用していましたが、”マップ” でさえも、すべての全体像を把握することは不可能でした。

セキュリティと Linux のバックグラウンドのおかげで、ネットワークを探索し、システムに入り、すべての部分を論理的に関連付けることができたため、チームの一員になりました。

Pandora FMS History

そして、複雑なネットワークトポロジを持つ異種環境を監視するための適切なツールがないことに気づきました。

イベント収集および集中化ツール(SEM、SIEM)のいくつかのパイロット実装を管理しました。 この経験から多くのことを学びました。

私は多くの MRTG を使用し、RRDTool を使用してスクリプトを開発しました。これは、主要な通信システム(ルータ、RAS ハイエンド接続の VPN 機器、ファイアウォールなど)の状態を見るためのグラフを描くのに役立ちました。これは、OVO では変更を加えることが複雑であると考えたためです。

その後、 BBVAで働き始めました。 ここでの新しい仕事は、セキュリティとシステムの世界とより関連があり、AIX と Solaris と真剣に取り組みました。 企業が使用した監視ツールは Big4 でした。すべてが揃っていたものの、同時に非常に断片化されたフレームワークでした。

部門は 2つの役割に分かれていました:コミュニケーションとシステムで、各チームは異なるツールと異なる方法論のもとに異なる方向で動いていました。

セキュリティの観点から、システム(ファイアウォール、IDS、Unix 環境、Windowsなど)を監視するためのツールにアクセスできなかったため、手元のタスクを完了するための新しい方法を模索するしかありませんでした。

私はファイアウォール設定技術のスペシャリストになり、後に複雑なネットワークトポロジの課題を理解して克服するのに役立ち、Pandora FMS のアーキテクチャ設計の一部になりました。

私は最初に Nagios というソフトウェアを紹介しようとしましたが、そのエージェントの弱点と監視の厳格な概念は私には合いませんでした。 当時は、ステータスを取得するだけでなく、パフォーマンスを見ることがより重要でした。

監視レポートにさまざまなソースからのデータを含めるには、強力なグラフィックが必要でした。しきい値を設定してアラートを生成できるようにするには、すべてを比較して関連付けることが重要でした。 また、(標準ではない環境で)複雑なテストを実行する機能を実現し、これらすべてのシステムから情報を収集することも重要でした。

ほとんどの場合、監視が必要なシステムに直接アクセスすることはできなかったため、私は事前に用意されたプロキシシステムに「盲目的に」エージェントをインストールする必要がありました。 ログとイベント収集ツールでの私自身の経験ですが、すべてのエージェントベースのシステムが、それらの厳格な要件、最近の Java ベースのマシン、またはバイナリパッケージ配布のためにクラッシュしてしまいました。 多くの実稼働環境では、バージョンをアップグレードしたり、システムにパッケージをインストールしたり、root ユーザーしてインストールしたりすることはできませんでした。 Nagios は、私が必要としていたものや想像したものにさえ近づいていませんでした。

それ以来、数年間稼働し続けているシステムを何度も見つけましたが、もちろん誰も見たくありませんでした。

RRDTool approach

Pandora FMS の父:

ARENA

私たちのニーズを満たした最初の統合ソフトウェアのコンセプトは “Arena” でした。 それは、KSH で書かれたいくつかの不安定なエージェントによって送信されたデータを収集するものでした。

このデータは標準化されていませんでした。 プレーンテキストで送信され、点線 “—-“ で区切られています。 サーバは Perl で開発され、論理セキュリティ部門(Juan H.)の同僚によって作成され、実際には私が PHP で記述された最初のコードの一部を用いて作成されたフロントエンドが含まれていました。

それまでにいくつかの Web プログラミングを知っていましたが、私の経験は非常に貧弱で、非常に古いパラダイム(C での CGI プログラミングと Netscape サーバでの基本的な HTML)でした。 また、Sybase データベースでの作業が私の唯一のバックグラウンドであったため、MySQLとの最初の出会いでもありました。

Pandora FMS の誕生

ニーズは高まりましたが、アーキテクチャと設計だけが適合しませんでした。 一方、私のパートナーである Juan H. はプロジェクトから撤退し、別の設計でアイデア全体を最初からやり直すことを検討しました。 2002年12月のその日、Pandora が誕生しましたが、当時は空き時間を過ごすことだけが楽しみでした。

パートナー(Sergio I.)の助けを借りて、Windows Scripting Host に基づいて、VBScript を使用してコーディングした最初 のWindows エージェントを作成しました。言うまでもなく、これは氷山の一角にすぎませんでした。 それが何年も後にどうなるか。 実際、多くの初期の問題がありました。 私は Perl を使用してサーバーをゼロから開発しました。

私は過去に Perl スクリプトを使用して、関連する小規模なシステム、監査ツール、ブルートフォーススクリプト、ネットワークスキャンを開発しました。そのため、これらのコードの一部は、合成トランザクションを行う WEB エンジンである Pandora と Goliath にも含まれました。 しかし、それでも、当時の Perl に関する私の経験は限られていました。

ゆっくりと、そして何人かの友人の助けを借りて、私たちは勧めるためのドキュメントを作成しました、そしてその時、Pandora FMS のリリースバージョンを形作るのをフィードバックなどで助けてくれた同僚や知人にプロジェクトを見せていました。 内部的に、銀行ではこれをセキュリティシステム、特に Checkpoint ファイアウォールと AIX 環境の正確な全体像を把握するための便利なツールと見なし始めました。

初期のプロジェクトは、“Pandoramon” と呼ばれていました。

エージェント、コンソール、サーバのコードがスクラッチから始まったという点が重要です。私は Nagios のようなプロジェクトから何も借りたことはありません。 この点を疑う人もいますが、すべてのコードが最初から公開されているという事実により、現在のアーキテクチャが Pandora FMS の最初のバージョンから継承されていることが良くわかります。

Sancho Lerena

会社としての Pandora FMS

2005年半ばに、私は Pandora からビジネスを作り、自分自身の生活のために、ネットワーク監査サービス、カスタム開発、ソフトウェアインストール、セキュリティなどを提供することを提案しました。この時点では、”Enterprise 版” の概念は存在しませんでした。 ビジネスモデルは、Pandora と Babel の 2つの製品を中心に展開するサービスの提供に基づいていました。

Babel は、システムの強化とセキュリティダッシュボードの作成を目的とした、同様の哲学を持つ別のソフトウェアでした。 2002年にセキュリティ会社向けのインターネットベースの遠隔監視用に開発したソフトウェア(BabyCam)をベースに事業を始めようとしましたが、2004年にセキュリティコンサルティング会社が興味を示しました(Ip4All)が成功しませんでした。

2005年の夏、David Villanueva-古い同僚-と私は Artica を立ち上げることにしました。 私は銀行のシニアスペシャリストコンサルタントとしての仕事を辞めました。 この時点から、すべての動きが加速し始め、Ártica Soluciones Tecnológicas(テクノロジーソリューション)は 2005年11月に正式に設立されました。最初は大変で、Pandora は私の最初の顧客の「クールな話」に他なりませんでした。 私は彼らのニーズを観察し、常にコンピューターのセキュリティに関係するさまざまな環境での現実の問題から学ぶことにしました。

私たちが最初にしたことの 1つは、プロジェクトの名前を正式に Pandoraに変更することでした。 2006年後半に、”Pandora” の名前が一般的すぎるため、“FMS” を追加しました。

ある時、誰かが私たちに良い言葉を与えてくれました。無料を意味する Free の監視システムでは売るには良くなかったため、F には、元のロゴ(タコ)とも密接に関連するPandora の主な品質をあてて、柔軟性(Flexible)の F としました。

Pandora は、それ自体がソフトウェアではなく、セキュリティコンサルティングプロジェクトに参加できるようにするために役立つ純粋な「無料」プロジェクトであったため、最初の数年間はゆっくりと開発されました。 同時に、私たちは Babel Enterprise も開発していました。最初のプログラマーがスタッフに加わったのは、2006年の初めになってからでした。Esteban Sanchez です。

彼は Pandora のためにフルタイムで働き始めました。 初期の頃、Esteban と私は最初のプログラマーでした。2007年11月に Ramon Novoa がチームに加わりました。 Pandora を本物の公に利用可能なソフトウェア製品にし始めたのは Ramón と Esteban の両方でした。 この時、私たちは世界中のさまざまな人々とのコラボレーションを確立しました。その中で最も重要なもののいくつかはニューヨーカー(Guruevi)と南アメリカ、ニュージーランド、そして日本の多くの人々でした。 Pandora は国際的に関心を集め始めていました。

あなたがそれを見たことがあるかどうかわかりませんが、すべてのオープンソースソフトウェアプロジェクトは動物を選ぶ傾向があります、私たちはタコでした。 それを選択した背景にあるストーリーの詳細については、ブログをご覧ください。

Data Pandora
Data Pandora

現在の Pandora FMS

2015年11月の openhub.net によると、Pandora FMS には 50人以上による 11,000 のコミットがあり、PHP、Javascript、Perl、C ++、C、Java、Shellscript で合計 413,000 行のコードが開発されています。 Sourceforge は約 100 万ダウンロードを記録しています。

多くのバージョン、パッチ、および更新があり、過去 12年間で、元々は技術的な問題の解決に努めた単純な技術者からのプロジェクトであったものが、はるかに大きなものに変わりました。

数十人のプログラマー、システム技術者、ユーザ、および顧客のコラボレーションのおかげで、今日、Pandora FMS は大規模な環境を監視および管理するためのプロフェッショナルなツールです。

この生き物の「父」として、ただ私が言えるのは…:私たちをここに連れてきてくれてありがとう! 🙂

Timeline PandoraFMS

Pandora FMS のバージョン概要

Null

First public release: Pandora v0.8.1 (August 2004)

Until August 2004 we didn’t release our first version publicly, which was version 0.8. At that time the development team was composed of three people: Sergio I. bearing part of the initial agent VBScript for Windows, Raul M. helping on different code-related tasks, and myself, all working alongside each other to make this possible.

We had to rename the project “Pandoramon” on Sourceforge at the time (because Pandora was already taken).

The first version included features related strictly to agents (we still hadn’t included any kind of remote monitoring) and its interface was pretty basic, to say the least. It didn’t even have an ‘events’ feature, although the graphs were pretty decent. The data model is perhaps the part of the original which has gone through the least changes, but there’s no remaining trace of the original code.

It wasn’t until version 1.0 that we started using a VCS (Version Control System). And though this may sound shocking, the fact is that all of us involved in the project were coming from Networks and Systems, so we were quite the amateurs when it came to Software Development at the time.

Pandora v1.0 (October 2004)

In this version “things got serious.” This version added compatibility with user’s ACL systems.

Pandora v1.2 (December 2006)

We started using Subversion to manage the code. The first version of the agent was written in C ++ and developed by Esteban S.. The agent we had written in VBScript was discarded. Remote monitoring and SNMP trap collecting was added.

Pandora v1.3 (November 2007)

Reports, combined graphics, recon server and customized reports are combined with the previous features. Module and machine templates are designed for the recon server. There was a significant visual improvement, and Pandora started to be taken seriously.

Pandora v2.x (2008-2009)

In this version we created the ‘Tentacle Protocol’. We introduced an export server. ‘Tentacle’ (a unique file transfer protocol with ports assigned by IANA, 41121 / tcp) marked a before and after in making life easier for users when installing agents.

In version 2.x we made an attempt at creating a server version in C but it didn’t materialize, and we continued working on Perl code. Looking back on this, we can say it was a great decision. The main bottleneck in the server is SQL interaction, not internal operations.

Pandora v3.x (2010-2011)

Here we include the first ‘Enterprise’ version. It includes the possibility to remotely modify agent settings, PDF formatted reports, and some other features. We have customers monitoring environments with over 2000 agents.

Pandora v5.x (2014-2015)

We transition the project from SVN to GIT. We introduce the Satellite Server. Thanks to the satellite we achieved a rate of 500 check-ups per second in some specific environments, quite a big number. Plus, this was done through “headless” monitoring, which means the monitoring process was distributed and had no bidirectional connectivity.

Pandora v6.x (2016)

We introduce the ‘agent metadirectory’, integrated desktop remote access (through eHorus), remote access and management of servers and satellites, improvements in the dashboard, dynamic monitoring, and improvements in predictive monitoring