Дерево страниц

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 19 Следующий »

Данная статья применима к:

  • 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):

  1. Компьютер с web-сервером должен быть зарегистрирован в домене;
  2. Служба web-сервера должна быть зарегистрирована в домене;

Установка пакетов

Служба web-сервера apache2 представлена в Astra Linux пакетом apache2. При установке ОС пакет по умолчанию не устанавливается, но может быть быть установлен при выборе программного обеспечения во время установки ОС.

Только для Astra Linux Special Edition:
Если пакет устанавливался при установке ОС, то после запуска ОС и выполнения настроек следует вручную разрешить автоматический запуск службы после перезагрузки и запустить сллужбу:

systemctl enable apache2
systemctl start apache2

Для использования аутентификации Kerberos дополнительно установить пакет libapache2-mod-auth-kerb, содержащий модуль аутентификации auth_kerb:

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:

sudo a2dissite 000-default.conf
Разрешить использование созданного конфигурационного файла для предоставления доступа к web-сайту:
sudo a2ensite auth-kerberos
Создать каталог для документов web-сайта:
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 параметр:

AddDefaultCharset UTF-8


Только для Astra Linux Special Edition:

В файл /etc/apache2/apache2.conf установить параметр AstraMode в значение off:

AstraMode off

После изменения конфигурации перезапустить службу apache2:

sudo systemctl restart apache2

Настройка аутентификации Kerberos в домене FreeIPA

  1. На контроллере домена:
    1. Получить права администратора домена:

      kinit admin

    2. Зарегистрировать доменную службу

      ipa service-add HTTP/<полное_доменное_имя_web-сервера>

  2. На web-сервере:
    1. Получить права администратора домена от имени суперпользователя:

      sudo kinit admin

    2. Действуя от имени суперпользователя с правами администратора домена получить и сохранить таблицу ключей новой службы:

      sudo ipa-getkeytab -s ipa0.ipadomain0.ru -k /etc/apache2/keytab -p HTTP/`hostname`

    3. Установить права доступа на файл с таблицей ключей:

      sudo chown www-data:www-data /etc/apache2/keytab

Настройка аутентификации Kerberos в домене ALD

Для домена ALD сценарий настройки состоит такиз же операций, как сценарий для FreeIPA, и отличается только синтаксисом команд. Сценарий настройки для ALD может выглядеть так:

На контроллере домена:

ald-admin service-add HTTP/<полное_доменное_имя_web-сервера>
ald-admin sgroup-svc-add HTTP/<полное_доменное_имя_web-сервера> --sgroup=mac

На web-сервере:

keytab="/etc/apache2/keytab"
ald-client update-svc-keytab HTTP/`hostname` --ktfile="$keytab"
chown www-data "$keytab"
chmod 644 "$keytab"


После изменения конфигурации перезапустить сервер:

systemctl restart apache2

  • Нет меток