Privsock conf astra linux

Запуск процессов с привилегиями PARSEC

Выложена в открытый доступ утилита start-stop-parsec-daemon, пропатченная версия обычного start-stop-daemon для Astra Linux Special Edition. В отличии от стандартной версии умеет запускать процессы с привилегиями PARSEC под любым пользователем.

Зачем нужна?

Штатные возможности Astra Linux Special Edition не позволяют запускать процессы (демоны) со сменой UID/GID и при этом ставить привилегии PARSEC. Невозможно, например, запускать немодифицированные программы с привилегией PRIVSOCK (возможность подключения пользователей с ненулевой мандатной меткой) с UID/GID отличными от 0 (root).

Столь плачевное положение возможно имеет причиной: а) забывчивость Русбитеха; б) вера в то, что все привилегированные процессы должны запускаться от рута. Как бы то ни было, вся обвязка связанная с запуском процессов с привилегиями PARSEC, полна тлена и баш-скриптов и порой приводит к потере работоспособности скриптов запуска.

Посему мы это все решили прекратить и сделать свой start-stop-daemon с PARSEC привилегиями, но без скриптов.

Как это работает

Пакет устанавливает команду start-stop-parsec-daemon , полностью совместимую со штатным start-stop-daemon , но позволяющую указывать привилегии PARSEC с помощью параметра —capability . Для совместимости со штатным механизмом Астры privsock, если указана привилегия 0x100 (PRIVSOCK), то команда дополнительно сверяется с файлом /etc/parsec/privsock.conf на предмет наличия запускаемого бинарника в оном списке.

В остальном, все как обычно.

Как это всё прикрутить к собственному проекту?

  1. Добавьте в зависимости вашего пакета с init.d скриптом наш пакет (parsec-daemon).
  2. В скрипте используйте start-stop-parsec-daemon вместо start-stop-daemon .
  3. Укажите привилегии с помощью параметра —capability .

Пакеты можно собрать самостоятельно из исходников, а можно взять готовые для Astra Linux Special Edition 1.3/1.4 из нашего репозитория.

Рекомендация: если вы хотите таким образом адаптировать сторонние пакеты, то наилучшим способом будет создание пакета -parsec , в котором будет правильный LSB скрипт запуска. А postints/postrm скрипты будут отключать стандартный демон и работать с /etc/parsec/privsock.conf .

Читайте также:  Отключить линукс через консоль

Пример

Конкретного примера не будет, смотрите нашу обвязку для RabbitMQ.

P.S. Наша версия start-stop-daemon войдет в версию 1.5 Astra Linux Special Edition.

Источник

Privsock conf astra linux

Настройка разрешений PARSEC

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

Кроме того, в случае если пользователь работает на отличном от нуля уровне привилегий, интерфейс пользователя Dr.Web для Linux не может взаимодействовать со SpIDer Guard и сервисными компонентами антивируса, работающими на других уровнях привилегий, в том числе может отсутствовать доступ к консолидированному карантину .

Если в ОС используется PARSEC и имеются учетные записи пользователей, работающих на уровнях привилегий, отличных от нулевого, необходимо выполнить специальную настройку Dr.Web для Linux, чтобы обеспечить взаимодействие его компонентов, запускаемых на различных уровнях привилегий.

В этом разделе рассматриваются следующие настройки PARSEC, обеспечивающие корректную работу Dr.Web для Linux:

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

• Настройка автоматического запуска компонентов Dr.Web для Linux на уровне привилегий пользователя.

• Настройка SpIDer Guard для перехвата событий доступа к файлам.

Для осуществления этих операций необходимы права суперпользователя (пользователя root ). Для получения прав суперпользователя воспользуйтесь командой смены пользователя su или командой выполнения от имени другого пользователя sudo .

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

Для ОС Astra Linux SE версии 1.6

Внесите изменения в системный файл /etc/parsec/privsock.conf , наделив демон управления конфигурацией Dr.Web для Linux ( drweb-configd ) правом на использование механизма privsock . drweb-configd — сервисный компонент Dr.Web для Linux, обеспечивающий взаимодействие всех антивирусных компонентов между собой. Механизм privsock предназначен для обеспечения функционирования системных сетевых сервисов, не осуществляющих обработку информации с использованием мандатного контекста, но взаимодействующих с процессами, работающими в мандатном контексте субъекта доступа. Для этого выполните следующее:

1. В любом текстовом редакторе откройте файл /etc/parsec/privsock.conf . Добавьте в этот файл указанные строки:

Читайте также:  Install linux ssh client

2. Сохраните файл и перезагрузите систему.

Для ОС Astra Linux SE версии 1.5 и менее

