Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.2)
- Astra Linux Special Edition РУСБ.10015-16 исп. 1 и исп. 2
- Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
- Astra Linux Common Edition 2.12
Аннотация
Для работы web-сервера в составе домена с использованием для аутентификации доменной службы (ALD или FreeIPA):
- Компьютер с web-сервером должен быть зарегистрирован в домене;
- Служба web-сервера должна быть зарегистрирована в домене;
Установка пакетов
Служба web-сервера apache2 представлена в Astra Linux пакетом apache2. При установке ОС пакет по умолчанию не устанавливается, но может быть быть установлен при выборе программного обеспечения во время установки ОС.
Только для Astra Linux Special Edition:
Если пакет устанавливался при установке ОС, то после запуска ОС и выполнения настроек следует вручную разрешить автоматический запуск службы после перезагрузки и запустить сллужбу:
systemctl start apache2
Для использования аутентификации Kerberos дополнительно установить пакет libapache2-mod-auth-kerb, содержащий модуль аутентификации auth_kerb:
Настройка конфигурации 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:
<html> <body> <div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;"> Тестовая страница для проверки аутентификации Kerberos. Если вы видите этот текст, то аутентификация выполнена успешно. </div> </body> </html>
Для того чтобы кириллица отображалась корректно добавить в файл /etc/apache2/apache2.conf параметр:
AddDefaultCharset UTF-8
Только для Astra Linux Special Edition:
В файл /etc/apache2/apache2.conf установить параметр AstraMode в значение off:
AstraMode off
После изменения конфигурации перезапустить службу apache2:
Настройка аутентификации Kerberos в домене FreeIPA
- На контроллере домена:
Получить права администратора домена:
kinit adminЗарегистрировать доменную службу
ipa service-add HTTP/<полное_доменное_имя_web-сервера>
- На web-сервере:
Получить права администратора домена от имени суперпользователя:
sudo kinit adminДействуя от имени суперпользователя с правами администратора домена получить и сохранить таблицу ключей новой службы:
sudo ipa-getkeytab -s ipa0.ipadomain0.ru -k /etc/apache2/keytab -p HTTP/`hostname`Установить права доступа на файл с таблицей ключей:
sudo chown www-data:www-data /etc/apache2/keytab
Настройка аутентификации Kerberos в домене ALD
Для домена ALD сценарий настройки состоит такиз же операций, как сценарий для FreeIPA, и отличается только синтаксисом команд. Сценарий настройки для ALD может выглядеть так:
На контроллере домена:
ald-admin sgroup-svc-add HTTP/<полное_доменное_имя_web-сервера> --sgroup=mac
На web-сервере:
ald-client update-svc-keytab HTTP/`hostname` --ktfile="$keytab"
chown www-data "$keytab"
chmod 644 "$keytab"
После изменения конфигурации перезапустить сервер: