Astra linux apache2 pam

Настройка PAM авторизации в защищенном Apache

Как уже упоминалось в одной из наших предыдущих заметок, в состав Astra Linux Special Edition входит защищенный комплекс программ гипертекстовой обработки данных.

В качестве веб-сервера туда включен Apache2, который доработан с целью улучшения безопасности. В данной заметке мы коротко опишем как настроить данный веб-сервер с использованием PAM авторизации.

aptitude install apache2 libapache2-mod-auth-pam
NameVirtualHost *:80 Listen 80
 ServerAdmin webmaster@localhost ServerName имясервера DocumentRoot /var/www/ AuthPAM_Enabled on AuthType Basic AuthName "PAM authentication" require valid-user Options Indexes FollowSymLinks MultiViews AllowOverride None ErrorLog /var/log/apache2/error.log LogLevel debug CustomLog /var/log/apache2/access.log common 
a2enmod auth_pam a2ensite имя_файла_конфигурации service apache2 reload
usermod -a -G shadow www-data 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
usermac -c 0:0 имя_пользователя_под_которым_будем_заходить

pam_apache_astra

  • Открываем браузер обращаемся по именисервера, который указали в конфигурационном файле виртуального хоста, и должны увидеть сперва окно с предложением ввести логи\пароль и после успешного ввода данных Вам откроется страница c текстом «It works!», как на картинке ниже:
  • На очереди рассказ про настройку kerberos авторизации. Stay tuned!

    P.S. Смотрите также нашу статью «Веб-приложения в защищённой среде» и вопросы посетителей, касающиеся Apache.

    39 комментариев

    Интересная заметка. Проверил, действительно работает. Значит ли это, что в качестве аутентификации можно использовать пользователей домена. И, есть ли возможность использовать эту аутентификацию на PHP?

    Пользователей ALD не получится использовать, по крайней мере без танцев с бубном, если нужно ходить ald’шными, то тут самое оно это керберосная авторизация….постараюсь написать в ближайшее время.
    Про php:
    1. Повторяем пункты из статьи
    2. aptitue install libapache2-mod-php5
    3. nano /var/www/test.php
    4. вводим, например:
    # test.php

    5. вводим в браузере имясервера/test.php
    6. профит P.S. А если имелся ввиду php-auth-pam….то это скучная история.

    Источник

    Настройка web-сервера на Astra Linux SE 1.5

    Web-сервер Apache2, входящий в состав Astra Linux SE 1.5 Smolensk, не допускает возможности анонимного использования ресурсов web-сервера и требует обязательной настройки авторизации пользователей.

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

    Читайте также:  Посмотреть таблицу mysql linux

    После установки сервера необходимо установить пакет libapache2-mod-auth-pam . После этого сервер настроен и готов к приему запросов на всех сетевых интерфейсах на 80 порту. Если по каким-то причинам он не работоспособен, следует проверить минимально необходимые настройки сервера.

    В файле /etc/apache2/ports.conf должны быть указаны параметры:

    NameVirtualHost *:80 Listen 80 

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

    В команде необходимо использовать только имя файла (без указания полного пути).

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

     ServerAdmin webmaster@localhost ServerName server.domain.name AuthPAM_Enabled on AuthType Basic AuthName "PAM authentication" require valid-user DocumentRoot /var/www/ Options Indexes FollowSymLinks MultiViews AllowOverride None ErrorLog /var/log/apache2/error.log LogLevel warn CustomLog /var/log/apache2/access.log combined 

    Если не настроена аутентификация через Kerberos, то для всех ресурсов должна использоваться аутентификация и авторизация через PAM, при этом будет использоваться пользовательская БД, прописанная в настройках ОС. Для выполнения аутентификации и авторизации через PAM должен быть установлен пакет libapache2-mod-auth-pam и выполнена следующая команда:

    Логин и пароль пользователя будут передаваться от пользователя к серверу в открытом виде с использованием метода аутентификации Basic.

    Для корректного функционирования авторизации через PAM пользователю, от которого работает web-сервер (по умолчанию — www-data ), необходимо выдать права на чтение информации из БД пользователей и сведений о мандатных метках:

    # usermod -a -G shadow www-data # 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 auth_kerb из пакета libapache2-mod-auth-kerb для аутентификации через Kerberos, нужно отключить его использование при помощи команды:

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

    ДОКУМЕНТАЦИЯ: ОПЕРАЦИОННАЯ СИСТЕМА СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ «ASTRA LINUX SPECIAL EDITION». Руководство администратора. Часть 1 (РУСБ.10015-01 95 01-1) Раздел 12. ЗАЩИЩЕННЫЙ КОМПЛЕКС ПРОГРАММ ГИПЕРТЕКСТОВОЙ ОБРАБОТКИ ДАННЫХ.

    Источник

    Настройка Apache2 в Astra Linux

    Сразу после установки сервер настроен и готов к приему запросов на всех сетевых интерфейсах на 80 порту. Если по каким-то причинам он не работоспособен, следует проверить минимально необходимые настройки сервера. В файле /etc/apache2/ports.conf должны быть указаны параметры:
    NameVirtualHost *:80
    Listen 80
    В каталоге /etc/apache2/sites-available должны находиться файлы с настройками виртуальных хостов и как минимум один из них должен быть разрешен к использованию командой:
    a2ensite config_filename
    Минимальное содержимое таких файлов с конфигурациями виртуальных хостов выглядит следующим образом:

    Читайте также:  Amd drivers linux debian

    ServerAdmin webmaster@localhost
    ServerName server.domain.name
    DocumentRoot /path/to/root/dir/

    Options Indexes FollowSymLinks MultiViews
    AllowOverride None

    ErrorLog /var/log/apache2/error.log
    LogLevel warn
    CustomLog /var/log/apache2/access.log combined

    После окончания правки конфигурационных файлов необходимо перезапустить сервер командой:
    /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 при помощи команды:
    • в конфигурационных файлах виртуальных хостов web-сервера Apache 2.2 для областей, требующих авторизации, указать:
    • создать в БД ALD с помощью утилиты администрирования ALD принципала, соответствующего настраиваемому web-серверу Apache. Принципал создается с автоматически сгенерированным случайным ключом:
    • ввести созданного принципала в группу сервисов mac, используя следующую команду:
    • создать файл ключа Kerberos для web-сервера Apache с помощью утилиты администрирования ALD ald-client, используя следующую команду:
    Читайте также:  Linux resolve dns to ip

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

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

    Источник

    Настройка связки Apache + PHP + ALD на Astra Linux SE 1.5

    В предыдущей статье была описана настройка ALD на Astra Linux SE 1.5, поэтому все шаги связанные с подготовкой ALD не будут описываться.

    Настройка Apache для аутентификации в домене

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

    Установим требуемый пакет:

    Отключим метод аутентификации PAM:

    Активируем метод Kerberos:

    Отредактируем конфигурационной файл основного сайта

    sudo nano -Y sh /etc/apache2/sites-available/default

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

    На сервере созданного принципала добавим в группу сервисов mac:

    Назначим владельцем файла системного пользователя www-data:

    Разрешим чтение остальным:

    Пробный первый вход на сайт. для этого включим логирование и попробуем.

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

    Повторяем попытку открытия и все работает! На этом настройка закончена, но настройки браузера придется повторить на всех используемых АРМ.

    Источник

    Оцените статью
    Adblock
    detector