История компании Pandora FMS

С самого начала своей скромной деятельности компания Pandora FMS преодолевала трудности, которые укрепляли и направляли нас на путь развития. Каждое препятствие становилось возможностью для инноваций, и сегодня, благодаря нашим усилиям и преданности делу, мы продолжаем двигаться вперед с той же страстью, которая вдохновляла нас с самого начала.

Рассказ Санчо Лерены

Генеральный директор и основатель Pandora FMS

Sancho Lerena
Corría el año 2001. Мне было двадцать пять лет, и я был фанатиком Linux.

Я работал в AOL Spain техником в отделе коммуникаций и безопасности, хотя мой опыт был в основном связан с брандмауэрами Checkpoint, я также много узнал о чисто сетевых технологиях с оборудованием Cabletron и Cisco.

Моя работа в то время заключалась в настройке и управлении всей производственной сетевой средой. Это был целый центр обработки данных с сотнями Unix, Windows и высококлассным сетевым оборудованием. Несмотря на то, что операционная команда использовала HPOpenview, невозможно было получить картину и «карту» всего.

Благодаря моему опыту в области безопасности и Linux-среды я занял место в команде благодаря своей способности сканировать сети, проникать в системы и составлять логическую карту того, что там находится.

В то время я обнаружил, что не существует достойного инструмента для мониторинга гетерогенных сред со сложной топологией сети

Я руководил несколькими пилотными внедрениями инструментов для сбора и централизации событий (SEM, SIEM). Я многому научился благодаря этому опыту.
Я много использовал MRTG и разрабатывал скрипты с RRDTool, с помощью которых рисовал графики основных коммуникационных систем (маршрутизаторы, высококлассное оборудование RAS, связь между VPN, брандмауэры и т. д.), то есть то, что OVO не делала или не хотела делать, поскольку внесение каких-либо изменений казалось очень сложным.

Затем я начал работать в BBVA. Там моя работа была больше связана с миром системной безопасности, и я серьезно столкнулся с AIX и Solaris. Все инструменты, используемые для корпоративного мониторинга, принадлежали Big4: у них было все, но это была очень разрозненная среда. Разделение отделов было ориентировано на системный или коммуникационный биноминал, и каждая рабочая команда была ориентирована по-своему, поэтому они использовали разные инструменты и разные методологии.

С точки зрения безопасности у меня тоже не было доступа ни к одному из этих инструментов, поэтому для мониторинга своих систем (брандмауэры, IDS, Unix-среды, Windows-среды и т. д.) мне ничего не оставалось, как искать новые пути.

Pandora FMS History

Я стал специалистом по методам пробивания межсетевых экранов, которые впоследствии помогли мне понять, как преодолеть проблемы сложных сетевых топологий, и применить их к тому, что сейчас является частью архитектурного проекта Pandora FMS.

RRDTool approach

Мне нужны были мощные графики и возможность объединять данные из разных источников в отчеты. Очень важно было соотнести вещи и иметь возможность сравнивать их, устанавливать пороговые значения и генерировать предупреждения.

Я пытался внедрить Nagios, но слабость его агентов и жесткость концепции мониторинга меня не устроили. В то время для нас было важнее получать данные о производительности, а не просто о состоянии. Мне нужно было иметь возможность запускать сложные тесты – ведь ни одна среда не была стандартной – и собирать информацию из систем. В подавляющем большинстве случаев прямого доступа к машине, которую я контролировал, не было, поэтому приходилось устанавливать агентов, которые «вслепую» связывались со мной или другой промежуточной системой.

Из моего опыта работы с инструментами сбора журналов и событий я понял, что все системы на основе агентов терпят крах из-за жестких требований: они должны быть основаны на последних Java-машинах или бинарных дистрибутивах пакетов. Во многих производственных средах было невозможно обновить версии, установить пакеты в систему или установить такие вещи, как суперпользователь. Nagios даже близко не подходил к тому, что мне было нужно. С тех пор я столкнулся со многими системами со сроком эксплуатации в несколько лет, которые никто не хотел или не мог получить в свое распоряжение.

Отец Pandora FMS:

АРЕНА

Первая концепция программного обеспечения, которая объединила наши потребности, называлась “Арена” и представляла собой среду, которая собирала данные, отправленные ненадежными агентами, написанными на языке KSH.

Эти данные даже не были стандартизированы, они были отправлены открытым текстом, разделенным пунктирными линиями “–“. Сервер был разработкой на Perl, сделанной коллегой из отдела логической безопасности (Хуан Х.), а PHP front end, который я разработал, был моим первым PHP кодом.

