Error obtaining mac configuration for user zabbix

Zabbix построен на современном веб-сервере Apache, ведущих СУБД, и на языке сценариев PHP. В состав комплекта ПО Zabbix входят сервер и WEB-интерфейс. Для работы WEB-интерфейса Zabbix требуется следующее программное обеспечение:

Требования

Zabbix построен на современном веб-сервере Apache, ведущих СУБД, и на языке сценариев PHP. В состав комплекта ПО Zabbix входят сервер и WEB-интерфейс. Для работы WEB-интерфейса Zabbix требуется следующее программное обеспечение:

 Нажмите здесь для раскрытия…

Приложение Версия Комментарии
Apache 1.3.12 или более поздняя
PHP 5.4.0 или более поздняя
Расширения PHP:
gd 2.0 или более поздняя Расширение PHP GD должен поддерживать формат PNG (—with-png-dir), JPEG (—with-jpeg-dir) изображения и FreeType 2 (—with-freetype-dir).
bcmath php-bcmath (—enable-bcmath)
ctype php-ctype (—enable-ctype)
libXML 2.6.15 или более поздняя php-xml или php5-dom, если поставляется как отдельный пакет от поставщика.
xmlreader php-xmlreader, если поставляется как отдельный пакет от поставщика.
xmlwriter php-xmlwriter, если поставляется как отдельный пакет от поставщика.
session php-session, если поставляется как отдельный пакет от поставщика.
sockets php-net-socket (—enable-sockets). Требуется для поддержки пользовательских скриптов.
mbstring php-mbstring (—enable-mbstring)
gettext php-gettext (—with-gettext). Требуется для работы переводов.
ldap php-ldap. Требуется только, если в веб-интерфейсе используется LDAP аутентификация.
ibm_db2 Требуется, если используется IBM DB2 в качестве базы для Zabbix.
mysqli Требуется, если используется MySQL в качестве базы для Zabbix.
oci8 Требуется, если используется Oracle в качестве базы для Zabbix.
pgsql Требуется, если используется PostgresSQL в качестве базы для Zabbix.

Обязательные требования нужны всегда, опциональные требования требуется только для поддержки определённых функций.

Требование Статус Описание
libpcre Обязательно PCRE библиотека требуется для поддержки PCRE совместимых регулярных выражений.
Наименование может отличаться в зависимости от GNU/Linux дистрибутива, например ‘libpcre3’ или ‘libpcre1’. Обратите внимание, что необходима именно PCRE(v8.X), тогда как PCRE2(v10.X) библиотека не используется.
libevent Требуется для массового сбора метрик и IPMI мониторинга. Версия 1.4 или более новая.
Обратите внимание, что для Zabbix прокси это требование опциональное, и нужно только для IPMI мониторинга.
OpenIPMI Опционально Требуется для поддержки IPMI
libssh2 Требуется для поддержки SSH. Версия 1.0 или более новая.
fping Требуется для элементов данных ICMP пинг.
libcurl Требуется для веб-мониторинга, мониторинга VMware и для SMTP аутентификации. Для SMTP аутентификации, требуется версия 7.20.0 или выше. Также необходима для поддержки Elasticsearch.
libiksemel Требуется для поддержки Jabber.
libxml2 Требуется для мониторинга VMware.
net-snmp Требуется для поддержки SNMP.

Примерный раcчет требуемого пространства на жестком диске

Представленная ниже таблица содержит формулы для расчета требуемого пространства на жёстком диске для системы мониторинга Zabbix:

Параметр Формула для расчета занимаемого места(в байтах)
Конфигурация Zabbix Фиксированный размер. Ориентировочно 10МБ или меньше.
История дней*(элементов/частота обновления)*24*3600*байт
элементы : количество элементов данных
дней : количество дней хранения истории
частота обновления : среднее значение периода проверки элементов данных
байт : количество байт, требуемых для одного значения, зависит от типа базы данных, около 90 байт
Динамика изменений дней*(элементов/3600)*24*3600*байт
элементов : количество элементов данных
дней : количество дней хранения динамики изменений
байт : количество байт, требуемых для одного значения, зависит от типа базы данных, около 90 байт.
События дней*событий*24*3600*байт
событий : количество событий в секунду. Одно (1) событие в худшем случае.
дней : количество дней хранения событий
байт : количество байт, требуемых для одного значения, зависит от типа базы данных, около 170 байт.

Подготовка системы

Настройка конфигурации Parsec

В конфигурационном файле Parsec /etc/parsec/mswitch.conf присвоить параметру zero_if_notfound значение yes:

# Return zero data instead of ENOENT/ENODATA in the absence of record
zero_if_notfound: yes

Это необходимо, чтобы пользователь СУБД, сущность которого не создана в ОС, мог входить в СУБД с нулевыми мандатными атрибутами.

Установка пакетов

Установить необходимые пакеты:

sudo apt update
sudo apt install zabbix-server-pgsql zabbix-frontend-php php-pgsql

Настройка службы Apache2

В файле /etc/php/*/apache2/php.ini удалить символ ‘»точка с запятой» перед параметром date.timezone и указать часовой пояс, например Europe/Moscow

[Date]
date.timezone = Europe/Moscow

Отредактировать файл /etc/hosts

127.0.0.1	localhost
#127.0.1.1	astra16
192.168.32.218	astra16.example.com	astra16

/etc/apache2/apache2.conf :

Перезапустить службу apache2:

sudo systemctl reload apache2

Настройка СУБД PostgreSQL

Отредактировать конфигурационный файл /etc/postgresql/*/main/pg_hba.conf:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
local	zabbix			zabbix									trust
# IPv4 local connections:
host	zabbix			zabbix			127.0.0.1/32			trust

