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

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление


Информация
titleДанная статья применима к:
  • 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:
Если пакет устанавливался при установке ОС, то после запуска ОС и выполнения настроек следует вручную разрешить автоматический запуск службы после перезагрузки и запустить сллужбу:

Command
iconfalse

systemctl enable apache2
systemctl start apache2


Для использования аутентификации 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;">
Test Page for Kerberos Auth
Тестовая страница для проверки аутентификации Kerberos.
Если вы видите этот текст, то аутентификация выполнена успешно.
</div>
</body>
</html>


Информация

Для того чтобы кириллица отображалась корректно добавить в файл /etc/apache2/apache2.conf параметр:

Блок кода
AddDefaultCharset UTF-8



Информация
titleТолько для Astra Linux Special Edition:

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

Блок кода
AstraMode off


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

Command
iconfalse

sudo systemctl restart apache2


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

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

      Command
      kinit admin


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

      Command
      ipa service-add HTTP/
web.ipadomain0.ru
    1. <полное_доменное_имя_web-сервера>


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

      Command
      sudo kinit admin


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

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


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

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


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

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

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

keytab="/etc/apache2/keytab"
a2enmod auth_kerb
Commandtip
iconfalse

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

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

Command
iconfalse

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


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

systemctl restart apache2