Я знал немного веб-программирования из предыдущей работы, хотя мой опыт был очень ограничен и с очень старыми парадигмами (CGI-программирование на C и элементарный HTML на серверах Netscape). Это также был мой первый контакт с MySQL, так как единственным моим опытом работы с базами данных был Sybase.

Рождение Pandora FMS

Потребности росли, а архитектура и дизайн не подходили. С другой стороны, мой коллега Хуан Х. покинул проект Arena, и я решил переделать его с нуля с другим дизайном.

Пандора родилась в конце 2002 года.

Это было хобби, которое заполняло мои свободные часы, которых в то время было много, потому что у меня еще не было детей.

С помощью коллеги (Sergio I.) мы создали первый агент для Windows, основанный на Windows Scripting Host и запрограммированный на VBScript.

Нет нужды говорить, что это не было даже тенью того, чем это будет спустя годы, на самом деле это создавало много проблем. Я сам разработал сервер с нуля, используя Perl.

Я никогда не делал серьезных проектов на Perl, мой опыт ограничивался C и Turbo Pascal, на которых я делал более серьезные вещи.

Тем не менее, мне удалось разработать небольшие скрипты в Pearl, очень связанные с системным аудитом и инструментами грубой силы, сканированием и аудитом сети. Часть этого кода позже была интегрирована в Pandora в качестве Goliath, синтетического механизма транзакций WEB. Несмотря на это, мой опыт работы с Perl в то время был очень ограничен.

Постепенно, с помощью нескольких друзей, мы создали нечто, с некоторой документацией для начала работы, и я показал проект коллегам и знакомым, которые, благодаря своим отзывам и идеям, придали ему форму. Внутри банка он стал полезным инструментом для получения точной картины некоторых систем безопасности, особенно брандмауэров Checkpoint и сред AIX.

Первоначальный проект назывался “Пандорамон”.

line chart
Pie chart
Важно уточнить, что код для агентов, консоли и сервера был создан с нуля, я ничего не заимствовал из проектов типа Nagios. Некоторые сомневались в последнем, и благодаря тому, что весь код был опубликован с начала времен, прекрасно видно, что нынешняя архитектура является наследницей тех ранних версий Pandora FMS.

Pandora FMS как компания

В 2002 году я пытался создать компанию, основанную на разработанном нами программном обеспечении для удаленного наблюдения через Интернет за охранниками (BabyCam), а в 2004 году – компанию по консалтингу в области безопасности (Ip4All), но ни то, ни другое не осуществилось.

В середине 2005 года я задумался о том, чтобы профессионально зарабатывать на жизнь с помощью Pandora, предлагая услуги сетевого аудита, разработки на заказ, установки защитного программного обеспечения и т.д. На данный момент понятие “версия предприятия” еще не существует.

Бизнес-модель основана на предложении услуг вокруг двух основных продуктов: Pandora и Babel. Babel – еще одно программное обеспечение с похожей философией, нацеленное на упрочнение систем безопасности и приборных панелей.

Вместе с Давидом Виллануэвой , бывшим коллегой, мы решили основать компанию Artica. Я оставил свою прекрасную работу старшего специалиста-консультанта в банке.

С этого момента все идет быстрее и быстрее, и в ноябре 2005 года компания Ártica Soluciones Tecnológicas была официально основана.

Первые начинания трудны, и Пандора – не более чем анекдот для моих первых клиентов. Я стремлюсь изучать ваши потребности и учиться на реальных проблемах в различных условиях, всегда связанных с миром безопасности.

Одним из первых наших действий был ребрендинг проекта на Пандора. В конце 2006 года мы добавили слоган FMS так как “Пандора” была слишком общей.

Первые годы Pandora развивалась очень медленно, поскольку это было не программное обеспечение как таковое, а чисто «бесплатный» проект, который служил для внедрения нас в проекты по консультированию в области безопасности. Вместе мы разрабатывали Babel Enterprise, и только в начале 2006 года к команде присоединился первый профессиональный программист: Эстебан Санчес (Esteban Sánchez). Он начал работать над Pandora FMS полный рабочий день.
Кто-то дал нам мудрый совет: бесплатная система мониторинга – это очень плохой способ продажи . Поэтому для буквы F мы выбрали главное качество Pandora и очень похожее на оригинальный логотип (осьминог): F – Flexible.