Перезапустить кластер:

sudo systemctl restart postgresql

sudo -u postgres psql


CREATE DATABASE ZABBIX;
CREATE USER zabbix WITH ENCRYPTED PASSWORD ‘12345678’;
GRANT ALL ON DATABASE zabbix to zabbix;
q

Импорт шаблона БД zabbix:

Для Astra Linux Common Edition, Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6 с установленным БЮЛЛЕТЕНЬ № 20210611SE16 (оперативное обновление 7) и более поздних обновлений ОС (включая Astra Linux Special Edition x.7):

zcat /usr/share/zabbix-server-pgsql/{schema,images,data}.sql.gz | psql -h localhost zabbix zabbix
sudo a2enconf zabbix-frontend-php
sudo systemctl reload apache2

Для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6 без установленного обновления БЮЛЛЕТЕНЬ № 20210611SE16 (оперативное обновление 7):

gunzip -c /usr/share/doc/zabbix-server-pgsql/create.sql.gz > create.sql
psql -U zabbix -d zabbix -f create.sql

Если при выполнении команды psql -U zabbix -d zabbix -f create.sql происходит ошибка:

psql: СБОЙ: error obtaining MAC configuration for user «zabbix»

то для устранения ошибки выполнить следующие команды:

usermod -a -G shadow postgres
setfacl -d -m u:postgres:r /etc/parsec/macdb
setfacl -R -m u:postgres:r /etc/parsec/macdb
setfacl -m u:postgres:rx /etc/parsec/macdb
setfacl -d -m u:postgres:r /etc/parsec/capdb
setfacl -R -m u:postgres:r /etc/parsec/capdb
setfacl -m u:postgres:rx /etc/parsec/capdb
pdpl-user -l 0:0 zabbix

И выполнить команду psql -U zabbix -d zabbix -f create.sql повторно.

Настройка WEB-интерфейса zabbix

Для Astra Linux Common Edition, Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6 с установленным обновлением БЮЛЛЕТЕНЬ № 20210611SE16 (оперативное обновление 7) и более поздних обновлений ОС (включая Astra Linux Special Edition x.7):

  1. Скопировать в файл /etc/zabbix/zabbix.conf.php один из файлов  /usr/share/zabbix/conf/zabbix.conf.php.example или /usr/share/doc/zabbix-frontend-php/examples/zabbix.conf.php.example:

    sudo cp /usr/share/zabbix/conf/zabbix.conf.php.example /etc/zabbix/zabbix.conf.php

  2. Установить права доступа к созданному файлу:

    sudo chown www-data:www-data /etc/zabbix/zabbix.conf.php

  3. В файле /etc/zabbix/zabbix.conf.php задать значения переменных TYPE (тип используемой СУБД) и PASSWORD (пароль пользователя zabbix СУБД):

    $DB['TYPE'] = 'POSTGRESQL';
    
    ...
    $DB['PASSWORD'] = '<пароль_пользователя_zabbix_СУБД>';
  4. Перезапустить службу apache2:

    sudo systemctl reload apache2

  5. В конфигурационном файле /etc/zabbix/zabbix_server.conf раскомментировать строку, задающую пароль доступа к БД zabbix, и указать там пароль:

  6. Разрешить автоматический запуск службы zabbix при перезагрузке ОС и запустить службу zabbix:

    sudo systemctl enable zabbix-server
    sudo systemctl start zabbix-server

  7. Открыть WEB-страницу zabbix в WEB-браузере. Имя для входа: Admin (с заглавной буквы), пароль для входа: zabbix

    firefox localhost/zabbix

Установка и настройка zabbix агента

Установить пакет:

install zabbix-agent

В конфигурационном файле /etc/zabbix/zabbix_agentd.conf в строке Server указать адрес IP-сервера:

### Option: Server
#	List of comma delimited IP addresses, optionally in CIDR notation, or hostnames of Zabbix servers.
#	Incoming connections will be accepted only from the hosts listed here.
#	If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally and '::/0' will allow any IPv4 or IPv6 address.
#	'0.0.0.0/0' can be used to allow any IPv4 address.
#	Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.domain
#
# Mandatory: no
# Default:
# Server=

Server=192.168.32.218

Перезапустить агента:

sudo systemctl restart zabbix-agent

В WEB-интерфейсе сервера zabbix перейти в «Настройка» → «Узлы сети» → «Создать узел сети», после чего указать название добавляемого узла, отображаемое имя, IP-адрес и группу (для выбора группы начать вводить ее имя или нажать кнопку «Выбрать»):

Перейти в закладку «Шаблоны», в строке «Присоединение новых шаблонов» начать печатать имя шаблона («lin…»),  и

после чего компьютер будет добавлен в список узлов для проверки.

Содержание

  1. Операционные системы Astra Linux
  2. Установка Zabbix на Astra Linux
  3. Введение
  4. Установка Zabbix 4.4 на Astra Linux
  5. Обновление php 7.0 до 7.4 в Astra Linux
  6. Установка Zabbix 5 на Astra Linux
  7. Заключение
  8. PostgreSQL: ошибка получения мандатных атрибутов
  9. 5 ответов
  10. Astra Linux. Установка PostgreSQL.
  11. Аренда серверов.
  12. 1С:Предприятие “в облаке”.
  13. IP-телефония в офис.
  14. Мандатная модель управления доступом (MAC): обзор и применение в прикладных системах
  15. Модель MAC
  16. Основная идея
  17. Ограничения и уязвимости
  18. Проектирование приложения с поддержкой MAC
  19. Как избежать MAC, когда его уже не избежать
  20. Разделяй и властвуй
  21. Классификация модулей по режимам обработки MAC
  22. «BRING IT ON»: работа модуля в режиме минимальной мандатной метки
  23. «HURT ME PLENTY»: работа модуля в режиме одной мандатной метки
  24. «NIGHTMARE!»: работа модуля в режиме нескольких мандатных меток
  25. Взаимодействие приложения с окружающей средой
  26. Взаимодействие MAC-совместимого приложения с операционной системой
  27. Взаимодействие MAC-совместимого приложения со сторонним ПО без поддержки MAC
  28. Взаимодействие MAC-совместимого приложения со сторонним ПО с поддержкой MAC
  29. Взаимодействие MAC-совместимого приложения с пользователем
  30. Выводы