Внесите изменения в скрипт запуска демона управления конфигурацией Dr.Web для Linux ( drweb-configd ). Для этого выполните следующее:

1. Совершите вход в систему с использованием учетной записи, обладающей нулевым уровнем привилегий.

2. В любом текстовом редакторе откройте файл скрипта /etc/init.d/drweb-configd .

3. Найдите в этом файле определение функции start_daemon() , в которой замените строку

«$DAEMON» -d -p «$PIDFILE» >/dev/null 2>&1

execaps -c 0x100 — «$DAEMON» -d -p «$PIDFILE» >/dev/null 2>&1

4. В некоторых ОС (например, Astra Linux SE 1.3) может потребоваться указать дополнительно зависимость запуска компонента от подсистемы PARSEC. В этом случае также необходимо модифицировать в этом файле строку:

# Required-Start: $local_fs $network

Измените данную строку следующим образом:

# Required-Start: $local_fs $network parsec

5. Сохраните файл и перезапустите систему.

Настройка автоматического запуска компонентов на уровне привилегий пользователя

Для того, чтобы компоненты Dr.Web для Linux, с которыми взаимодействует пользователь, были доступны в его окружении (при работе пользователя на уровне привилегий, отличном от нулевого), внесите изменения в файлы настроек PAM для автоматического запуска требуемых компонентов Dr.Web для Linux при начале сессии пользователя и их завершения при окончании сессии (используется специальный PAM-модуль pam_drweb_session.so , разработанный Doctor Web, который запускает компонент-посредник drweb-session , связывающий между собой локальные копии компонентов, запущенных в окружении пользователя, с компонентами, работающими на нулевом уровне привилегий и запускающимися автоматически при загрузке ОС).

Для внесения изменений в настройки PAM вы можете использовать утилиту конфигурирования drweb-configure , входящую в состав Dr.Web для Linux (рекомендуется), либо внести изменения в необходимые файлы конфигурации вручную.

1. Использование утилиты drweb-configure

Для удобства настройки некоторых сложных параметров, обеспечивающих работоспособность Dr.Web для Linux, разработана специальная вспомогательная утилита drweb-configure .

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

Читайте также:  Linux mint cinnamon with kde

$ sudo drweb-configure session

где может принимать одно из следующих значений:

• enable — включить режим автоматического запуска нужных компонентов в сессии пользователя на его уровне привилегий.

• disable — отключить режим автоматического запуска нужных компонентов в сессии пользователя на его уровне привилегий (при этом ряд функций Dr.Web для Linux окажется недоступным).

Для получения справки по использованию drweb-configure для настройки PAM используйте команду:

$ drweb-configure —help session

2. Изменение файлов конфигурации PAM вручную

Для Аstra Linux и других дистрибутивов, использующих модуль PAM pam_parsec_mac.so

1. Чтобы изменить настройки PAM, нужно отредактировать хранящиеся в каталоге каталоге /etc/pam.d конфигурационные файлы, в которых вызывается модуль PAM pam_parsec_mac.so . Для получения полного списка таких файлов выполните команду:

# grep -R pam_parsec_mac.so /etc/pam.d

В каждый файл из списка добавьте добавьте следующие записи типа session :

• Перед первой записью типа session :

session optional pam_drweb_session.so type=close

• После последней записи типа session :

session optional pam_drweb_session.so type=open

2. Сохраните измененные файлы.

3. Создайте символическую ссылку на файл pam_drweb_session.so из системного каталога, содержащего PAM-модули. Файл pam_drweb_session.so располагается в каталоге библиотек Dr.Web для Linux /opt/drweb.com/lib/ (например, для 64-разрядных ОС — в каталоге /opt/drweb.com/lib/x86_64-linux-gnu/pam/ ).

Для Альт 8 CП и других дистрибутивов, использующих модуль pam_namespace.so

1. Чтобы изменить настройки PAM, нужно отредактировать хранящиеся в каталоге /etc/pam.d конфигурационные файлы, в которых вызывается модуль PAM pam_namespace.so . Для получения полного списка таких файлов выполните команду:

# grep -R pam_namespace.so /etc/pam.d

2. В каждый файл добавьте такие же записи типа session , что и для дистрибутивов, использующих модуль pam_parsec_mac.so (см. предыдущий параграф).

Настройка SpIDer Guard для перехвата событий доступа к файлам

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

Чтобы перевести SpIDer Guard в режим работы Fanotify , выполните следующую команду :

# drweb-ctl cfset LinuxSpider.Mode Fanotify

Для получения дополнительной информации используйте команду:

Источник

Оцените статью
Adblock
detector