Настройка Apache2
Данная статья применима к:
- ОС ОН Орёл 2.12;
- ОС СН Смоленск 1.6;
- ОС СН Ленинград 8.1.
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
При этом в конфигурационном файле должны быть заданы параметры авторизации, например:
ServerAdmin webmaster@localhost
DocumentRoot /var/www
ErrorLog $
CustomLog $
# Имя реалма Керберос — имя домена ЗАГЛАВНЫМИ буквами
# Полное доменное имя сервера
# Имя файла, в котором сохранены ключи
Krb5Keytab /etc/apache2/keytab
KrbMethodNegotiate on
KrbMethodK5Passwd off
require valid-user
KrbSaveCredentials on
После изменения конфигурации не забудьте перезапустить сервер:
systemctl restart apache2
Astra Linux Special Edition версия 1.2
Настройка web-сервера
Сразу после установки сервер настроен и готов к приему запросов на всех сетевых интерфейсах на 80 порту. Если по каким-то причинам он не работоспособен, следует проверить минимально необходимые настройки сервера. В файле /etc/apache2/ports.conf должны быть указаны параметры:
В каталоге /etc/apache2/sites-available должны находиться файлы с настройками виртуальных хостов и как минимум один из них должен быть разрешен к использованию командой:
Минимальное содержимое таких файлов с конфигурациями виртуальных хостов выглядит следующим образом:
Options Indexes FollowSymLinks MultiViews
CustomLog /var/log/apache2/access.log combine
После окончания правки конфигурационных файлов необходимо перезапустить сервер командой:
Настройка авторизации
Если не настроена авторизация через Kerberos, по умолчанию для всех ресурсов будет использоваться авторизация через PAM , при этом будет использоваться пользовательская БД, прописанная в настройках ОС. Логин и пароль пользователя будут передаваться от пользователя к серверу в открытом виде с использованием метода аутентификации Basic . Для корректного функционирования авторизации через PAM пользователю, от которого работает web-сервер (по умолчанию — www-data ), необходимо выдать права на чтение информации из БД пользователей и сведений о метках безопасности. Например, добавить права на чтение файла /etc/shadow:
и права на чтение каталога /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 при помощи команды:
в конфигурационных файлах виртуальных хостов web-сервера Apache 2.2 для областей, требующих авторизации, указать:
создать в БД ALD с помощью утилиты администрирования ALD принципала, соответствующего настраиваемому web-серверу Apache. Принципал создается с автоматически сгенерированным случайным ключом:
ввести созданного принципала в группу сервисов mac, используя следующую команду:
создать файл ключа Kerberos для web-сервера Apache с помощью утилиты администрирования ALD ald-client, используя следующую команду:
Полученный файл должен быть доступен web-серверу Apache по пути, указанному в конфигурационном параметре Krb5Keytab (в данном случае — /etc/apache2/keytab ). Права доступа к этому файлу должны позволять читать его пользователю, от имени которого работает web-сервер Apache (как правило, владельцем файла назначается пользователь www-data);
сменить владельца полученного на предыдущем шаге файла keytab на пользователя www-data, выполнив следующую команду:
сделать файл /etc/apache2/keytab доступным на чтение для остальных пользователей:
перезапустить web-сервер Apache, выполнив команду:
Настройка PAM авторизации в защищенном Apache
Как уже упоминалось в одной из наших предыдущих заметок, в состав Astra Linux Special Edition входит защищенный комплекс программ гипертекстовой обработки данных, в качестве веб-сервера туда включен Apache2, который доработан с целью улучшения безопасности. В данной заметке мы коротко опишем как настроить данный веб-сервер с использованием PAM авторизации.
- Ставим пакеты
- Проверяем, что в файле /etc/apache2/ports.conf содержатся следующие строки (если конечно Вы собираетесь использовать стандартный 80, а не какой-нибудь другой порт):
- Создаем конфигурацию виртуального хоста (в примере сайтик из одной стандартной страницы It works!):
- Включаем PAM авторизацию и наш виртуальный хост:
- Для корректного функционирования авторизации через PAM пользователю, от которого работает веб-сервер (по-умолчанию — www-data), необходимо выдать права на чтение информации из БД пользователей и сведений о мандатных метках, для этого выполняем следующие команды:
- Затем для пользователя под которым будем заходить, выполняем команду настройки (по-сути просто сбрасываем в 0) минимальный и максимальный наборы мандатных категорий (мы их и не настраивали):
- Открываем браузер обращаемся по именисервера, который указали в конфигурационном файле виртуального хоста, и должны увидеть сперва окно с предложением ввести логи\пароль и после успешного ввода данных Вам откроется страница c текстом «It works!», как на картинке ниже:
На очереди рассказ про настройку kerberos авторизации. Stay tuned!
Смотрите также нашу статью «Веб-приложения в защищённой среде» и вопросы посетителей, касающиеся Apache.
Похожие статьи
ГосJava 2020.1
Изменения по сравнению с версией 2019.4.1 Java Runtime Environment Импортированы исправления из OpenJDK 8u242. Закрыты уязвимости: CVE-2020-2604: Механизм сериализации. CVE-2020-2583: Механизм сериализации. CVE-2020-2659: Обработка UDP-пакетов. CVE-2020-2593: Нормализация URL. CVE-2020-2601: Реализация.
Фестиваль установки российских ОС
Впервые в Санкт-Петербургском государственном электротехническом университете «ЛЭТИ» состоялся фестиваль по установке российских операционных систем (RusLinuxInstallFest). Фестиваль прошел при поддержке объединения компаний-разработчиков программного обеспечения России РУССОФТ. Открыл мероприятие директор департамента образования.
ГосJava: JavaFX
Добрый день, друзья! По запросам наших клиентов, начиная с версии ГосJava 2019.4, мы предлагаем вариант поставки с библиотекой JavaFX. На сегодня доступны версии JavaFX для Astra Linux Special Edition 1.5.
38 Comments
Интересная заметка. Проверил, действительно работает. Значит ли это, что в качестве аутентификации можно использовать пользователей домена. И, есть ли возможность использовать эту аутентификацию на PHP?
Пользователей ALD не получится использовать, по крайней мере без танцев с бубном, если нужно ходить ald’шными, то тут самое оно это керберосная авторизация… постараюсь написать в ближайшее время.
Про php:
1. Повторяем пункты из статьи
2. aptitue install libapache2-mod-php5
3. nano /var/www/test.php
4. вводим, например:
# test. php
5. вводим в браузере имясервера/test.php
6. профит
А если имелся ввиду php-auth-pam…то это скучная история.
Здравствуйте.
Какие репозитории используются? libapache2-mod-php5 нет на диске с astra linux se 1.4
Проверил, в наличии (пакетlibapache2-mod-php55.4.4−2astra2_amd64.deb)
А можно ли выключить авторизацию вообще или проводить авторизацию по ip адресам, а не используя парольную защиту.
Настройка Apache2 в Смоленск 1.2
Данная статья применима к:
Сразу после установки сервер настроен и готов к приему запросов на всех сетевых интерфейсах на 80 порту. Если по каким-то причинам он не работоспособен, следует проверить минимально необходимые настройки сервера. В файле /etc/apache2/ports.conf должны быть указаны параметры:
В каталоге /etc/apache2/sites-available должны находиться файлы с настройками виртуальных хостов и как минимум один из них должен быть разрешен к использованию командой:
Минимальное содержимое таких файлов с конфигурациями виртуальных хостов выглядит следующим образом:
Options Indexes FollowSymLinks MultiViews
CustomLog /var/log/apache2/access.log combine
После окончания правки конфигурационных файлов необходимо перезапустить сервер командой:
Настройка авторизации
Если не настроена авторизация через Kerberos, по умолчанию для всех ресурсов будет использоваться авторизация через PAM , при этом будет использоваться пользовательская БД, прописанная в настройках ОС. Логин и пароль пользователя будут передаваться от пользователя к серверу в открытом виде с использованием метода аутентификации Basic . Для корректного функционирования авторизации через PAM пользователю, от которого работает web-сервер (по умолчанию — www-data ), необходимо выдать права на чтение информации из БД пользователей и сведений о метках безопасности. Например, добавить права на чтение файла /etc/shadow:
и права на чтение каталога /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 при помощи команды:
в конфигурационных файлах виртуальных хостов web-сервера Apache 2.2 для областей, требующих авторизации, указать:
создать в БД ALD с помощью утилиты администрирования ALD принципала, соответствующего настраиваемому web-серверу Apache. Принципал создается с автоматически сгенерированным случайным ключом:
ввести созданного принципала в группу сервисов mac, используя следующую команду:
создать файл ключа Kerberos для web-сервера Apache с помощью утилиты администрирования ALD ald-client, используя следующую команду:
Полученный файл должен быть доступен web-серверу Apache по пути, указанному в конфигурационном параметре Krb5Keytab (в данном случае — /etc/apache2/keytab ). Права доступа к этому файлу должны позволять читать его пользователю, от имени которого работает web-сервер Apache (как правило, владельцем файла назначается пользователь www-data);
сменить владельца полученного на предыдущем шаге файла keytab на пользователя www-data, выполнив следующую команду:
сделать файл /etc/apache2/keytab доступным на чтение для остальных пользователей:
перезапустить web-сервер Apache, выполнив команду:
Установка apache astra linux
Данную инструкцию можно использовать для любой операционной системы Linux на основе Debian.
Подготовка сервера
Заходим в систему под суперпользователем:
Настраиваем сеть. В Astra Linux это делается также как и в Ubuntu:
auto eth0
iface lo inet eth0
dns-nameservers 192.168.0.1 192.168.0.2
* В данном примере мы настроили сетевой интерфейс eth0 (задали IP-адрес 192.168.0.15 маску 255.255.255.0 и шлюз по умолчанию 192.168.0.1)
Для применения настроек необходимо перезапустить сетевую службу:
# service networking restart |
В Astra Linux по умолчанию не настроены репозитории для установки пакетов, поэтому необходимо это сделать:
deb ftp://ftp.astra-linux.com/astra/current/orel/repository orel main contrib non-free
* Эта строчка подключает официальный репозиторий Astra Linux.
Теперь нужно обновить список пакетов и обновить систему:
# apt-get update && apt-get upgrade && apt-get dist-upgrade |
Установим sshd для возможности удаленного управления нашим сервером:
# apt-get install openssh-server |
Для синхронизации времени установим пакет ntpdate, синхронизируем время и настроим автоматическое задание:
# apt-get install ntpdate
# ntpdate ru.pool.ntp.org
# mkdir -p /var/cron/tabs && echo ‘0 0 * * * /usr/sbin/ntpdate ru.pool.ntp.org’ >> /var/cron/tabs/crontab && crontab /var/cron/tabs/crontab && crontab -l
Установка и настройка Nginx, PHP, MySQL
Устанавливаем пакет mysql-server:
# apt-get install mysql-server |
* Во время установки будет предложено ввести новый пароль для mysql-записи root
В официальных репозиториях Astra Linux нет Nginx, поэтому подключим официальный от nginx inc.:
deb http://nginx.org/packages/debian/ wheezy nginx
* wheezy соответствует 7-й версии Debian. У вас может быть другая версия. Будьте внимательны.
Для успешного получения списка пакетов от нового репозитория, добавляем в систему PGP-ключ:
# wget http://nginx.org/keys/nginx_signing.key # apt-key add nginx_signing.key |
Теперь можем обновлять список пакетов и устанавливать веб-сервер nginx:
# apt-get update
# apt-get install nginx
Демон запускается автоматически. Попробуйте открыть браузер и ввести IP-адрес сервера. Вы должны увидеть приветствие от Nginx.
Устанавливаем php и php-интерпретатор:
# apt-get install php5 php5-fpm
В Astra Linux по умолчанию nginx работает от учетной записи nginx, а php-fpm — от www-data. В результате этого при попытке использовать веб-сервер с php-скриптами мы получим ошибку. Для решения этой проблемы необходимо поменять пользователя, от которого будет работать либо nginx, либо php-fpm. В данном примере, nginx:
* самая первая строчка — меняем nginx на www-data.
Настраиваем виртуальный домен для нового сайта:
# vi /etc/nginx/conf.d/site.local.conf |