Операционные системы Astra Linux

Оперативные обновления и методические указания

Операционные системы Astra Linux предназначены для применения в составе информационных (автоматизированных) систем в целях обработки и защиты 1) информации любой категории доступа 2) : общедоступной информации, а также информации, доступ к которой ограничен федеральными законами (информации ограниченного доступа).

1) от несанкционированного доступа;
2) в соответствии с Федеральным законом от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и о защите информации» (статья 5, пункт 2).

Операционные системы Astra Linux Common Edition и Astra Linux Special Edition разработаны коллективом открытого акционерного общества «Научно-производственное объединение Русские базовые информационные технологии» и основаны на свободном программном обеспечении. С 17 декабря 2019 года правообладателем, разработчиком и производителем операционной системы специального назначения «Astra Linux Special Edition» является ООО «РусБИТех-Астра».

На web-сайтах https://astralinux.ru/ и https://wiki.astralinux.ru представлена подробная информация о разработанных операционных системах семейства Astra Linux, а также техническая документация для пользователей операционных систем и разработчиков программного обеспечения.

Мы будем признательны Вам за вопросы и предложения, которые позволят совершенствовать наши изделия в Ваших интересах и адаптировать их под решаемые Вами задачи!

Репозитория открытого доступа в сети Интернет для операционной системы Astra Linux Special Edition нет. Операционная система распространяется посредством DVD-дисков.

Информацию о сетевых репозиториях операционной системы Astra Linux Common Edition Вы можете получить в статье Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов.

В целях обеспечения соответствия сертифицированных операционных систем Astra Linux Special Edition требованиям, предъявляемым к безопасности информации, ООО «РусБИтех-Астра» осуществляет выпуск очередных и оперативных обновлений.

Очередные обновления (версии) предназначены для:

Оперативные обновления предназначены для оперативного устранения уязвимостей в экземплярах, находящихся в эксплуатации, и представляют собой бюллетень безопасности, который доступен в виде:

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

Источник

Установка Zabbix на Astra Linux

Я участвовал в большом проекте по настройке системы мониторинга на базе отечественных ОС. В качестве системы использовалась Astra Linux, так что у меня сохранилось некоторое количество заметок по этому поводу. Одну из таких заметок я и хочу организовать в статью по установке сервера мониторинг Zabbix на Astra Linux. Там есть некоторое количество нюансов, связанных с особенностью отечественной ОС.

Введение

Для тех, кто не в курсе, напомню, что Astra Linux существует в двух редакциях:

Я все работы выполнял на Смоленске, но так как его нельзя свободно скачать, то в статье будет использоваться система Орел. В контексте данной задачи каких-то серьезных отличий нет, но в общем и целом они существуют. Для Орла есть публичный репозиторий, из которого можно ставить необходимые пакеты. Для Смоленска его нет. Надо либо локально с диска все устанавливать, либо где-то в сети разворачивать свой репозиторий.

Установка Zabbix 4.4 на Astra Linux

Я выполню установку Zabbix Server на Astra Linux на базе веб сервера Apache и базы данных PostgreSQL. Версии возьму те, что есть в стандартном репозитории дистрибутива.

Обновляем систему и устанавливаем необходимые пакеты.

astra linux zabbix install 01

В файл /etc/hosts добавьте запись с вашим ip адресом. У меня она вот такая получилась:

Если делаете установку на редакции Смоленск и не используете авторизацию в apache, то отключите ее в конфиге /etc/apache2/apache2.conf.

Теперь можно перезапустить apache и проверить работу веб сервера.

Перейдя в браузере по ip адресу сервера, должны увидеть стандартную страницу заглушку apache в Debian.

astra linux zabbix install 02

Теперь настроим postgresql. Добавляем в ее конфиг /etc/postgresql/9.6/main/pg_hba.conf следующие строки.

Перезапускаем сервер баз данных.

Дальше надо подключиться к postgresql и создать пользователя с базой данных для zabbix.

astra linux zabbix install 03

Не забудьте указать свой пароль. Мой копировать не надо.

Устанавливаем в Astra Linux сам Zabbix Server.

astra linux zabbix install 04

Импортируем шаблон базы данных в саму базу, которую сделали ранее.

Если получите ошибку:

То сделайте следующее:

Добавим параметры подключения к БД в конфигурацию Zabbix Server /etc/zabbix/zabbix_server.conf.

После всех этих действий перезапускаем apache и запускаем zabbix-server.

Далее идем в браузер по адресу http://10.20.1.31/zabbix/ и выполняем установку сервера. Не буду на этом подробно останавливаться, там все тривиально. Можно подсмотреть в любой инструкции по установке. Например, в моей же для этой версии. Там все будет идентично, 1 в 1, так как и версия zabbix, и версия debian 9 совпадают.

astra linux zabbix install 05

Вручную устанавливаем скачанные пакеты.

astra linux zabbix install 06

Так как мы перезаписал прошлый конфиг сервера новой версией, надо сходить и еще раз прописать доступ к базе данных. После этого перезапускаем сервер.

Идем в веб интерфейс и проверяем версию сервера.

