Настройка МРД с kerberos аутентификацией (GSS), PHP#

Исходные данные#

Имеется сервер контроллера домена FreeIPA:

  • имя домена astra.aaa

  • администратор домена admin@astra.aaa

  • пользователь домена user-01@astra.aaa

  • имя сервера dc-01.astra.aaa

Веб-сервер данных располагается отдельно:

  • имя сервера websrv-01.astra.aaa

  • сервер должен быть введен в домен

  • сервер имеет постоянный IP-адрес, например, 192.168.1.21

Настройка операционной системы#

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

Ввод в домен Freeipa#

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

Установка и настройка веб-сервера Apache2#

Для установки и настройки веб-сервера Apache2 необходимо:

Пункт 1#

  • установить пакет аpache2:

sudo apt install apache2

Пункт 2#

  • установить пакет, модуля аутентификации через Kerberos для службы apache2.

sudo apt install libapache2-mod-auth-gssapi

Предупреждение

Пакет libapache2-mod-auth-kerb удален из репозитория

Пункт 3#

  • в файле конфигурации apache2, находящемуся по пути /etc/apache2/apache2.conf, включить МРД и использование полного имени пользователя:

AstraMode on
IncludeRealm on

Пункт 4#

  • разместить, ранее полученный, файл с таблицей ключей по пути /etc/apache2/websrv-01.keytab.

Пункт 5#

  • проверить таблицу ключей:

sudo kinit "HTTP/werbsrv-01.astra.aaa@ASTRA.AAA" -V -k -t /etc/apache2/websrv-01.keytab
  • сравнить вывод проверки ключей с ниже написанным кодом:

administrator@websrv-01:~$ kinit "HTTP/websrv-01.astra.aaa@ASTRA.AAA" -V -k -t /etc/apache2/http.keytab
Using default cache: persistent:1001:1001
Using principal: HTTP/websrv-01.astra.aaa@ASTRA.AAA
Using keytab: /etc/apache2/http.keytab
Authenticated to Kerberos v5

Пункт 6#

  • установить права доступа к файлу:

sudo chown www-data:www-data /etc/apache2/websrv-01.keytab
sudo chmod 644 /etc/apache2/websrv-01.keytab

Пункт 7#

  • в конфигурацию виртуального хоста virtualhost, в файле /etc/apache2/sites-available/000-default.conf внести изменения:

AstraAudit on
AstraMode on
IncludeRealm on
ChildCapabilitiesParsec none

 <VirtualHost *:80>

     # Основные настройки виртуального хоста
     ServerAdmin webmaster@site.com                          # Доменное имя сервера
     ServerName websrv-01.astra.aaa
     DocumentRoot /var/www/public_html                # Корневая директория проекта

     <Directory /var/www/public_html>
         # Настройки Kerberos-аутентификации
         AuthType GSSAPI                                     # Тип аутентификации - Kerberos/GSSAPI
         AuthName "Kerberos Login"                           # Название зоны аутентификации
         GssapiCredStore keytab:/etc/apache2/websrv03.keytab # Путь к keytab-файлу
         GssapiDelegCcacheDir /gss_cache                     # Директория для делегированных креденшиалов
         GssapiLocalName On                                  # Включает преобразование имени (удаляет доменную часть)
         Require valid-user                                  # Требуется аутентифицированный пользователь
     </Directory>

     # Настройки логирования
     LogLevel debug                                          # Подробный уровень логирования

     ErrorLog ${APACHE_LOG_DIR}/error.log                    # Лог ошибок
     CustomLog ${APACHE_LOG_DIR}/access.log combined         # Лог доступа
 </VirtualHost>

Пункт 8#

  • перезапустить службу apache2:

sudo systemctl restart apache2