Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление





Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)

  • Astra Linux Common Edition 2.12
Предупреждение

В репозиториях Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) пакет libapache2-mod-auth-ntlm-winbind отсутствует.




Информация

NTLM — встроенный в операционные системы семейства Microsoft Windows протокол сетевой аутентификации. Широко применяется в различных сервисах на их базе и используется версиями Microsoft Windows вплоть до Windows 10 включительно.

Предупреждение
С самого изобретения протоколы NTLMv1 и NTLMv2 подвергались множеству нападений и демонстрировали широкий спектр
серьёзных уязвимостей. Информация
titleДанная статья применима к:
  • ОС ОН Орёл 2.12
  • ОС СН Смоленск 1.6
    серьезных уязвимостей. В настоящее время рекомендуется использовать авторизацию через Kerberos.
    Также рекомендуется не использовать winbind, а ввод в домен выполнять с помощью sssd (см. Подключение Astra Linux к домену Microsoft Windows с помощью astra-ad-sssd-client). При работе с sssd используется Kerberos, протокол NTLM не поддерживается.



    Описание стенда

    • имеется настроенный контроллер домена Windows AD:
      • имя winserver.windom.ex;
      • адрес 10.0.2.20;
      • администратор домена:
        • имя administrator;
        • пароль 1234567890;
      • доменный клиент:
        • winuser@windom.ex;
        • пароль 0987654321;
    • WEBweb-сервер Astra Linux.

    Ввод в домен

    Действия выполняются на WEBweb-сервере. Ввод в домен выполняется с помощью инструмента astra-winbind. Порядок действий:

    1. Перед вводом в домен настроить разрешение имён имен на использование контроллера DNS в качестве сервера DNS;
    2. Установить пакеты:

      Command
      sudo apt install astra-winbind


    3. Ввести компьютер в домен Windows AD:

      Command
      sudo astra-winbind -dc winserver.windom.ex -u adminisrator


    Создание тестового сайта

    Для создания тестового сайта использовался сценарий из статьи про инструмен управления Служба мониторинга ИБП APC apcupsd:

    Информация
    При работе в Astra Linux Special Edition с включенным мандатным управлением доступом (МРД) в файле /etc/apache2/apache2.conf установить параметру Astra Mode значение off.


    Command
    sudo apt install apcupsd apcupsd-cgi apache2
    sudo a2enmod cgi
    sudo systemctl restart apache2
    firefox localhost/cgi-bin/apcupsd/multimon.cgi &

    В результате выполнения сценария будет открыто оконо WEB-браузера запущен web-браузер firefox со статусом страницей статуса ИБП (если ИБП не подключен или не обнаружен - то с соответствующим сообщением об ошибке, не влияющем на использование сайта в качестве примера).

    Настройка

    авторизации

    аутентификации с помощью пакета libapache2-mod-auth-ntlm-winbind

    Установка пакета

    1. Подключить репозиторий DebianЗагрузить пакет с модулем аутентификации:

      Command
      cat << EOT | sudo tee -a /etc/apt/sources.list
      deb [trusted=yes]

      wget http://

      deb

      ftp.de.debian.org/debian/pool/

      stretch main contrib non-free
      EOT
      sudo apt update

      main/a/apache-mod-auth-ntlm-winbind/libapache2-mod-auth-ntlm-winbind_0.0.0.lorikeet+svn+801-4_amd64.deb


    2. Установить загруженный пакет с модулем аутентификации

      Установить пакет с модулем авторизации

      :

      Command
      sudo apt install ./libapache2-mod-auth-ntlm-winbind_0.0.0.lorikeet+svn+801-4_amd64.deb


    3. Загрузить установленный модуль

      авторизации

      аутентификации:

      Command
      sudo a2enmod auth_ntlm_winbind


    4. Добавить пользователя www-data в группу winbindd_priv:

      Command
      sudo usermod -a -G winbindd_priv www-data


    5. Назначить группу winbindd_priv владельцем каталога /var/lib/samba/winbindd_privileged/pipe:

      Command
      sudo chgrp winbindd_priv /var/lib/samba/winbindd_privileged/pipe


    6. Перезапустить службу apache2:

      Command
      sudo systemctl restart apache2


    Проверка работы

    авторизации

    аутентификации

    1. Для первичной проверки можно использовать базовую версию протокола

    авторизаци
    1. аутентификации, указав

    имя
    1. имена домена и пользователя

    , разделённые символом разделителя домена samba (в примере - симовол "\", принятый по умолчанию)
    1. и пароль пользователя:

    info
    1. Command
    title
    1. Title
    /usr/bin/
    1. ntlm_auth --protocol=squid-
    -helper
    1. 2.5-ntlmssp --domain=<имя_домена> --username=<имя_доменного_пользователя> --password=<пароль>
      NT_STATUS_OK: The operation completed successfully. (0x0)

      Повторить команду с несуществующим именем пользователя, что должно привести к ошибке:

      Command
      Titlentlm_auth --protocol=squid-2.
    4-basicwindom.ex\winuser 0987654321
    OK
    windom.ex\baduser 0987654321
    ERR
    1. 5-ntlmssp --domain=<имя_домена> --username=<имя_несуществующего_пользователя> --password=<пароль>
      NT_STATUS_NO_SUCH_USER: The specified account does not exist. (0xc0000064)


    2. Аналогичным образом выполнить проверку аутентификации с использованием протокола NTLM:

      Command
      ntlm_auth --protocol=squid-2.5-ntlmssp --domain=<имя_домена> --username=<имя_доменного_пользователя> --password=<пароль>

      и

      Command
      ntlm_auth --protocol=squid-2.5-ntlmssp --domain=<имя_домена> --username=<имя_несуществующего_пользователя> --password=<пароль>


    Включение требования аутентификации на тестовом web-сайте

    1. Создать файл с параметрами локации, в которой находится созданный web-сайт:

    В первом случае указан существующий пользователь, во втором - несуществующий пользователь baduser.

    Включение требования авторизации на тестовом WEB-сайте
    1. Command
      cat << EOT | sudo tee /etc/apache2/conf-enabled/apcupsd.conf
      <Location /cgi-bin/apcupsd/>
      AuthType NTLM
      NTLMAuth on
      NTLMAuthHelper "/usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp"
      Require valid-user
    le winuser

    1. </Location>
      EOT


    2. Перезапустить службу apache2:

      Command
      sudo systemctl restart apache2


    3. Открыть web-сайт в браузере:

      Command
      firefox localhost/cgi-bin/apcupsd/multimon.cgi

      При открытии web-сайта будут запрошены имя и пароль пользователя. Для успешной аутентификации следует использовать полное доменное имя пользователя.