astra linux zabbix install 07

На этом установка Zabbix 4 на Astra Linux завершена. Если вас устраивает эта версия, то настраивайте дальше сервер и используйте. Если же вы хотите получить 5-ю версию, то продолжаем настройку.

Обновление php 7.0 до 7.4 в Astra Linux

Для обновления до 5-й версии Zabbix в Astra Linux нам надо сначала обновить php 7.0 до 7.4. Для этого надо либо вручную скачать все необходимые пакеты и обновить их, либо воспользоваться сторонним репозиторием.

Очевидно, что второй способ быстрее и проще, хотя и вызывает вопросы безопасности и происхождения пакетов. Но в рамках данной статьи, я не буду это рассматривать. Очевидно, что для максимальной безопасности, вам надо взять исходники, самим собрать пакеты и положить в свой репозиторий, либо установить локально.

Подключаем сторонний репозиторий для php пакетов.

И отключаем родной репозиторий Астры в /etc/apt/sources.list.

Обновляем список пакетов и устанавливаем обновления php.

Ставим php 7.4 основных пакетов:

astra linux zabbix install 08

Проверяем версию php в консоли.

Теперь сразу же подключите обратно отключенный репозиторий астры и еще раз обновите все пакеты. На всякий случай убедитесь, что у вас установлен пакет php7.4-mbstring. Без него веб интерфейс Zabbix работать не будет.

Дальше вам нужно отключить в настройках веб сервера модуль php7.0 и подключить 7.4. Для этого надо заменить символьные ссылки в /etc/apache2/mods-enabled с

После этого осталось только перезапустить apache.

Все готово, мы установили версию php 7.4 в Astra Linux. Можно приступать к обновлению Zabbix Server до версии 5.

Установка Zabbix 5 на Astra Linux

Для обновления Zabbix Server до 5-й версии, делаем все то же самое, что и ранее для 4-й. Скачиваем пакеты нужной нам версии и устанавливаем их вручную.

Обращаю внимание на ссылку для zabbix-frontend-php. Хоть в названии и присутствует имя релиза buster, данный пакет подходит для всех версий Debian, а все остальные пакеты объявлены deprecated.

Устанавливаем Zabbix 5 на Astra Linux:

Если будет заменен дефолтный конфиг сервера, не забудьте его актуализировать. В целом по обновлению zabbix все. Перезапускаем сервер и идем в веб интерфейс.

astra linux zabbix install 09

Не забудьте почистить кэш браузера после обновления web интерфейса. Иначе в новой версии все будет криво отображаться, как-будто что-то сломано.

Заключение

На этом у меня все. Я показал, как на Astra Linux установить самую свежую версию Zabbix Server. Предлагаю далее проследовать в статью по базовой настройке zabbix.

А вам доводилось работать с Astra Linux? Поделитесь впечатлением. По сути тот же Debian, а вот графическое окружение уникальное и мне оно очень понравилось. Уж точно лучше Gnome.

Источник

PostgreSQL: ошибка получения мандатных атрибутов

Проблема возникает с PostgreSQL 9.4 в Astra Linux Special Edition 1.5 при попытке подключения созданным пользователем:

«СБОЙ: ошибка получения мандатных атрибутов на сервере для пользователя»

114133 original 1

5 ответов

Ошибка возникает при использовании локальных пользователей, без настроенного ALD.

Нужно добавить права на чтение к БД мандатных атрибутов для Postgre:

114133 original 1

Для версии 1.6 это выглядит так.

Если возникает ошибка:

ошибка получения мандатных атрибутов на сервере для пользователя «replicator», ошибка 13 — Отказано в доступе

Значит не хватает прав доступа к каталогам. Нужно:

Если возникает ошибка:

ошибка получения мандатных атрибутов на сервере для пользователя «replicator», ошибка 2 — Нет такого файла или каталога

Нужно инициализировать мандатные права у вашего пользователя:

6773 21a6bb577b40206139cc44c17740e0f4

6773 21a6bb577b40206139cc44c17740e0f4

И тем не менее. Господа, а, видимо, кто-то уже сталкивался со всем этим делом на Astra Linux 1.6 Smolensk?

На Astra Linux 1.5 при желании назначить пользователя, ассоциированного с ролью входа для PostgreSQL работало вот так:

Проблему удалось решить. Файл /etc/parsec/mswitch.conf, параметр zero_if_notfound установить в yes.

В этом случае все пользователи БД, для которых не удалось получить мандатные атрибуты, получат нулевую метку.

6773 21a6bb577b40206139cc44c17740e0f4

Настройка «установить в файле /etc/parsec/mswitch.conf, параметр zero_if_notfound в yes» работает только для астры без домена ald. Если на астре настроена авторизаиця через домен, то после parsec запрашивается ald, если там одноименного пользователя тоже нет — то запрашивается kerberos, а поскольку он не настроен — то в postgres возвращается ошибка, и пользователь не подключается. В логе постгреса ошибки:

2020−10−07 18:32:03 [2684] АУДИТ: ОТКАЗ, Подключение, [local], «my_user», SU = «неопределено» (0), CU = «неопределено» (0): ошибка получения мандатных атрибутов на сервере для пользователя «my_user», ошибка 25 — Неприменимый к данному устройству ioctl

2020−10−07 18:32:03 MSK [3665−2] my_user@my_user СБОЙ: ошибка получения мандатных атрибутов на сервере для пользователя «my_user»

Как в таком случае заставить постгрес вести себя согласно доке и разрешить подключать пользователей, которые есть только в самом постгресе?

Источник

Astra Linux. Установка PostgreSQL.

Мы планируем использовать наш сервер с Astra Linux для работы с , поэтому установим на него версию PostgreSQL для , которую разрабатывает фирма Postgres Professional.

