Apache2 и мандатные метки.

Nukopol

New member
Сообщения
12
#1
Здравствуйте! Astra Linux SE 1.6
Вопрос про apache и мандатные метки.
В apache2 настроена аутентификация Basic.
Есть пользователь, которому выставлены уровни конфиденциальности от 0 до 1.
Есть файл сайта и пара python скриптов, одни из которых запускается через CGI, другой через WSGI (не надо спрашивать зачем такие извращения).
Если и сайту и скриптам выставлен уровень конфиденциальности 0 и при подключении к ним логиниться как упомянутый пользователь, то всё нормально работает.
Если же файлам выставить уровень конфиденциальности 1, то уже нет доступа ни к одному из трёх файлов.
В случае сайта - ошибка прав доступа, в случае скриптов - 500 ошибка, будто apache не видит сами скрипты.
По всей видимости apache порождает процессы с минимальной меткой пользователя.
Соответственно не понятно, что с этим делать?
Можно как-то сконфигурировать apache, что он порождал процесс с максимальным уровнем конфиденциальности?
 

oko

New member
Сообщения
1 257
#2
to Nukopol
Без PAM-авторизации не прокатит. Несколько обратный, но понятный пример был тут...
 

Nukopol

New member
Сообщения
12
#3
to Nukopol
Без PAM-авторизации не прокатит. Несколько обратный, но понятный пример был тут...
Насколько я понимаю, PAM то как раз включён. Вот настройка conf файла апача, раздел доступа к сайту.
Код:
 <Directory /home/sitefolder/>
    AuthType Basic
    AuthName "PAM authentication"
    AuthBasicProvider PAM
    AuthPAMService apache2
    Require valid-user
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
</Directory>
Мандатная метка.png


МРД пользователя.png

 

oko

New member
Сообщения
1 257
#4
to Nukopol
А системный пользователь www-data к этим файлам-с-уровнем-1 доступ имеет?
И права на чтение базы данных пользователей в системе пользователю www-data давали?
Еще можете поиграться с уровнями целостности (у юзера). Помнится, МКЦ пользователю с низким уровнем целостности часть операций запрещает...
 
Последнее редактирование:

Nukopol

New member
Сообщения
12
#5
Права на чтение баз выданы. Как было описано в руководстве Астры
Код:
usermod -a -G shadow www-data
setfacl -d -m u:www-data:r /etc/parsec/macdb
setfacl -R -m u:www-data:r /etc/parsec/macdb
setfacl -m u:www-data:rx /etc/parsec/macdb
Опять же если у html-файла сайта понизить метку до 0, то он открывается.

По поводу прав www-data не совсем понял.
Разве при включенной авторизации, процесс не должен порождаться от имени пользователя, а не от имени www-data ?
Да и вроде у системных пользователей при работе автоматим выдаётся максимальный диапазон меток.
 

oko

New member
Сообщения
1 257
#6
to Nukopol
Должен, все верно, для того и доступ к базе выдается...
Странное поведение. А что лог apache пишет в такой ситуации?
 

Nukopol

New member
Сообщения
12
#7
При обращении к сайту в error.log только это
Код:
[core:error] [pid 3085] (1)Operation not permitted: [client 192.168.110.204:11567] AH00132: file permissions deny server access: /home/sitefolder/index.html
При это сам пользователь если залогинится под первым уровнем конфиденциальности вполне может читать и редактировать файл сайта.
 

Nukopol

New member
Сообщения
12
#8
При чём я не понимаю еще вот что, если бы дело было именно в метках, то апач бы просто не увидел бы файл, это другая ошибка.
И если обращаться к python-сервисам, на которые так же повешена метка 1, то возвращается "500 Internal Server Error", будто он как раз не видит файл, как если бы процесс python порождался с меткой 0.
 

oko

New member
Сообщения
1 257
#9
to Nukopol
Такс...
Ради проверки создайте аналогичный index.html в православном /var/www/html. Дайте www-каталогу дайте chown -R www-data:www-data. Создайте новый конфиг сайта для Apache2 и перенаправьте его на этот файл. Разумеется, все с меткой 0. Затем проверьте под юзером (должно работать). Далее поменяйте метку файла до 1 и проверьте под юзером с уровнем 1 (должно работать)...
Если приведенное отработает как надо, проблема в "фейковом" каталоге /home/username, который создается при входе пользователя в систему (особенности мандатной реализации домашних каталогов пользователей в Astra Linux). И копать нужно в эту сторону (скорее всего, безуспешно)...
Если не отработает - будет уже интереснее...
 

Nukopol

New member
Сообщения
12
#10
Попробовал.
Файл сайта в /var/www/html . Метка 0. Под пользователем user1 открывается.
Метка 1 - не открывается. Всё так же "You don't have permission to access "
 

oko

New member
Сообщения
1 257
#11
to Nukopol
Любопытно... Попробуйте создать пустую страницу index.html с какой-нибудь заглушкой и без скриптов php/python/etc. Дайте ей уровень 1 и попробуйте подключиться, залогинившись под юзером с 1 уровнем...
Если прокатит, значит клинч в интерпретаторе python (именно он "не видит" 1 метки в вашем первичном случае)...
 

Nukopol

New member
Сообщения
12
#12
Такс. Я разобралось.
Оказалась ошибка довольно глупая.
Проблема была в том, что на астру я стучался с виндовой машины.
Попробовал с другой астры - всё работает как надо.
 

oko

New member
Сообщения
1 257
#13
to Nukopol
Мда... изначально предположил, что вы с localhost развлекаетесь...
А так да, мандатные метки в уровне >0 понимает малое количество ОС...