Предупреждение |
---|
Статья не проверена и не опубликована |
Оглавление |
---|
Информация | |||
---|---|---|---|
| |||
|
Информация | ||
---|---|---|
NTLM — встроенный в операционные системы семейства Microsoft Windows протокол сетевой аутентификации. Широко применяется в различных сервисах на их базе и используется версиями Microsoft Windows вплоть до Windows 10 включительно.
|
Описание стенда
- имеется настроенный контроллер домена Windows AD:
- имя winserver.windom.ex;
- адрес 10.0.2.20;
- администратор домена:
- имя administrator;
- пароль 1234567890;
- доменный клиент:
- winuser@windom.ex;
- пароль 0987654321;
- web-сервер Astra Linux.
Ввод в домен
Действия выполняются на web-сервере. Ввод в домен выполняется с помощью инструмента astra-winbind. Порядок действий:
- Перед вводом в домен настроить разрешение имён имен на использование контроллера DNS в качестве сервера DNS;
Установить пакеты:
Command sudo apt install astra-winbind Ввести компьютер в домен 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-браузера браузер firefox со статусом страницей статуса ИБП (если ИБП не подключен или не обнаружен - то с соответствующим сообщением об ошибке, не влияющем на использование сайта в качестве примера).
Настройка
авторизацииаутентификации с помощью пакета libapache2-mod-auth-ntlm-winbind
Установка пакета
Подключить репозиторий DebianЗагрузить пакет с модулем аутентификации:
Command cat << EOT | sudo tee -a /etc/apt/sources.list
deb [trusted=yes]wget http://
debftp.de.debian.org/debian/pool/
stretch main contrib non-free
EOT
sudo apt updateУстановить загруженный пакет с модулем аутентификацииУстановить пакет с модулем авторизации:
Command sudo apt install ./libapache2-mod-auth-ntlm-winbind_0.0.0.lorikeet+svn+801-4_amd64.deb Загрузить установленный модуль авторизацииаутентификации:
Command sudo a2enmod auth_ntlm_winbind Добавить пользователя www-data в группу winbindd_priv:
Command sudo usermod -a -G winbindd_priv www-data Назначить группу winbindd_priv владельцем каталога /var/lib/samba/winbindd_privileged/pipe:
Command sudo chgrp winbindd_priv /var/lib/samba/winbindd_privileged/pipe Перезапустить службу apache2:
Command sudo systemctl restart apache2
Проверка работы
авторизацииаутентификации
Для первичной проверки можно использовать базовую версию протокола
аутентификации, указав
имена домена и пользователя
и пароль пользователя:
Command
Title
ntlm_auth --protocol=squid-2.5-ntlmssp --domain=<имя_домена> -
-username=<имя_доменного_пользователя> --password=<пароль> NT_STATUS_OK: The operation completed successfully. (0x0) Повторить команду с несуществующим именем пользователя, что должно привести к ошибке:
Command Title ntlm_auth --protocol=squid-2.
OK
windom.ex\baduser 0987654321
ERR
5-ntlmssp --domain=<имя_домена> --username=<имя_несуществующего_пользователя> --password=<пароль> NT_STATUS_NO_SUCH_USER: The specified account does not exist. (0xc0000064) Аналогичным образом выполнить проверку аутентификации с использованием протокола NTLM:
Command ntlm_auth --protocol=squid-2.5-ntlmssp --domain=<имя_домена> --username=<имя_доменного_пользователя> --password=<пароль> и
Command ntlm_auth --protocol=squid-2.5-ntlmssp --domain=<имя_домена> --username=<имя_несуществующего_пользователя> --password=<пароль>
Включение требования аутентификации
В первом случае указан существующий пользователь, во втором - несуществующий пользователь baduser.
Включение требования авторизациина тестовом web-сайте
Создать файл с параметрами локации, в которой находится созданный web-сайт:
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
</Location>
EOTПерезапустить службу apache2:
Command sudo systemctl restart apache2 Открыть web-сайт в браузере:
Command firefox localhost/cgi-bin/apcupsd/multimon.cgi При открытии web-сайта будут запрошены имя и пароль пользователя. Для успешной аутентификации следует использовать полное доменное имя пользователя.