Astra Linux Special Edition версия 1.6
После установки сервера во время инсталляции системы его следует активировать и запустить:
Подсказка | ||
---|---|---|
| ||
systemctl enable apache2 |
Для работы сервера в составе домена (авторизация через Керберос) на сервере должна быть включена возможность аутентификации через Керберос, и сервер должен быть зарегистрирован в контроллере домена.
Для домена ALD сценарий может выглядеть так:
Подсказка | ||
---|---|---|
| ||
keytab="/etc/apache2/keytab" |
При этом в конфигурационном файле должны быть заданы параметры авторизации, например:
Подсказка | ||
---|---|---|
| ||
<VirtualHost *:80> ServerAdmin webmaster@localhost <Directory /var/www> AuthType Kerberos # Имя реалма Керберос - имя домена ЗАГЛАВНЫМИ буквами KrbAuthRealms <РЕАЛМ_КЕРБЕРОС> # Полное доменное имя сервера KrbServiceName HTTP/<полное_доменное_имя_сервера> # Имя файла, в котором сохранены ключи Krb5Keytab /etc/apache2/keytab </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 |
Минимальное содержимое таких файлов с конфигурациями виртуальных хостов выглядит следующим образом:
Подсказка | ||
---|---|---|
| ||
|
После окончания правки конфигурационных файлов необходимо перезапустить сервер командой:
панель | ||||||
---|---|---|---|---|---|---|
| ||||||
/etc/init.d/apache2 restart |
Предупреждение | ||
---|---|---|
| ||
Для обеспечения нормальной работы пользователя с сетевыми сервисами должны быть явно заданы диапазоны его мандатных уровней и категорий с помощью соответствующих утилит, даже если ему не доступны уровни и категории выше 0. |
Настройка авторизации
Если не настроена авторизация через Kerberos, по умолчанию для всех ресурсов будет использоваться авторизация через PAM
, при этом будет использоваться пользовательская БД, прописанная в настройках ОС. Логин и пароль пользователя будут передаваться от пользователя к серверу в открытом виде с использованием метода аутентификации Basic
. Для корректного функционирования авторизации через PAM
пользователю, от которого работает web-сервер (по умолчанию — www-data
), необходимо выдать права на чтение информации из БД пользователей и сведений о мандатных метках. Например, добавить права на чтение файла /etc/shadow:
панель | ||||
---|---|---|---|---|
| ||||
usermod -a -G shadow www-data |
и права на чтение каталога /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 для областей, требующих авторизации, указать:
Подсказка | ||
---|---|---|
| ||
|
создать в БД 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://
.