Полный репозиторий всех версий PostgreSQL, поддерживаемых фирмой, расположен тут – https://repo.postgrespro.ru/

Репозиторий PostgreSQL для Astra Linux “Смоленск” расположен тут – https://repo.postgrespro.ru/pg1c-11/astra-smolensk/1.6/

Итак, создадим локальную папку для репозитория и скачаем в неё все необходимые пакеты

Теперь скачаем GPG-ключ (подпись) репозитория

Осталось добавить скачанный репозиторий PostgreSQL в общий список репозиториев и зарегистрировать его подпись.

Самое время установить PostgreSQL

После установки требуется настроить переменные окружения пользователя от имени которого будет работать PostgreSQL.

И настроить автоматический запуск PostgreSQL при старте системы.

Теперь зададим пароль пользователя postgres для подключения к СУБД.

Ну, и осталось перезапустить службу

Настроим установленный ранее Webmin для работы с PostgrSQL, уж очень удобно с его помощью управлять базами данных. 🙂

Для этого открываем в браузере адрес https://127.0.0.1:10000 и обновляем установленные модули.

virtualbox astralinux for tests 32

Теперь идём на страницу управления PostgreSQL Server и вносим небольшие изменения в настройки, указав в качестве Paths to host access config file путь /var/lib/pgpro/1c-11/data/pg_hba.conf

virtualbox astralinux for tests 33

virtualbox astralinux for tests 34

virtualbox astralinux for tests 35

В результате вы получите возможность управлять PostgreSQL-сервером из WEB-интерфейса.

virtualbox astralinux for tests 36

Аренда серверов.

project thumb3

Надёжные сервера с Pro-бегом
У ВАС В ОФИСЕ
!

1С:Предприятие “в облаке”.

project thumb2

Безопасный доступ к своей 1С из офиса, командировки и т.п.!

IP-телефония в офис.

project thumb

Источник

Мандатная модель управления доступом (MAC): обзор и применение в прикладных системах

image loader

Модель MAC

MAC, несмотря на то, что содержится во множестве статей и материалов, чаще всего упоминается вскользь и в виде пряного соуса к чему-нибудь вроде краткого упоминания MLS в SELinux. Так как многие ограничивают свою дружбу с SELinux применением рецепта «как отключить SELinux», то и MAC часто удостаивается той же чести. Поэтому сперва коротко о MAC.

Если вы хорошо знакомы с моделью, можете сразу перейти к следующему разделу.

Основная идея

Абстрактная модель безопасности, реализуемая в классическом MAC (каким его знают сотрудники силовых ведомств), выглядит следующим образом (классическая картинка, иллюстрирующая модель Белла — Лападулы):

image loader

Модель MAC по своей сути является «электронной» реализацией бумажного «секретного» документооборота. В MAC имеются следующие «действующие лица»:

Проверка полномочий осуществляется при каждом факте доступа субъекта к объекту, защищаемому MAC. При этом мандатная модель управления доступом обычно используется совместно с другими механизмами контроля доступа, например, DAC (UNIX-моделью и POSIX ACL). При этом MAC проверяется в последнюю очередь. Сперва проверяется доступ по DAC (как наименее защищенный), а затем уже MAC.

При проверке правомочности доступа субъекта к объекту согласно мандатной модели возможны следующие комбинации:

Ограничения и уязвимости

MAC обладает своими ограничениями и особенностями:

Проектирование приложения с поддержкой MAC

Несмотря на все ограничения модели, для тех, кто работает с госсектором, а в особенности с силовыми ведомствами, вопрос построения приложений с поддержкой мандатной модели управления доступом актуален как никогда. Вдруг завтра именно вам придется поддерживать MAC в своем продукте?

На первый взгляд кажется, что модель примитивна и ее реализация проста как пять копеек, но существует один нюанс: заказчик, который выставляет требование к использованию мандатной модели, имеет ввиду, в первую очередь, сертифицированное средство защиты информации. Обрабатываться в такой ИС будет действительно секретная информация, вплоть до государственной тайны, и сертифицировать на нужный уровень собственную разработку будет очень сложно. Выходом из данной ситуации является использование сертифицированной инфраструктуры, поддерживающей MAC.

Итак, что у нас есть в наборе:

Системное ПО Описание
ОС Astra Linux Special Edition / SELinux ОС с поддержкой MAC. Предоставляет хранилище информации о мандатных разрешениях пользователей, связанное с хранилищем пользователей операционной системы. Предоставляет механизмы контроля доступа к объектам, защищаемым MAC (объектам файловой системы, запуску приложений в режиме мандатной метки и т.д.).
СУБД PostgreSQL (PostgresPro) Имеет интеграцию с хранилищем учетных записей и мандатных меток ОС. СУБД предоставляет функциональность присваивания мандатной метки к таким объектам, как кластер, база данных, таблица, столбец и запись.
Веб-сервер с поддержкой MAC (Apache Http Server) Ретранслирует мандатную метку от запроса клиента с поддержкой MAC и запускает обработчик приложения (скрипт/службу) с идентичной меткой и передачей данных аутентификации пользователя.
Браузер с поддержкой MAC (Mozilla Firefox) Считывает мандатную метку сеанса пользователя (графической оболочки пользователя) и добавляет ее в запросы к веб-приложениям.

Теперь рассмотрим, каким образом можно воспользоваться этой инфраструктурой при разработке приложения для сохранения функций управления доступом на уровне инфраструктуры.

Для того чтобы приложение могло воспользоваться механизмом мандатных меток операционной системы, должны быть выполнены следующие условия:

