Оглавление |
---|
Информация | ||
---|---|---|
| ||
Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10 |
Настройка web-сервера
На компьютере - web-сервере Apache2 (часть 1)
Предупреждение |
---|
В ОС Astra Linux Special Edition все действия должны выполняться от имени в сессии администратора домена или локального администратора (при включенном МКЦ - от имени администратора с высоким уровнем целостности). |
Установить пакеты:
- astra-freeipa-client — пакеты для ввода компьютера в домен;
- apache2 — служба Apache2;
- 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/client.astra.domain@ASTRA.DOMAIN
Действуя от имени администратора домена получитьПолучить от контроллера домена FreeIPA таблицу ключей (keytab):
Таблица ключей будет сохранена в домашнем каталоге.Command /usr/sbin/ipa-getkeytab -p HTTPp HTTP/client.astra.domain@ASTRA.DOMAIN -k /tmp~/http.keytab
Полученный файл с таблицей ключей /tmp/ http.keytab скопировать на web-сервер в каталог /etc/apache2/.
На компьютере - web-сервере Apache2 (Часть 2)
Скопировать таблицу ключей (файл /tmp/http.keytab) с контроллера домена на web-сервер в каталогПредполагается, что таблица ключей размещена в файле /etc/apache2/http.keytab.
Установить права доступа к файлу с таблицей ключей:
Command sudo chown www-data /etc/apache2/http.keytab
sudo chmod 644 /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 ASTRAKrbAuthRealms 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 3:0:0xffffffffffffffff:ccnr /var/www/
sudo pdpl-file 3:0:0xffffffffffffffff: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. Доступ должен предоставляться:
- Выполнить на клиентском компьютере вход под в пользовательскую сессию с ненулевой классификационной меткой. При этом должны быть доступны обе страницы.