Оглавление |
---|
Информация | ||
---|---|---|
|
- ОС СН Смоленск 1.6
- ОС СН Ленинград 8.1
- ОС ОН Орёл 2.12 (в части, не касающейся мандатного разграничения доступа)
Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10 |
Настройка web
Настройка WEB-сервера
На компьютере -
WEBweb-сервере Apache2 (часть 1)
Предупреждение |
---|
В ОС СН (Смоленск, Ленинград) Astra Linux Special Edition все действия должны выполняться от имени имени администратора компьютера в сессии администратора домена или локального администратора (при включенном МКЦ - администратора с высоким уровнем целостности). |
Установить пакеты:
- astra-freeipa-client — пакеты для ввода компьютера в домен
;
- apache2 — служба аpache2;
- libapache2-mod-auth-kerb — модуль авторизации через Kerberos для службы apache2.
Команды для установки пакетов:Command sudo apt update
sudo apt install astra-freeipa-client apache2 libapache2-mod-auth-kerbЗадать имя компьютера (далее в примере используется имя client):
Command sudo hostnamectl set-hostname client
На компьютере - контроллере домена FreeIPA
Предупреждение |
---|
Действия выполняются от имени на основании билета Kerberos администратора домена (по умолчанию - admin). |
При работе в сессии администратора домена билет Kerberos выдается автоматически при входе в сессию. При работе в сессии локального администратора получить билет администратора домена:
Command kinit admin
Добавить службу HTTP:
Command
ipa service-add HTTP
ipa service-add HTTP/client.astra.domain@ASTRA.DOMAIN
Получить от
контроллера домена FreeIPA таблицу ключей (keytab):
Command /usr/sbin/ipa-getkeytab -
p HTTP/client.astra.domain@ASTRA.DOMAIN -k ~/
http.keytab
Таблица ключей будет сохранена в домашнем каталоге.
Полученный файл с таблицей ключей http.keytab
скопировать
на web-сервер в каталог /etc/apache2/.
На компьютере -
WEBweb-сервере Apache2 (Часть 2)
Скопировать keytab (файл /tmp/http.keytab) с контроллера домена на WEB-сервер в каталог Предполагается, что таблица ключей размещена в файле /etc/apache2/http.keytab.Выставить права на keytab:
Установить права доступа к файлу с таблицей ключей:
Command sudo chown www-data:www-data /etc/apache2/http.keytab
sudo chmod
600 /etc/apache2/http.keytab
В конфигурацию виртуального хоста virtualhost в файле /etc/apache2/sites-available/000-default.conf внести настройки:
Блок кода <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www> AuthType Kerberos
# Имя области (realm) Керберос - обычно это имя домена ЗАГЛАВНЫМИ буквами
KrbAuthRealms ASTRA.DOMAIN
# Полное доменное имя
службы (имя ранее созданной службы HTTP): KrbServiceName HTTP/client.astra.domain@ASTRA.DOMAIN
# Имя файла, в котором сохранены ключи Krb5Keytab /etc/apache2/http.keytab KrbMethodNegotiate on KrbMethodK5Passwd off require valid-user KrbSaveCredentials on </Directory> </VirtualHost>
Создать каталог для виртуального сервера:
На компьютере -
web-сервере назначить мандатные атрибуты каталогу с виртуальным сервером:
Command sudo pdpl-file -u 3:0:
-1:
ccnr /var/www/
sudo pdpl-file -u 3:0:
-1:
ccnr /var/www/html/
Перезапустить web-сервер (службу apache2):
Command sudo systemctl restart apache2
Проверка работы мандатных ограничений
- На компьютере - контроллере домена
- :
- Создать доменного пользователя
- .
- Разрешить созданному пользователю работать с ненулевой классификационной меткой. Например, установить ему максимальный иерархический уровень конфиденциальности 1.
- На компьютере -
- web-сервере
- :
В папке виртуального сервера /var/www/html/
создать 2 файла
, например 0.html и 1.html с содержимым "Hello world! 0" и "Hello world! 1" соответственно.
Command echo "Hello world! 0" | sudo tee /var/www/html/0.html
echo "Hello world! 1" | sudo tee /var/www/html/1.htmlУстановить классификационную метку на файл 1.html:
Command sudo pdpl-file 1:0:0 /var/www/html/1.html
На любом компьютере, который должен выступать в роли клиента
:
Включить в
web-браузереавторизацию negotiate
, для чего открыть страницу about:config и добавить http:// в параметры network.negotiate-auth.delegation-uris и network.negotiate-auth.trusted-uris
:
- Войти на клиентском компьютере в пользовательскую сессию с нулевой классификационной меткой.
Попытаться получить доступ к странице с ненулевым уровнем конфиденциальности http://client.astra.domain/html/1.html. Результатом должен стать отказ в доступе:
Предупреждение
В диагностическом сообщении об ошибке
указано, что объект не найден (ошибка 404), и не будет указана ошибка 403 (недостаточно прав).
Такая диагностика исключает передачу информации о существовании объектов с высоким уровнем конфиденциальности, перекрывая возможный канал утечки информации.
Проверить доступ к странице с
нулевой классификационной меткой http://client.astra.domain/html/0.html.
Доступ должен предоставляться:
- Выполнить на клиентском компьютере вход под в пользовательскую сессию с ненулевой классификационной меткой. При этом должны быть доступны обе страницы.