Разумеется, для разработки простых приложений (утилит либо приложений, ввиду своей специфики нейтральных к MAC) многие советы попросту не пригодятся. Если же приложение является чем-то более сложным, чем однопользовательское локальное приложение, считывающее файл и записывающее результат своей работы также в файл, то желательно четко осознавать «подводные камни».

Мы собрали рецепты по проектированию приложения с поддержкой MAC, сформулированные на основе собственного опыта. За ними стоят бессонные ночи, непрерывный поток тикетов от тестирования, тысячи часов отладки приложения, которое по всем здравым смыслам должно работать правильно, но почему-то работает не так. Рецепты описаны в максимально простой и нейтральной к технологиям и инструментам форме, и по возможности снабжены схемами для улучшения воспринимаемости. Поехали!

Как избежать MAC, когда его уже не избежать

rvodsfy279palaopincmwnjz3pa

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

С точки зрения трудозатрат придется потратить дополнительное время на реализацию каждой функцию приложения с поддержкой MAC. Потребуется отладить и протестировать одну и ту же функциональность в режиме без мандатной метки, поэтому возрастут расходы на тестирование.

За счет данного решения можно обеспечить приложению (и всей команде разработки), которое вынуждено функционировать в среде MAC, следующие преимущества:

Рекомендации:

Добавить параметр включения/отключения поддержки мандатных меток в приложении.

Во всех местах, требующих взаимодействия с MAC, прежде всего проверять значение параметра.

При отладке и тестировании необходимо отлаживать (на стороне команды разработки) и тестировать (на стороне команды тестирования) оба режима работы приложения.

Разделяй и властвуй

Другой важный шаг при проектировании, который обязательно должен быть выполнен до начала разработки — разделение модулей, в которых требуется поддержка MAC, от модулей, в которых данный механизм управления доступом не требуется. Использование мандатной модели управления доступом почти всегда усложняет бизнес-логику приложения.

Это та самая инфраструктура, абстрагироваться от которой очень сложно, а порой невозможно. Поэтому приложение следует разбить на модули, а уже по каждому модулю произвести анализ потребности в поддержке MAC. Возможно, именно в вашем случае достаточно поддержать MAC только в одном модуле, и нет смысла из-за данного модуля усложнять все приложение?

Рекомендация: Следует разделить приложение на модули и классифицировать их по режимам обработки мандатных меток.

В случае, если мы рассматриваем некий абстрактный модуль (или все приложение, если деление приложения на модули не требуется) возможны следующие парадигмы:

Рекомендация: При проектировании следует обеспечивать минимальную связность (cohesion) модулей, работающих в различных парадигмах обработки мандатных меток.

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

Классификация модулей по режимам обработки MAC

«BRING IT ON»: работа модуля в режиме минимальной мандатной метки

image loader

Мотивация для реализации данного механизма в модуле:

Примеры практических кейсов, для которых подходит использование режима минимальной мандатной метки:

«HURT ME PLENTY»: работа модуля в режиме одной мандатной метки

image loader

Этот кейс чуть сложнее, но во многом похож на случай с минимальной мандатной меткой. С точки зрения пользователя работа с приложением меняется не сильно: все те же привычные списки записей, карточки и операции «Просмотр», «Редактировать» и «Сохранить». С той лишь разницей, что в данном режиме пользователь видит только те записи, которые соответствуют мандатной метке его текущего сеанса.

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

Данный кейс может быть полезен в следующих случаях:

Рекомендация: В модуле, работающем только в режиме одной мандатной метки, отличной от минимальной мандатной метки ОС, следует добавить параметр, хранящий допустимые режимы мандатных меток для данного модуля. Попытка выполнения операции в режиме мандатной метки за пределами указанного перечня должна быть отклонена приложением.

При выполнении операций в модуле рекомендуется сверять мандатную метку текущего процесса приложения с мандатной меткой по умолчанию. Если мандатная метка модуля не соответствует мандатной метке сеанса, то пользователь не должен быть допущен к выполнению операции.

Примеры практических кейсов, для которых подходит использование режима одной мандатной метки:

«NIGHTMARE!»: работа модуля в режиме нескольких мандатных меток

image loader

Данный режим работы полезен только в том случае, когда в одном сеансе работы с модулем нам необходимо отображать информацию по всем мандатным меткам, расположенным ниже мандатной метки текущего сеанса по иерархии.

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

С точки зрения реализации пользовательского интерфейса обычно используются следующие шаблоны:

Простор комбинаций огромнейший, как и пространство для появления ошибок. Поэтому не рекомендуется обрабатывать в рамках одного юзкейса записи с различной мандатной меткой при наличии какой-либо бизнес-логики. Любые операции с коллекцией записей должны производиться с явным указанием мандатной метки, общей для всей коллекции. Обработали третью метку, затем вторую, и т.д.

Для реализации такого режима необходимо заложить следующие функции:

Взаимодействие приложения с окружающей средой

Приложение в среде с MAC взаимодействует с определенным перечнем окружающих его компонентов. Схематично по особенностям взаимодействия их можно классифицировать так:

image loader

Взаимодействие MAC-совместимого приложения с операционной системой

nswwkyiglwv0uvp7s98vq6qpv8g

MAC очень «радует» своими трудностями по настройке правил доступа в файловой системе. Например, львиная доля ошибок в приложениях с MAC связана именно с тем, что приложение в режиме текущей мандатной метки не видит файл, но файл при этом существует в режиме другой мандатной метки (уровнем выше).

Чего мы ожидаем от операционной системы в части MAC?

