Astra linux 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….то это скучная история.

    Читайте также:  Change permission in linux command

    Источник

    Установка

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

    • библиотека libccid
    • пакеты libpcsclite1 и pcscd;
    • opensc

    Для установки в терминале введите команду:

    sudo apt install libccid pcscd libpcsclite1 opensc libengine-pkcs11-openssl*

    Установка SafeNet Authentication Client

    SafeNet Authentication Client – это программный клиент, который позволяет взаимодействовать прикладному программному обеспечению с электронными ключами и смарт-картами eToken производства компании Gemalto. Помимо набора драйверов и интерфейсов для взаимодействия Safenet Authentication Client включает необходимый набор функций для организации локального администрирования электронных ключей и смарт-карт.

    Сам клиент следует загрузить с официального сайта Gemalto

    После загрузки клиента с офф. сайта, его следует установить. Для этого введите команду:

    sudo dpkg -i SafenetAuthenticationClient-amd64.deb

    Если при запуске SafeNet Authentication client возникает ошибка:

    CRYPTO/Crypto.c:247: init_openssl_crypto: Assertion lib failed.

    то для корректной работы, следует создать символическую ссылку на нужную библиотеку. Для этого в терминале, нужно ввести команду:

    Проверка работы eToken в системе

    Для проверки работы Etoken:

    Подключите устройство к компьютеру.

    Способ №1

    pkcs11-tool --module /usr/lib/libeToken.so -T

    Способ №2

    Выберите в Меню «Пуск» → «Прочие» → «SafeNet Authentication Сlient Tools» и подключите токен. После чего должна отобразиться информация о подключенном токене:

    Инициализация токена eToken

    Для инициализации токена необходимо воспользоваться утилитой pkcs11-tool.

    pkcs11-tool --login --init-token --label "eToken Astra" --init-pin 12345678 --module /usr/lib/libeToken.so

    —slot 0 — указывает в какой виртуальный слот подключено устройство. Как правило, это слот 0, но могут быть и другие значения – 1,2 и т.д.

    —init-token – команда инициализации токена.

    —pin — пин код пользователя.

    —label ‘eToken Astra’ — метка(название) устройства.

    —module — указывает путь до библиотеки eToken

    или в SafeNet Authentication Сlient Tools выбрать кнопку «инициализировать токен».

    Внимание! Инициализация устройства удалит все данные на eToken без возможности восстановления.

    Создание ключевой пары RSA

    Для генерации ключевой пары RSA в терминале следует ввести команду:

    pkcs11-tool —slot 0 —login —pin 12345678 —keypairgen —key-type rsa:2048 —id 16 —label «rsa key» —module /usr/lib/libeToken.so

    Создание самоподписанного сертификата

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

    engine dynamic -pre SO_PATH:/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:/usr/lib/libeToken.so

    после чего ввести команду:

    req -engine pkcs11 -new -key 0:16 -keyform engine -x509 -out test.pem -text

    В поле Common Name должно быть указано имя пользователя ОС.

    Загрузка сертификата на токен

    Создав свой личный сертификат, его следует загрузить на eToken.

    Перекодируем полученный сертификат из PEM в DER:

    pkcs11-tool —slot 0 —login —pin 12345678 —write-object test.cer —type ‘cert’ —label ‘Certificate’ —id 16 —module /usr/lib/libeToken.so

    (или с помощью графической утилиты SACTool)

    Проверка ключей и сертификатов в eToken:

    Локальная аутентификация в Astra Linux по eToken

    Установка дополнительный пакетов

    Пуск — Настройки — Менеджер пакетов

    через Быстрый фильтр или через поиск находим и отмечаем к установке следующие пакеты:

    либо воспользовавшись терминалом FLY:

    sudo apt-get install libp11-2 libpam-p11

    Конвертируем сертификат в текстовый формат

    openssl x509 -in .crt -out .pem -inform DER -outform PEM

    где — имя файла, в котором сохранен ваш сертификат из токена в текстовом формате

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

    mkdir ~/.eid
    chmod 0755 ~/.eid
    cat .pem >> ~/.eid/authorized_certificates
    chmod 0644 ~/.eid/authorized_certificates

    Для привязки токена к определенному пользователю необходимо указать его домашнюю директорию, например таким образом:

    mkdir /home/user/.eid
    chmod 0755 /home/user/.eid
    cat >> /home/user/.eid/authorized_certificates
    chmod 0644 /home/user/.eid/authorized_certificates

    Важно помнить, что при регистрации нескольких токенов на одном компьютере необходимо указывать пользователям раличные id.

    Настраиваем аутентификацию

    Пуск — утилиты — Терминал Fly

    sudo nano /usr/share/pam-configs/p11

    записываем в файл следующую информацию:

    Name: Pam_p11
    Default: yes
    Priority: 800
    Auth-Type: Primary
    Auth: sufficient pam_p11_opensc.so /usr/lib/libeToken.so

    сохраняем файл, нажимаем Alt + X, а затем Y
    после этого выполняем

    Вход по токену

    Пуск — утилиты — Терминал Fly

    Вход выполняется с подключенным токеном к компьютеру. В момент ввода пароля будет сообщено, что требуется .

    Источник

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

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

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

    После установки сервера необходимо установить пакет 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. ЗАЩИЩЕННЫЙ КОМПЛЕКС ПРОГРАММ ГИПЕРТЕКСТОВОЙ ОБРАБОТКИ ДАННЫХ.

    Источник

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