Модуль ITOP для управления конфигурациями объектов ИБ.

Самая главная проблема компьютерной безопасности — отсутствие достоверной информации о конфигурации инфраструктуры, которые вы намерены обезопасить. Редчайший случай, когда процесс управления конфигурациями в ИТ внедрен и работает. А, кто пытался решать эту проблему, знает, что без специального инструментария под названием CMDB обойтись очень сложно. Документировать целиком конфигурацию сколько-нибудь крупной системы — сизифов труд. Отдельные фрагменты очень быстро рассыпаются и опять невозможно ничего отследить. CMDB (база данных управления конфигурациями) радикально упрощает процесс, поскольку позволяет не только собирать описания объектов, но и фиксировать ссылки объектов друг на друга. В результате никто не разбегается и можно видеть, как изменения в одном объекте повлияют на другие.
Однако коммерческие системы CMDB стоят очень дорого. Для маленькой компании это слишком дорого. Для средней — очень накладно. Значит, смотрим в сторону продуктов Open Source. Вариантов не много. Фактически один — ITOP (Information Technology Operation Portal). Существует давно. Весьма активно поддерживается сообществом. И не только сообществом. Компания Combodo (combodo.com) поддерживает этот продукт и предлагает коммерческую подписку на него. Правда я не знаю никого в России, кто бы ее купил. Они даже о цене отвечают невнятно. От 2 до 16 тысяч евро в год. И не понятно, что за 2, а что за 16, и чем это вообще отличается от Open Source версии. Ну и флаг им в руки. Система простая. Вполне можно разобраться самому. Работает как веб-портал. Написана на PHP. Ничего сложного. Для работы нужен стандартный LAMP (Linux, Apache, MySQL, PHP) или его аналог на Windows. Инструкция по установке есть на сайте combodo.com/itop. Я свел все команды по установке в один скрипт https://bitbucket.org/snippets/esguardian/78Raa. Это для Debian 8. Здесь установка не только самой системы, но и ToolKit для разработки собственных модулей, точнее для компиляции описаний XML, проверки и модификации базы данных.

Вся эта преамбула о том, почему именно ITOP.
А теперь о том, что я с ним делаю. Я его немного модифицирую. Дело в том, что пишут его люди, связанные с деятельностью в сфере ИТ. Им как-то в голову не приходит, что в ИБ тоже есть процессы аналогичные их ITIL, и было бы неплохо включить в набор классов объектов (типов конфигурационных единиц) специфические для задач ИБ. С другой стороны в сфере ИБ работают люди, которым редко приходит в голову писать собственный код, а давно пора, между прочим. Поэтому проблемы ИБ в ITOP не отражены никак. Вот я и решил заняться, чисто для себя, устранением этого недостатка. Я начал писать дополнительный модуль управления конфигурациями объектов ИБ. Сейчас отладил и выложил в репозитарий первую рабочую версию этого модуля. Пока она включает в себя некий базовый каркас для ведения учета ролей пользователей в системе. Со временем буду добавлять.

https://bitbucket.org/esguardian/itop-extensions/src

Опишу коротко, что сделано.
Определен абстрактный класс SecurityRole, из которого наследуются два конечных класса BusinessRole и ApplicationRole связанные соответственно с конфигурационными единицами BusinessProcess (бизнес-процесс) и ApplicationSolution (прикладное решение). Я думаю этого достаточно. Привязывать роли к совсем элементарным единицам нет никакого смысла. Еще у роли есть несколько атрибутов типа «связь один ко многим»: оккупанты (люди, которые исполняют роль), несовместимые роли (связь роль-роль), документы (ссылки на внешние документы, например, приказы в системе электронного документооборота), задачи (список тикетов в системе управления изменениями связанных с ролью). Ну и разумеется ведется автоматический треккинг любых изменений внесенных в объект (кто и когда внес). Добавлены нужные пункты в меню ITOP и сделаны два набора параметров для интерфейсов на русском и английском языках. И конечно внесены изменения в стандартные объекты ITOP, которые связываются с ролями, добавлены соответствующие атрибуты.


Описанная ниже проблема решена. Я сделал оверлоад некоторых методов. Теперь всё чистенько. И добавлен показ пар несовместимых ролей, назначенных человеку, если таковые есть. Список показывается на страничке персоны.

Есть интересная проблема, которую я решу позже. В ITOP есть особенность реализации линка между объектами. Если объекты разных классов, то линк между ними всегда симметричный, если одного класса, то всегда направленный. То есть, если вы на закладке управления объектом А сказали связать его с объектом Б, то открыв теперь описание объекта Б, вы увидите связь с объектом А, если классы объектов разные, и не увидите ничего, если они одинаковые. Это проблема не логики, а технической реализации понятия «связь между объектами». С точки зрения логики разумно различать два типа связи: направленную и симметричную. ITOP их не различает и в разных случаях получается разный результат. К сожалению мне как раз нужен симметричный тип связи между объектами одного типа, чтобы было удобно задавать списки несовместимых ролей. А его нету. Пока, сказав в определении роли А, что она несовместима с ролью Б, необходимо руками открыть определение роли Б и указать, что она несовместима с ролью А. Я пока не решил, как сделать лучше, автоматически создавать обратный линк в базе данных, когда устанавливается прямой, или сделать отдельную процедуру проверки линков и добавления симметричных, или сделать и то и другое. Надо еще потом правильно удалять такие линки. Есть о чем подумать.
Еще я собираюсь добавить новый класс объектов «ролевой шаблон», чтобы можно было некую совокупность ролей одним махом приписать человеку. Ну, и еще будут новые классы объектов для учета всякой мелочи (например ключевых носителей). Если есть еще какие идеи или замечания, пишите.


По тексту ниже тоже есть изменения. В iTop добавляется профиль Role Manager, который можно назначить пользователю iTop, чтобы у него появились права управления нужными объектами.

Ах, да, чуть не забыл. После установки этого расширения, права на управления новыми объектами (ролями) появятся только у администраторов. Для других профилей их надо задать в меню управления профилями. Соответствующие объекты появятся на закладке «матрица разрешений».

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s