Если наше приложение работает в многопользовательском режиме, то ему наверняка потребуется запрашивать информацию об учетных записях пользователей, данные которых оно обрабатывает. Это необходимо для поддержки разграничения доступа пользователей. Поэтому приложению потребуется запрашивать у ОС информацию о мандатных разрешениях пользователей. Если УЗ пользователя в ОС управляется нашим приложением, тогда нам потребуется не только читать информацию об УЗ, но и управлять атрибутами УЗ.

Наиболее вероятные потоки взаимодействий ОС и приложения изображены на схеме:

image loader

Взаимодействие MAC-совместимого приложения со сторонним ПО без поддержки MAC

Большая часть приложений, которые могут использоваться в ОС с MAC, не умеют обрабатывать MAC.

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

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

Взаимодействие MAC-совместимого приложения со сторонним ПО с поддержкой MAC

В случае взаимодействия с ПО с поддержкой MAC наше приложение должно явно уметь считывать метку процесса, который осуществляет запрос, и выполнять операцию в соответствии с мандатной моделью управления доступом. От приложения, взаимодействующего с таким ПО, требуется только лишь выполнение запросов к стороннему приложению/процессу из процесса с корректной мандатной меткой.

Пример популярного приложения с полноценной поддержкой мандатных меток — СУБД PostgresSQL. В определенных вариантах поставки данной СУБД реализована полная поддержка MAC под некоторые ОС с механизмами MAC, например:

Взаимодействие MAC-совместимого приложения с пользователем

Каким бы странным ни выглядел данный аспект взаимодействия по сравнению с рассмотренными ранее, но не остановиться на нем нельзя. Ведь именно для пользователя чаще всего строятся приложения с поддержкой MAC, не так ли?

Приложение с поддержкой MAC практически ничем не отличается от такового без MAC в части пользовательского интерфейса во всех режимах, за исключением режима одновременной работы с несколькими мандатными метками.

На примере распространенных сегодня веб-приложений чаще всего встречаются следующие кейсы:

Кейс Что требуется предусмотреть
Аутентификация и работа пользователя с сессией Пользователь должен в каждый момент времени понимать, под какой мандатной меткой его видит приложение. Для этих целей приложение должно отображать простой и понятный индикатор мандатной метки сеанса пользователя, который будет доступен на каждом экране приложения.

Также данная функция очень сильно облегчит жизнь тестировщикам приложения. Отображение списка записей (грида записей) в режиме одновременной обработки нескольких мандатных меток с элементами управления Стандартный для современных веб-приложений кейс. Нюансы:

Здесь возможны следующие варианты:

Выводы

Мы рассмотрели несколько аспектов разработки приложения с поддержкой MAC. Все случаи предусмотреть, разумеется, сложно. Большая часть особенностей мандатной модели зависит от реализации, доступной для применения в выбранной ОС.

Поддержка MAC приложением — это не дополнительная «фича» приложения. Это серьезное архитектурное решение, требующее планирования и проектирования. Наибольшая «боль» для проектировщика MAC-совместимого приложения:

Источник

6 / 6 / 0

Регистрация: 04.01.2012

Сообщений: 182

Записей в блоге: 44

1

02.08.2017, 13:18. Показов 17986. Ответов 4


Добрый день,
создала базу, пользователя, подправила pg_hba.conf

Код

host all all 192.168.0.0/24 trust

на подключение всех и вся с «trust», сделала владельцем базы данных нового пользователя с таким же паролем, как в системе

Код

create user user with password 'user';

и передала ему все привилегии.

Код

grant all privileges on database user to userdb;

Но при попытке

Код

psql -h localhost -U user -d userdb

выдает ошибку:

Код

psql: FATAL:  error obtaining MAC configuration for user "bacula"

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



1187 / 917 / 367

Регистрация: 02.09.2012

Сообщений: 2,798

02.08.2017, 14:57

2

что у вас за система стоит?? почему пользователь bacula вылезает?? вы от его имени запускаете psql что ли??

Добавлено через 2 минуты
Попахивает MAC = Mandatory Access Control => SELinux/AppArmor/… что там еще из этой оперы..
В общем смотрите настройки безопасности вашей ОС



1



6 / 6 / 0

Регистрация: 04.01.2012

Сообщений: 182

Записей в блоге: 44

02.08.2017, 16:22

 [ТС]

3

система стоит astra
bacula вылезает, потому что в части команд я заменила юзера на обезличенное юзер, а в той оставила.
Да, запускаю от него psql, создала его и в бдушечке и в системе

в системе все мандатные метки оставила по нулям, а в бд не нашла, где ставить мандатные метки



0



1187 / 917 / 367

Регистрация: 02.09.2012

Сообщений: 2,798

03.08.2017, 04:48

4

я к сожалению не силен в PG, который доработанный под AstraLinux.
Вот здесь есть какое-то руководство, которое может быть поможет.



0



6 / 6 / 0

Регистрация: 04.01.2012

Сообщений: 182

Записей в блоге: 44

03.08.2017, 11:24

 [ТС]

5

Спасибо!
помогло вот это — надо было дать разрешение системной учетной записи на чтение мандатных меток

Код

usermod -a -G shadow postgres
setfacl -d -m u:postgres:r /etc/parsec/macdb
setfacl -R -m u:postgres:r /etc/parsec/macdb
setfacl -m u:postgres:rx /etc/parsec/macdb
setfacl -d -m u:postgres:r /etc/parsec/capdb
setfacl -R -m u:postgres:r /etc/parsec/capdb
setfacl -m u:postgres:rx /etc/parsec/capdb



0



  • Печать

Страницы: [1]   Вниз

