Требования
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):
-
Скопировать в файл /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
-
Установить права доступа к созданному файлу:
sudo chown www-data:www-data /etc/zabbix/zabbix.conf.php
-
В файле /etc/zabbix/zabbix.conf.php задать значения переменных TYPE (тип используемой СУБД) и PASSWORD (пароль пользователя zabbix СУБД):
$DB['TYPE'] = 'POSTGRESQL'; ... $DB['PASSWORD'] = '<пароль_пользователя_zabbix_СУБД>';
-
Перезапустить службу apache2:
sudo systemctl reload apache2
-
В конфигурационном файле /etc/zabbix/zabbix_server.conf раскомментировать строку, задающую пароль доступа к БД zabbix, и указать там пароль:
-
Разрешить автоматический запуск службы zabbix при перезагрузке ОС и запустить службу zabbix:
sudo systemctl enable zabbix-server
sudo systemctl start zabbix-server -
Открыть 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…»), и
после чего компьютер будет добавлен в список узлов для проверки.
Содержание
- Операционные системы Astra Linux
- Установка Zabbix на Astra Linux
- Введение
- Установка Zabbix 4.4 на Astra Linux
- Обновление php 7.0 до 7.4 в Astra Linux
- Установка Zabbix 5 на Astra Linux
- Заключение
- PostgreSQL: ошибка получения мандатных атрибутов
- 5 ответов
- Astra Linux. Установка PostgreSQL.
- Аренда серверов.
- 1С:Предприятие “в облаке”.
- IP-телефония в офис.
- Мандатная модель управления доступом (MAC): обзор и применение в прикладных системах
- Модель MAC
- Основная идея
- Ограничения и уязвимости
- Проектирование приложения с поддержкой MAC
- Как избежать MAC, когда его уже не избежать
- Разделяй и властвуй
- Классификация модулей по режимам обработки MAC
- «BRING IT ON»: работа модуля в режиме минимальной мандатной метки
- «HURT ME PLENTY»: работа модуля в режиме одной мандатной метки
- «NIGHTMARE!»: работа модуля в режиме нескольких мандатных меток
- Взаимодействие приложения с окружающей средой
- Взаимодействие MAC-совместимого приложения с операционной системой
- Взаимодействие MAC-совместимого приложения со сторонним ПО без поддержки MAC
- Взаимодействие MAC-совместимого приложения со сторонним ПО с поддержкой MAC
- Взаимодействие MAC-совместимого приложения с пользователем
- Выводы
Операционные системы 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. Версии возьму те, что есть в стандартном репозитории дистрибутива.
Обновляем систему и устанавливаем необходимые пакеты.
В файл /etc/hosts добавьте запись с вашим ip адресом. У меня она вот такая получилась:
Если делаете установку на редакции Смоленск и не используете авторизацию в apache, то отключите ее в конфиге /etc/apache2/apache2.conf.
Теперь можно перезапустить apache и проверить работу веб сервера.
Перейдя в браузере по ip адресу сервера, должны увидеть стандартную страницу заглушку apache в Debian.
Теперь настроим postgresql. Добавляем в ее конфиг /etc/postgresql/9.6/main/pg_hba.conf следующие строки.
Перезапускаем сервер баз данных.
Дальше надо подключиться к postgresql и создать пользователя с базой данных для zabbix.
Не забудьте указать свой пароль. Мой копировать не надо.
Устанавливаем в Astra Linux сам Zabbix Server.
Импортируем шаблон базы данных в саму базу, которую сделали ранее.
Если получите ошибку:
То сделайте следующее:
Добавим параметры подключения к БД в конфигурацию Zabbix Server /etc/zabbix/zabbix_server.conf.
После всех этих действий перезапускаем apache и запускаем zabbix-server.
Далее идем в браузер по адресу http://10.20.1.31/zabbix/ и выполняем установку сервера. Не буду на этом подробно останавливаться, там все тривиально. Можно подсмотреть в любой инструкции по установке. Например, в моей же для этой версии. Там все будет идентично, 1 в 1, так как и версия zabbix, и версия debian 9 совпадают.
Вручную устанавливаем скачанные пакеты.
Так как мы перезаписал прошлый конфиг сервера новой версией, надо сходить и еще раз прописать доступ к базе данных. После этого перезапускаем сервер.
Идем в веб интерфейс и проверяем версию сервера.
На этом установка 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 основных пакетов:
Проверяем версию 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 все. Перезапускаем сервер и идем в веб интерфейс.
Не забудьте почистить кэш браузера после обновления web интерфейса. Иначе в новой версии все будет криво отображаться, как-будто что-то сломано.
Заключение
На этом у меня все. Я показал, как на Astra Linux установить самую свежую версию Zabbix Server. Предлагаю далее проследовать в статью по базовой настройке zabbix.
А вам доводилось работать с Astra Linux? Поделитесь впечатлением. По сути тот же Debian, а вот графическое окружение уникальное и мне оно очень понравилось. Уж точно лучше Gnome.
Источник
PostgreSQL: ошибка получения мандатных атрибутов
Проблема возникает с PostgreSQL 9.4 в Astra Linux Special Edition 1.5 при попытке подключения созданным пользователем:
«СБОЙ: ошибка получения мандатных атрибутов на сервере для пользователя»
5 ответов
Ошибка возникает при использовании локальных пользователей, без настроенного ALD.
Нужно добавить права на чтение к БД мандатных атрибутов для Postgre:
Для версии 1.6 это выглядит так.
Если возникает ошибка:
ошибка получения мандатных атрибутов на сервере для пользователя «replicator», ошибка 13 — Отказано в доступе
Значит не хватает прав доступа к каталогам. Нужно:
Если возникает ошибка:
ошибка получения мандатных атрибутов на сервере для пользователя «replicator», ошибка 2 — Нет такого файла или каталога
Нужно инициализировать мандатные права у вашего пользователя:
И тем не менее. Господа, а, видимо, кто-то уже сталкивался со всем этим делом на Astra Linux 1.6 Smolensk?
На Astra Linux 1.5 при желании назначить пользователя, ассоциированного с ролью входа для PostgreSQL работало вот так:
Проблему удалось решить. Файл /etc/parsec/mswitch.conf, параметр zero_if_notfound установить в yes.
В этом случае все пользователи БД, для которых не удалось получить мандатные атрибуты, получат нулевую метку.
Настройка «установить в файле /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 для работы с 1С, поэтому установим на него версию PostgreSQL для 1С, которую разрабатывает фирма 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 и обновляем установленные модули.
Теперь идём на страницу управления PostgreSQL Server и вносим небольшие изменения в настройки, указав в качестве Paths to host access config file путь /var/lib/pgpro/1c-11/data/pg_hba.conf
В результате вы получите возможность управлять PostgreSQL-сервером из WEB-интерфейса.
Аренда серверов.
Надёжные сервера с Pro-бегом
У ВАС В ОФИСЕ!
1С:Предприятие “в облаке”.
Безопасный доступ к своей 1С из офиса, командировки и т.п.!
IP-телефония в офис.
Источник
Мандатная модель управления доступом (MAC): обзор и применение в прикладных системах
Модель MAC
MAC, несмотря на то, что содержится во множестве статей и материалов, чаще всего упоминается вскользь и в виде пряного соуса к чему-нибудь вроде краткого упоминания MLS в SELinux. Так как многие ограничивают свою дружбу с SELinux применением рецепта «как отключить SELinux», то и MAC часто удостаивается той же чести. Поэтому сперва коротко о MAC.
Если вы хорошо знакомы с моделью, можете сразу перейти к следующему разделу.
Основная идея
Абстрактная модель безопасности, реализуемая в классическом MAC (каким его знают сотрудники силовых ведомств), выглядит следующим образом (классическая картинка, иллюстрирующая модель Белла — Лападулы):
Модель 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, когда его уже не избежать
При проектировании приложения с MAC можно использовать одно очень простое архитектурное решение, которое в итоге сэкономит много нервов и времени. В конфигурацию приложения следует добавить параметр, который сообщает приложению, включена ли мандатная модель управления доступом для данной инсталляции, или нет. Во всех местах приложения, где происходит взаимодействие с инфраструктурой MAC, либо бизнес-функция приложения требует проверки метки, следует сперва проверять значение этого параметра. Если MAC согласно ему отключена, то приложение игнорирует все правила бизнес-логики, предназначенные для проверки MAC-совместимых функций.
С точки зрения трудозатрат придется потратить дополнительное время на реализацию каждой функцию приложения с поддержкой MAC. Потребуется отладить и протестировать одну и ту же функциональность в режиме без мандатной метки, поэтому возрастут расходы на тестирование.
За счет данного решения можно обеспечить приложению (и всей команде разработки), которое вынуждено функционировать в среде MAC, следующие преимущества:
Рекомендации:
Добавить параметр включения/отключения поддержки мандатных меток в приложении.
Во всех местах, требующих взаимодействия с MAC, прежде всего проверять значение параметра.
При отладке и тестировании необходимо отлаживать (на стороне команды разработки) и тестировать (на стороне команды тестирования) оба режима работы приложения.
Разделяй и властвуй
Другой важный шаг при проектировании, который обязательно должен быть выполнен до начала разработки — разделение модулей, в которых требуется поддержка MAC, от модулей, в которых данный механизм управления доступом не требуется. Использование мандатной модели управления доступом почти всегда усложняет бизнес-логику приложения.
Это та самая инфраструктура, абстрагироваться от которой очень сложно, а порой невозможно. Поэтому приложение следует разбить на модули, а уже по каждому модулю произвести анализ потребности в поддержке MAC. Возможно, именно в вашем случае достаточно поддержать MAC только в одном модуле, и нет смысла из-за данного модуля усложнять все приложение?
Рекомендация: Следует разделить приложение на модули и классифицировать их по режимам обработки мандатных меток.
В случае, если мы рассматриваем некий абстрактный модуль (или все приложение, если деление приложения на модули не требуется) возможны следующие парадигмы:
Рекомендация: При проектировании следует обеспечивать минимальную связность (cohesion) модулей, работающих в различных парадигмах обработки мандатных меток.
Далее рассмотрим подробнее особенности проектирования при трех парадигмах обработки мандатных меток. Для этого мы набросали классификацию от простого случая к сложному. Данная классификация несет сугубо практический и прикладной характер. Она исходит из интуитивно ощутимых различий при разработке тех или иных модулей, а на практике показала свою действенность.
Классификация модулей по режимам обработки MAC
«BRING IT ON»: работа модуля в режиме минимальной мандатной метки
Мотивация для реализации данного механизма в модуле:
Примеры практических кейсов, для которых подходит использование режима минимальной мандатной метки:
«HURT ME PLENTY»: работа модуля в режиме одной мандатной метки
Этот кейс чуть сложнее, но во многом похож на случай с минимальной мандатной меткой. С точки зрения пользователя работа с приложением меняется не сильно: все те же привычные списки записей, карточки и операции «Просмотр», «Редактировать» и «Сохранить». С той лишь разницей, что в данном режиме пользователь видит только те записи, которые соответствуют мандатной метке его текущего сеанса.
Также может быть разработан ограниченный вариант: в модуле фиксируется значение параметра «мандатной метки по умолчанию». В этом случае эксплуатация модуля возможна только с указанной мандатной меткой, но данный вариант проще в реализации.
Данный кейс может быть полезен в следующих случаях:
Рекомендация: В модуле, работающем только в режиме одной мандатной метки, отличной от минимальной мандатной метки ОС, следует добавить параметр, хранящий допустимые режимы мандатных меток для данного модуля. Попытка выполнения операции в режиме мандатной метки за пределами указанного перечня должна быть отклонена приложением.
При выполнении операций в модуле рекомендуется сверять мандатную метку текущего процесса приложения с мандатной меткой по умолчанию. Если мандатная метка модуля не соответствует мандатной метке сеанса, то пользователь не должен быть допущен к выполнению операции.
Примеры практических кейсов, для которых подходит использование режима одной мандатной метки:
«NIGHTMARE!»: работа модуля в режиме нескольких мандатных меток
Данный режим работы полезен только в том случае, когда в одном сеансе работы с модулем нам необходимо отображать информацию по всем мандатным меткам, расположенным ниже мандатной метки текущего сеанса по иерархии.
При проектировании необходимо описать функциональные требования к модулю, а в детализации каждого функционального требования указать перечень взаимодействий в части мандатной модели (возможные варианты рассмотрены ниже в разделе «Взаимодействие приложения с окружающей средой»). Это позволит выделить какие-то общие концепции взаимодействия с инфраструктурой в части мандатных меток. Также эта информация будет крайне полезна для оценки сложности разработки и при дальнейшем тестировании.
С точки зрения реализации пользовательского интерфейса обычно используются следующие шаблоны:
Простор комбинаций огромнейший, как и пространство для появления ошибок. Поэтому не рекомендуется обрабатывать в рамках одного юзкейса записи с различной мандатной меткой при наличии какой-либо бизнес-логики. Любые операции с коллекцией записей должны производиться с явным указанием мандатной метки, общей для всей коллекции. Обработали третью метку, затем вторую, и т.д.
Для реализации такого режима необходимо заложить следующие функции:
Взаимодействие приложения с окружающей средой
Приложение в среде с MAC взаимодействует с определенным перечнем окружающих его компонентов. Схематично по особенностям взаимодействия их можно классифицировать так:
Взаимодействие MAC-совместимого приложения с операционной системой
MAC очень «радует» своими трудностями по настройке правил доступа в файловой системе. Например, львиная доля ошибок в приложениях с MAC связана именно с тем, что приложение в режиме текущей мандатной метки не видит файл, но файл при этом существует в режиме другой мандатной метки (уровнем выше).
Чего мы ожидаем от операционной системы в части MAC?
Если наше приложение работает в многопользовательском режиме, то ему наверняка потребуется запрашивать информацию об учетных записях пользователей, данные которых оно обрабатывает. Это необходимо для поддержки разграничения доступа пользователей. Поэтому приложению потребуется запрашивать у ОС информацию о мандатных разрешениях пользователей. Если УЗ пользователя в ОС управляется нашим приложением, тогда нам потребуется не только читать информацию об УЗ, но и управлять атрибутами УЗ.
Наиболее вероятные потоки взаимодействий ОС и приложения изображены на схеме:
Взаимодействие 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
Добрый день, Код 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 минуты
1 |
6 / 6 / 0 Регистрация: 04.01.2012 Сообщений: 182 Записей в блоге: 44 |
|
02.08.2017, 16:22 [ТС] |
3 |
система стоит astra в системе все мандатные метки оставила по нулям, а в бд не нашла, где ставить мандатные метки
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] Вверх