Оглавление |
---|
Информация | ||
---|---|---|
| ||
|
Аннотация
Для работы web-сервера в составе домена с использованием для аутентификации доменной службы (ALD или FreeIPA):
- Компьютер с web-сервером должен быть зарегистрирован в домене;
- Служба web-сервера должна быть зарегистрирована в домене;
Установка пакетов
Служба web-сервера apache2 представлена в Astra Linux пакетом apache2. При установке ОС пакет по умолчанию не устанавливается, но может быть быть установлен при выборе программного обеспечения во время установки ОС.
Информация | |||||
---|---|---|---|---|---|
Только для Astra Linux Special Edition:
|
Для использования аутентификации Kerberos дополнительно установить пакет libapache2-mod-auth-kerb, содержащий модуль аутентификации auth_kerb:
Command |
---|
sudo apt install libapache2-mod-auth-kerb |
Информация |
---|
При установке контроллера (реплики контроллера) домена FreeIPA служба apache2 будет установлена и настроена автоматически, однако настройка аутентификации Kerberos при этом не производится. |
Настройка конфигурации apache2
В конфигурационных файлах web-сайтов, доступ к которым предоставляется службой apache2, должны быть заданы параметры авторизации. Например, создадим файл /etc/apache2/sites-available/auth-kerberos.conf со следующим содержимым:
Блок кода |
---|
<VirtualHost *:81> 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 <РЕАЛМ_КЕРБЕРОС> # Имя доменной службы, предоставляемой сервером KrbServiceName HTTP/<полное_доменное_имя_сервера>сервера>сай # Имя файла, в котором сохранены ключи доменной службы Krb5Keytab /etc/apache2/keytab KrbMethodNegotiate on KrbMethodK5Passwd off require valid-user KrbSaveCredentials on </Directory> </VirtualHost> |
Особо можно выделить параметр KrbMethodK5Passwd: если его значение изменить на on, то при входе на web-сайт будут интерактивно запрашиваться имя и пароль для выполнения аутентификации Kerberos. Использование интерактивного ввода может быть удобно для проверки доступности сайта с помощью web-браузеров (настройка web-браузеров для работы с Kerberos в данной статье не рассматривается). Полное описание параметров настроки web-сайтов доступно в документации apache2.
Запретить использование web-сайта, устанавливаемого по умолчанию при установке apache2:
Command |
---|
sudo a2dissite 000-default.conf |
Разрешить использование созданного конфигурационного файла для предоставления доступа к web-сайту:
Command |
---|
sudo a2ensite auth-kerberos |
Создать каталог для документов web-сайта:
Command |
---|
sudo mkdir /var/www/html/auth-kerberos |
И создать в этом каталоге файл /var/www/html/auth-kerberos/index.html со страницей web-сайта:
Блок кода |
---|
<html>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">
|
Тестовая страница для проверки аутентификации Kerberos. Если вы видите этот текст, то аутентификация выполнена успешно. </div> </body> </html> |
Информация | ||
---|---|---|
Для того чтобы кириллица отображалась корректно добавить в файл /etc/apache2/apache2.conf параметр:
|
Информация | ||
---|---|---|
| ||
В файл /etc/apache2/apache2.conf установить параметр AstraMode в значение off:
|
После изменения конфигурации перезапустить службу apache2:
Command | ||
---|---|---|
| ||
sudo systemctl restart apache2 |
Настройка аутентификации Kerberos в домене FreeIPA
- На контроллере домена:
Получить права администратора домена:
Command kinit admin Зарегистрировать доменную службу
Command ipa service-add HTTP/
<полное_доменное_имя_web-сервера>
- На web-сервере:
Получить права администратора домена от имени суперпользователя:
Command sudo kinit admin Действуя от имени суперпользователя с правами администратора домена получить и сохранить таблицу ключей новой службы:
Command sudo ipa-getkeytab -s ipa0.ipadomain0.ru -k /etc/apache2/keytab -p HTTP/`hostname` Установить права доступа на файл с таблицей ключей:
Command sudo chown www-data:www-data /etc/apache2/keytab
Настройка аутентификации Kerberos в домене ALD
Для домена ALD сценарий настройки состоит такиз же операций, как сценарий для FreeIPA, и отличается только синтаксисом команд. Сценарий настройки для ALD может выглядеть так:
На контроллере домена:
Commandtip | ||||
---|---|---|---|---|
| keytab="/etc/apache2/keytab"||||
ald-admin service-add HTTP/`hostname`<полное_доменное_имя_web-сервера> |
На web-сервере:
Command | ||
---|---|---|
| ||
keytab="/etc/apache2/keytab" |
После изменения конфигурации перезапустить сервер:
Подсказка | ||
---|---|---|
| ||
systemctl restart apache2 |