Тема: Zabbix ошибка Unable to create the configuration file.  (Прочитано 4573 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
debitor

Здравствуйте форумчане, кто настраивал мониторинг Zabbix, у меня выбивает эта ошибка:

Install
Cannot create the configuration file.
Details

    Unable to create the configuration file.

Alternatively, you can install it manually:

    Download the configuration file
    Save it as "/etc/zabbix/zabbix.conf.php"


К базе mysql подключено, логин и пароль прописаны, по пути /etc/zabbix/zabbix.conf.php файл присутствует. Но всё равно
На финише ошибка, кто решал задачу эту, подскажите…


Онлайн
bezbo


Оффлайн
fluf

Права.

Веб-сервер пытается создать файл.


Оффлайн
debitor

Как ставили?

первоисточник

Устанавливал командой apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-agent

Права.

Веб-сервер пытается создать файл.

Вот такие права:

root@ubuntu:~# ls -l /var/www/html/zabbix/conf
итого 12
lrwxrwxrwx 1 root   root     27 фев  3 15:05 COPYING -> ../../common-licenses/GPL-2
-rw-r--r-- 1 zabbix zabbix 1036 июл 22  2016 maintenance.inc.php
-rwxrwxrwx 1    777 root    418 фев  6 16:39 zabbix.conf.php
-rw-r--r-- 1 zabbix zabbix  411 июл 22  2016 zabbix.conf.php.example

root@ubuntu:~# ls -l /etc/zabbix
итого 44
drwxr-xr-x 2 root root  4096 авг  6  2016 alert.d
-rw-r--r-- 1 root root 10295 фев  6 10:36 zabbix_agentd.conf
drwxr-xr-x 2 root root  4096 авг  6  2016 zabbix_agentd.conf.d
-rwxrwxrwx 1  777 root   418 фев  6 16:38 zabbix.conf.php
-rw-r--r-- 1 root root 14845 фев  6 16:31 zabbix_server.conf
drwxr-xr-x 2 root root  4096 авг  6  2016 zabbix_server.conf.d

Нет веб сервер, вроде не создавал файл. Я его скопировал.


Пользователь добавил сообщение 07 Февраля 2017, 09:34:20:


Всё установил, я не установил права на /etc/zabbix/. Вопрос решен. Спасибо.


Пользователь добавил сообщение 07 Февраля 2017, 10:44:46:


Теперь в админке, не переходит по вкладкам     

        Инвентаризация
    Отчеты
    Настройка
    Администрирование

Работает только вкладка Мониторинг, и нижние что может быть?

« Последнее редактирование: 07 Февраля 2017, 10:44:46 от debitor »


Оффлайн
fluf

Теперь в админке, не переходит по вкладкам

1 браузер
2 не хватает ресурсов на сервере
3 php


Оффлайн
debitor

1 браузер
2 не хватает ресурсов на сервере
3 php

1. Ну пробывал разные браузеры, дело не внём.
2. Ресурсов хватает 4 ядра, 2 ГБ оперетивки.
3. При установке PHP7.0 ошибок не выдавало

А нужно ли устанавливать агент на Windowsе?


Оффлайн
fluf


Оффлайн
debitor

free -m

при открытом веб-интерфейсе запускали.

Ок.

При установке вот тут

http://tecadmin.net/wp-content/uploads/2013/10/zabbix-setup-2.png

Все было ОК?

root@ubuntu:~#   free -m
              всего        занято        свободно      общая  буф./врем.   доступно
Память:        1998         507         802          31         688        1307
Подкачка:        2044           0        2044

Доступно 1307 Мб
У меня Zabbix3.0 ошибок не было всё ОК, в PHP параметры менял.

И не грузится состояние, может в модулях что-то


Пользователь добавил сообщение 07 Февраля 2017, 17:15:19:


Остановил службу lighttpd, запустил apache2 в админку вошел вылезло:

A session had already been started - ignoring session_start() [zabbix.php:21 → require_once() → ZBase->run() → ZBase->processRequest() → CController->__construct() → CSession::start() → session_start() in include/classes/core/CSession.php:49]

« Последнее редактирование: 07 Февраля 2017, 17:15:19 от debitor »


Оффлайн
fluf

A session had already been started

В php.ini установить session.autostart 0

Но это не решение. Думаю, что проблема в php7. Установка php5 должна спасти.
Делается примерно так https://webshake.ru/post/451

Вообще, у php7 и zabbix много косяков и с ubuntu особенно (возможно, просто из-за популярности). Вроде как все решаемы, можете попробовать разобраться, если дедлайн не поджимает.


Оффлайн
debitor

В php.ini установить session.autostart 0

session.autostart 0 у меня стоял

Но это не решение. Думаю, что проблема в php7. Установка php5 должна спасти.

Установил php5 в /etc/init.d/ не отобразилась служба по чему-то, но в папке php появилась 5 версия

root@ubuntu:~# php -v
PHP 5.6.30-1+deb.sury.org~yakkety+1 (cli)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

« Последнее редактирование: 08 Февраля 2017, 12:34:46 от debitor »


Оффлайн
fluf

По идее, надо попробовать переконфигурировать через веб-интерфейс (переименовать zabbix.conf.php) и посмотреть чего не хватает.


Оффлайн
debitor

По идее, надо попробовать переконфигурировать через веб-интерфейс (переименовать zabbix.conf.php) и посмотреть чего не хватает.

Переименовал, попробывал переустановить, почему то php7 версия вылезла:


Пользователь добавил сообщение 08 Февраля 2017, 15:15:55:


Пока разобрался, спасибо. Не была подтянута база  images.sql.  :) , буду теперь разбираться дальше

« Последнее редактирование: 08 Февраля 2017, 15:15:55 от debitor »


  • Печать

Страницы: [1]   Вверх

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Error nu1101 не удалось найти пакет
  • Error 404 дискорд сервер
  • Error 404 sans addon
  • Error 4 ewm
  • Error not logged on steamcmd

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии