Этот пакет предназначен для запуска серверов AMQP RabbitMQ с мандатными уровня под ОС «Astra Linux Special Edition».
Авторы: Лаборатория 50 [email protected].
Все материалы распространяются на условиях стандартной общественной лицензии GNU (GPL) версии 3.
Полный текст лицензии находится в файле COPYING.
Штатный пакет брокера RabbitMQ в составе дистрибутива Astra Linux Special Edition не поддерживает мандатное разграничение доступа.
По-настоящему это делать долго и непросто. Данная утилита пригодится для простейшего решения проблемы — запуск нескольких брокеров RabbitMQ под разными мандатными уровнями. Экземпляры могут работать паралелльно на одном сервере (используя разные порты TCP).
Каждый брокер запускается без привилегии PRIVSOCK, таким образом к нему смогут подключиться только клиенты с аналогичными мандатными привилегиями.
Настоящий пакет не является заменой штатному rabbitmq-server, а
предоставляет альтернативный демон rabbitmq-server-parsec
. Все что
он делает — запускает брокер RabbitMQ с необходимым мандатным уровнем.
Пакет совместим со штатным rabbitmq-server. После установки пакета данные будут доступны у экземпляра с нулевым уровнем.
Алгоритм установки:
-
Установите пакет rabbitmq-server-parsec.
-
Задайте пользователю rabbitmq необходимые мандатные уровни, например:
pdpl-user -m 0:2 rabbitmq
-
Скопируйте файл
rabbitmq-server-parsec
в каталоге/etc/init.d
необходимое число раз с суффиксом:Х
, где Х — мандатный уровень. Например:cp rabbitmq-server-parsec rabbitmq-server-parsec:1
-
В новом файле
rabbitmq-server-parsec:1
откорректируйте поле заголовка Provides:# Provides: rabbitmq-server-parsec:Х
-
Включите демон в автозагрузку:
update-rc.d rabbitmq-server-parsec:1 defaults
После запуска с брокеру нужно будет подключаться по порту 5672 + Х, где Х — мандатный уровень.
Для запуска rabbitmq-server используется утилита start-stop-parsec-daemon.