В первые годы мы с Эстебаном были первыми программистами, пока в ноябре 2007 года к команде не присоединился Рамон Новоа, который вместе с Эстебаном начал превращать Pandora в настоящий программный продукт. В это время с нами сотрудничали несколько человек, один из самых важных – Гуруэви из Нью-Йорка, а также другие люди из Южной Америки, Новой Зеландии и Японии.

Любопытно, что все проекты свободного программного обеспечения выбирают животное, а наш – осьминога. Подробнее об истории логотипа вы можете прочитать в нашем блоге.

Pandora FMS сегодня

Согласно данным openhub.net на ноябрь 2015 года, Pandora FMS имеет 11 000 коммитов, сделанных более чем 50 людьми, с общим количеством 413 000 строк кода, разработанного на PHP, Javascript, Perl, C++, C, Shellscript и Java. На Sourceforge зарегистрировано около миллиона загрузок.

Множество релизов, исправлений и обновлений за последние 12 лет преобразили то, что изначально было простым проектом для решения технических проблем. Благодаря сотрудничеству десятков программистов, системных техников, пользователей и клиентов, сегодня Pandora FMS – это профессиональный инструмент для мониторинга и управления большими средами.

Как “отец” этого существа, я могу только сказать: Спасибо всем вам за то, что привели нас сюда!

roadmap-img

Краткая информация о версиях Pandora FMS за всю историю ее существования

Null

Первая публичная версия: Pandora v0.8.1 (август 2004)

Только в августе 2004 года мы выпустили нашу первую публичную версию, версию 0.8. В то время команда разработчиков состояла из трех человек: меня, Серхио И., который отвечал за первоначальный VBScript-агент для Windows, и Рауля М., который помогал в различных задачах, не связанных с кодом.
В это время на Sourceforge проект назывался “Pandoramon” (потому что Pandora уже была занята).

Первая версия включала в себя только функции, связанные с агентами (без какого-либо удаленного мониторинга), и ее интерфейс был, мягко говоря, довольно простым. Не было и никаких событий. Графика, однако, была вполне приличной. Модель данных, пожалуй, наименее измененная из всех, в ней не осталось и следа оригинального кода.

Только в версии 1.0 мы начали использовать CVS – систему контроля версий. Это может шокировать, но дело в том, что никто из нас, участвующих в проекте, не пришел из мира разработки, а пришел из мира сетей и систем. Дело в том, что на этом этапе проект был полностью “любительским”.

Pandora v1.0 (октябрь 2004)

В этой версии “все становилось серьезным”.
Эта версия включает в себя систему пользовательских ACL.

Pandora v1.2 (декабрь 2006)

Мы начали использовать Subversion для управления кодом. Первая версия агента на C++, разработанная Эстебаном С., агент, который у нас был на VBScript, отброшен. Предусмотрен удаленный мониторинг и прием SNMP-ловушек.

Pandora v1.3 (ноябрь 2007)

Включены отчеты, комбинированные графики, сервер разведки и индивидуальные отчеты. Шаблоны модулей и машин для сервера recon. Есть важное визуальное изменение, благодаря которому его начинают воспринимать “всерьез”.

Pandora v2.x (2008-2009)

Мы создали протокол “Тентакль”. Введите сервер экспорта. Tentacle (собственный протокол передачи файлов с портом 41121/tcp, назначенным IANA) стал переломным моментом в облегчении жизни при установке агентов.

В версии 2.x мы попытались сделать версию сервера на языке C, но из этого ничего не вышло, и мы продолжили работу над версией на Perl. Оглядываясь назад, могу сказать, что это было отличное решение. Основным узким местом сервера является взаимодействие с SQL, а не внутренние операции.

Pandora v3.x (2010-2011)

Первая версия “Enterprise”. Доступно удаленное редактирование конфигураций агентов, отчеты в формате PDF и некоторые другие функциональные возможности. У нас есть клиенты, контролирующие среду, состоящую примерно из 2000 агентов.

Pandora v5.x (2014-2015)

Мы переносим проект в GIT из SVN. Введите спутниковый сервер.
Благодаря спутнику мы достигаем в некоторых конкретных условиях скорости 500 проверок в секунду, что довольно много, причем распределенным способом и без двунаправленного соединения, что мы называем “безголовым” мониторингом.

Pandora v6.x (2016)

Мы представляем мета-каталог агентов, интегрированное удаленное управление рабочим столом (с Pandora RC), удаленное управление серверами и спутниками, усовершенствование приборной панели, динамический мониторинг и улучшенный предиктивный мониторинг.