Содержание

Перейти к концу метаданных
Переход к началу метаданных

Astra Linux Special Edition версия 1.6

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

systemctl enable apache2
systemctl start apache2

Для работы сервера в составе домена (авторизация через Керберос) на сервере должна быть включена возможность аутентификации через Керберос, и сервер должен быть зарегистрирован в контроллере домена.

Для домена ALD сценарий может выглядеть так:

keytab="/etc/apache2/keytab"
a2enmod auth_kerb
ald-admin service-add HTTP/`hostname`
ald-admin sgroup-svc-add HTTP/`hostname` --sgroup=mac
ald-client update-svc-keytab HTTP/`hostname` --ktfile="$keytab"
chown www-data "$keytab"
chmod 644 "$keytab"
systemctl restart apache2

При этом в конфигурационном файле должны быть заданы параметры авторизации, например:

<VirtualHost *:80>

ServerAdmin webmaster@localhost
DocumentRoot /var/www
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /var/www>

AuthType Kerberos

# Имя реалма Керберос - имя домена ЗАГЛАВНЫМИ буквами

KrbAuthRealms <РЕАЛМ_КЕРБЕРОС>

# Полное доменное имя сервера

KrbServiceName HTTP/<полное_доменное_имя_сервера>

# Имя файла, в котором сохранены ключи

Krb5Keytab /etc/apache2/keytab
KrbMethodNegotiate on
KrbMethodK5Passwd off
require valid-user
KrbSaveCredentials on

</Directory>

</VirtualHost>

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

systemctl restart apache2

Astra Linux Special Edition версия 1.2

Настройка web-сервера

Сразу после установки сервер настроен и готов к приему запросов на всех сетевых интерфейсах на 80 порту. Если по каким-то причинам он не работоспособен, следует проверить минимально необходимые настройки сервера. В файле /etc/apache2/ports.conf должны быть указаны параметры:

NameVirtualHost *:80
Listen 80

В каталоге /etc/apache2/sites-available должны находиться файлы с настройками виртуальных хостов и как минимум один из них должен быть разрешен к использованию командой:

a2ensite config_filename

Минимальное содержимое таких файлов с конфигурациями виртуальных хостов выглядит следующим образом:

<VirtualHost *:80>

ServerAdmin webmaster@localhost

ServerName server.domain.name

DocumentRoot /path/to/root/dir/

<Directory /path/to/root/dir/>

Options Indexes FollowSymLinks MultiViews

AllowOverride None

</Directory>

ErrorLog /var/log/apache2/error.log

LogLevel warn

CustomLog /var/log/apache2/access.log combine

</VirtualHost>

После окончания правки конфигурационных файлов необходимо перезапустить сервер командой:

/etc/init.d/apache2 restart

Внимание

Для обеспечения нормальной работы пользователя с сетевыми сервисами должны быть явно заданы диапазоны его мандатных уровней и категорий с помощью соответствующих утилит, даже если ему не доступны уровни и категории выше 0.

Настройка авторизации

Если не настроена авторизация через Kerberos, по умолчанию для всех ресурсов будет использоваться авторизация через PAM, при этом будет использоваться пользовательская БД, прописанная в настройках ОС. Логин и пароль пользователя будут передаваться от пользователя к серверу в открытом виде с использованием метода аутентификации Basic. Для корректного функционирования авторизации через PAM пользователю, от которого работает web-сервер (по умолчанию — www-data), необходимо выдать права на чтение информации из БД пользователей и сведений о мандатных метках. Например, добавить права на чтение файла /etc/shadow:

usermod -a -G shadow www-data

и права на чтение каталога /etc/parsec/macdb:

setfacl -d -m u:www-data:r /etc/parsec/macdb

setfacl -R -m u:www-data:r /etc/parsec/macdb

setfacl -m u:www-data:rx /etc/parsec/macdb

Настройка web-сервера Apache2 в ALD

Для обеспечения совместной работы web-сервера Apache 2.2 с ALD необходимо:

– наличие в системе, на которой функционирует web-сервер, установленного пакета клиента ALD — ald-client; – разрешение имен должно быть настроено таким образом, чтобы имя системы разрешалось, в первую очередь, как полное имя (например, myserver.example.ru); – клиент ALD должен быть настроен на используемый ALD домен; – в системе должен быть установлен модуль web-сервера Apache 2.2 auth_kerb из пакета libapache2-mod-auth-kerb.

Наличие модуля web-сервера Apache 2.2 auth_kerb предоставляет возможность организации совместной работы с ALD с использованием для аутентификации пользователей посредством Kerberos метода GSSAPI. Для проведения операций по настройке ALD и администрированию Kerberos необходимо знание паролей администраторов ALD и Kerberos. Для обеспечения возможности работы web-сервера Apache 2.2 с ALD необходимо:

активировать модуль web-сервера Apache 2.2 auth_kerb при помощи команды:

a2enmod auth_kerb

в конфигурационных файлах виртуальных хостов web-сервера Apache 2.2 для областей, требующих авторизации, указать:

AuthType Kerberos

KrbAuthRealms REALM

KrbServiceName HTTP/server.my_domain.org

Krb5Keytab /etc/apache2/keytab

KrbMethodNegotiate on

KrbMethodK5Passwd off

require valid-user

создать в БД ALD с помощью утилиты администрирования ALD принципала, соответствующего настраиваемому web-серверу Apache. Принципал создается с автоматически сгенерированным случайным ключом:

ald-admin service-add HTTP/server.my_domain.org

ввести созданного принципала в группу сервисов mac, используя следующую команду:

ald-admin sgroup-svc-add HTTP/server.my_domain.org --sgroup=mac

создать файл ключа Kerberos для web-сервера Apache с помощью утилиты администрирования ALD ald-client, используя следующую команду:

ald-client update-svc-keytab HTTP/server.my_domain.org --ktfile="/etc/apache2/keytab"

Полученный файл должен быть доступен web-серверу Apache по пути, указанному в конфигурационном параметре Krb5Keytab (в данном случае — /etc/apache2/keytab). Права доступа к этому файлу должны позволять читать его пользователю, от имени которого работает web-сервер Apache (как правило, владельцем файла назначается пользователь www-data);

сменить владельца полученного на предыдущем шаге файла keytab на пользователя www-data, выполнив следующую команду:

chown www-data /etc/apache2/keytab

сделать файл /etc/apache2/keytab доступным на чтение для остальных пользователей:

chmod 644 /etc/apache2/keytab

перезапустить web-сервер Apache, выполнив команду:

/etc/init.d/apache2 restart

Браузер пользователя должен поддерживать аутентификацию negotiate. В последних версиях браузера Konqueror данная поддержка присутствует автоматически. В браузере Mozilla Firefox в настройках, доступных по адресу about:config, необходимо указать, для каких серверов доступна аутентификация negotiate. Для выполнения данной настройки необходимо задать маски доменов или в общем случае http- и https- соединения в качестве значений параметра network.negotiate-auth.trusted-uris, вставив, например, значение http://, https://.