Введение
Ввод компьютера под управлением Astra Linux в домен Windows Active Directory или в домен Samba может быть выполнен двумя способами:
- С использованием инструментария sssd:
- графический инструмент fly-admin-ad-sssd-client;
- инструмент командной строки astra-ad-sssd-client;
-
С использованием инструментария winbind:
Инструментарий winbind устарел, не поддерживает полной функциональности и не рекомендуется к использованию. Рекомендованным инструментарием является sssd.
- графический инструмент fly-admin-ad-client;
- инструмент командной строки astra-winbind;
Далее рассматривается установка и использование этих инструментов. Рекомендованным способом ввода в домен является ввод с использованием sssd. Дополнительную информацию про winbind и sssd см. Сравнение winbind и sssd.
Операционная система Windows 2003 использует версию v1 протокола SMB (SMBv1) и не поддерживает протоколы SMBv2 и выше. В современных обновлениях Astra Linux использование версии протокола SMBv1 по умолчанию отключено, так как эта версия устарела и небезопасна. В качестве контроллера домена Windows AD рекомендуется использовать версии Windows поддерживающие протокол SMBv2. При невозможности обновления Windows для подключения к домену Windows 2003 следует использовать winbind, подробнее см. : Особенности ввода в домен Windows AD 2003.
Конфигурация стенда
Имя компьютера (hostname) | Операционная система | Роли компьютера | IP-адрес |
---|---|---|---|
dc01.example.com | Windows Server 2008R2 | Контроллер домена; DNS сервер | Статический (далее для примера используется IP-адрес 192.168.5.7) |
astra01 | Astra Linux Special Edition | Рабочая станция, член домена | Статический или динамически назначаемый IP-адрес |
Инструменты SSSD
Для ввода с помощью SSSD в домен Windows 2003 компьютера под управлением Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) без установленных оперативных обновлений или с установленным оперативным обновлением БЮЛЛЕТЕНЬ № 2021-1126SE17 (оперативное обновление 1.7.1) необходимо использовать пакет realmd_0.16.3-2+b1 или пакет realmd с более новой версией. В более поздних обновлениях нужный пакет входит в состав репозиториев, и отдельной установки не требует.
Для установки пакета:
- Скачать пакет с помощью web-браузера (по умолчанию пакет будет сохранен в каталоге Загрузки);
-
Установить пакет:
sudo apt install Загрузки/realmd_0.16.3-2+b1_amd64.deb
Установка пакетов
Установить графический инструмент fly-admin-ad-sssd-client можно используя графический менеджер пакетов synaptic или из командной строки командой:
sudo apt install fly-admin-ad-sssd-client
При установке графического инструмента будет автоматически установлен инструмент командной строки astra-ad-sssd-client.
После установки пакет доступен в графическом меню:
- в Astra Linux Special Edition 1.8: «Пуск» → «Параметры» → «Клиент и сервер» → «Настройка клиента SSSD Fly»;
- в более ранних обновлениях: «Пуск» → «Панель управления» → «Сеть» → «Настройка клиента SSSD Fly».
Для ввода компьютера Astra Linux в домен Active Directory:
- Запустить инструмент:
- После запуска инструмента указать:
- имя домена, к которому требуется подключиться;
- имя и пароль администратора домена;
- опционально — IP-адрес, который должен быть назначен клиенту (для Astra Linux Special Edition 1.8, в более ранних обновлениях назначение IP-адреса не поддерживается);
- нажать кнопку «Подключиться»:
Установка пакетов
Инструмент командной строки astra-ad-sssd-client автоматически устанавливается при установке графического инструмента fly-admin-ad-sssd-client. При необходимости работать в командной строке без использования графики инструмент может быть установлен отдельно:
sudo apt install astra-ad-sssd-client
- При вводе компьютера в домен с помощью astra-ad-sssd-client также будет настроен сервер samba. См. Samba.
- При вводе компьютера в домен с помощью astra-ad-sssd-client в файл /etc/hosts может быть добавлена запись, фиксирующая актуальный IP-адрес компьютера. Если для компьютера используется динамическое назначение адресов, то после завершения ввода компьютера в домен и перед перезагрузкой эту запись рекомендуется удалить.
Ввод компьютера в домен может быть выполнен командой:
sudo astra-ad-sssd-client -d example.com -u Администратор
где:
- -d example.com — указание имени домена;
- -u Администратор — указание имени администратора домена;
Примерный диалог при выполнении команды:
compname = astra01 domain = example.com username = admin введите пароль администратора домена: ok продолжать ? (y\N) y настройка сервисов... Завершено. Компьютер подключен к домену. Для продолжения работы, необходимо перезагрузить компьютер!
Для завершения подключения требуется перезагрузить компьютер:
sudo reboot
Подсказка по команде astra-ad-sssd-client:
sudo astra-ad-sssd-client -h Usage: astra-ad-sssd-client <ключи> ключи: -h,--help этот текст -d домен. если отсутствует, берется из hostname.resolv.conf -y отключает запрос подтверждения -i информация по текущему подключению -u логин администратора домена -n сервер времени. -px получает пароль администратора домена от внешнего сценария через перенаправление стандартного ввода (stdin) -p пароль администратора домена -U удаление --par <параметры> указать дополнительные параметры вручную (для realm) -fn, --fullnames использовать полные имена пользователей вида 'admin@domain.ru' (доступно при установке актуального оперативного обновления) -sn, --shortnames использовать короткие имена пользователей вида 'admin' (по умолчанию) (доступно при установке актуального оперативного обновления)
После перезагрузки проверить статус подключения можно следующими способами:
-
Получить билет Kerberos от имени администратора домена:
kinit admin@dc01.example.com
-
Проверить статус подключения:
sudo astra-ad-sssd-client -i
Примеры
Подключение к домену domain.net с именем администратора admin и (небезопасным!) указанием пароля администратора, без запроса подтверждения:
sudo astra-ad-sssd-client -d domain.net -u admin -p 12345678 -y
Подключение к домену domain.net с именем администратора admin и с использованием пароля администратора из файла /root/pass, без запроса подтверждения:
cat /root/pass | sudo astra-ad-sssd-client -d domain.net -u admin -px -y
Подключение к домену domain.net без запроса подтверждения:
sudo astra-ad-sssd-client -d domain.net -y
Получение информации о текущем домене
sudo astra-ad-sssd-client -i
Удаление данных подключения:
sudo astra-ad-sssd-client -U
Удаление компьютера из домена Windows AD
Для удаления компьютера из домена (удаление механизма авторизации) используйте команду:
sudo astra-ad-sssd-client -U
Автоматическое обновление пароля доменного компьютера в связке sssd+samba
Службы sssd и samba могут самостоятельно периодически обновлять пароль компьютера. На компьютерах, введенных в домен с помощью инструмента astra-ad-sssd-client, используется обновление пароля только службой sssd. Обновление пароля службой samba по умолчанию отключено в конфигурации этой службы. Обновление пароля службой samba недопустимо и ведет к невозможности работы компьютера в домене. При внесении изменений в конфигурацию службы samba для предотвращения включения обновления пароля необходимо соблюдать следующие требования:
-
параметр
kerberos method
должно иметь значениеsecrets and keytab
(это значение присваивается по умолчанию при вводе в домен):kerberos method = secrets and keytab
-
если параметру
kerberos method
присвоено иное значение, то должен быть задан параметрmachine password timeout
со значением0
:machine password timeout = 0
Особенности ввода в домены Windows AD 2008
При вводе компьютеров Astra Linux в домены Windows AD тип домена определяется автоматически. В соответствии с типом домена выбирается ПО для подключения. При работе со старыми версиями Windows AD (в частности, при работе с Windows AD 2008) автоматически выбираемое ПО может работать некорректно. В таких случаях для устранения ошибок ввода может потребоваться принудительно задать тип домена adcli (опция —par «-membership-software=adcli»). Пример команды:
sudo astra-ad-sssd-client -d <имя_домена> -u <имя_администратора_домена> —par «—membership-software=adcli»
Инструменты Winbind
Инструментарий winbind устарел, не поддерживает полной функциональности и не рекомендуется к использованию.
Графический инструмент fly-admin-ad-client
Установка пакетов
В Astra Linux присутствует графическая утилита для ввода компьютера в домен Active Directory с использованием winbind. Установить ее можно с помощью графического менеджера пакетов synaptic или из командной строки командой:
sudo apt install fly-admin-ad-client
При установке пакета fly-admin-ad-client будет автоматически установлен инструмент командной строки astra-winbind.
- Открыть «Панель управления»:
- Выбрать раздел «Сеть» → «Настройка клиента Active Directory»:
- Заполнить все поля и нажать кнопку «Подключиться»:
Для входа в систему доменным пользователем можно использовать формат имени доменного пользователя «username@example.com» или «EXAMPLE\username».
Инструмент командной строки astra-winbind
Установка пакетов
Инструмент командной строки astra-winbind автоматически устанавливается при установке графического инструмента fly-admin-ad-client. При необходимости работать в командной строке без использования графики инструмент может быть установлен отдельно:
sudo apt install astra-winbind
Ввод в домен с помощью astra-winbind
Операционная система Windows 2003 использует версию v1 протокола SMB (SMBv1) и не поддерживает протоколы SMBv2 выше. В современных обновлениях Astra Linux использование версии протокола SMBv1 по-умолчанию отключено, так как эта версия устарела и небезопасна. В качестве контроллера домена рекомендуется Windows AD использовать версии Windows поддерживающие протокол SMBv2. При невозможности обновления Windows для подключения к домену Windows 2003 следует использовать winbind, подробнее про процедуру см.: Особенности ввода в домен Windows AD 2003.
Ввод компьютера в домен может быть выполнен командой:
где:
- -dc dc01.example.com — указание контроллера домена;
- -u Администратор — указание имени администратора домена;
Подсказка по команде:
sudo astra-winbind -h Usage: astra-winbind <ключи> ключи: -h этот текст -dc имя контроллера домена. если FQDN, ключ -d можно опустить -d домен. если отсутствует, берется из файла /etc/resolv.conf -g группа. если отсутствует, берется из домена -n сервер времени. если нет, используется контроллер домена -y отключает запрос подтверждения -i информация по текущему подключению -u логин администратора домена -px получает пароль администратора домена из stdin -p пароль администратора домена (небезопасно) -s разрешить и запустить службу подключения к домену -S запретить и остановить службу подключения к домену -l вывести компьютер из домена примеры: полное имя контроллера домена и отключение запроса подтверждения astra-winbind -dc astra01.atws.as -u admin -p password -y сторонний сервер времени и запрос пароля в процессе astra-winbind -dc astra01 -d atws.as -n 192.168.5.7 -u admin передача пароля через stdin, домен ищется в resolv.conf echo | ./astra-winbind -dc astra01 -u admin -px -y информация о текущем домене astra-winbind -i
Особенности ввода в домены Windows AD 2003
При вводе в домен Windows AD 2003 первая попытка вода окончится неудачей. Для завершения процедуры ввода:
-
Сохранить копию созданного при первой попытке ввода в домен конфигурационного файла /etc/samba/smb.conf, например:
cp /etc/samba/smb.conf /tmp/smb.conf
-
Добавить в секцию [global] сохраненной копии параметр client min protocol = NT1:
sed -i -e ‘/^\[global\]/a client min protocol = NT1’ «/tmp/smb.conf»;
-
Выполнить ввод в домен используя модифицированный файл конфигурации:
sudo astra-winbind -dc dc01.example.com -u Администратор -y —par «—configfile=/tmp/smb.conf»
-
Заменить созданный при второй попытке ввода конфигурационный файл /etc/samba/smb.conf сохраненной модифицированной копией:
sudo mv /tmp/smb.conf /etc/samba/smb.conf
-
Перезагрузить компьютер:
sudo systemctl restart
Модератор: UncleFather
-
UncleFather
- Site Admin
- Сообщения: 1569
- Зарегистрирован: 17 авг 2004 16:20, Вт
- Контактная информация:
Astra Linux (Orel) 2.12. Подключение к домену AD
Задача:
Подключить Astra Linux (Orel) 2.12 к домену Microsoft Windows Active Directory.
Решение:
-
Устанавливаем пакет astra-ad-sssd-client:
-
Если домен Active Directory под управлением Windows Server 2003, то для подключения нужно указать использование ослабленного шифрования. Для этого в /etc/krb5.conf в конце раздела [libdefaults] (прямо перед началом раздела [realms]) прописываем:
Код: Выделить всё
[libdefaults] ... ... ... default_tgs_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 RC4-HMAC DES-CBC-CRC DES3-CBC-SHA1 DES-CBC-MD5 default_tkt_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 RC4-HMAC DES-CBC-CRC DES3-CBC-SHA1 DES-CBC-MD5 preferred_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 RC4-HMAC DES-CBC-CRC DES3-CBC-SHA1 DES-CBC-MD5 [realms]
-
Добавляем наш компьютер в домен с учетными данными администратора домена:
Код: Выделить всё
sudo astra-ad-sssd-client -d domain.local -u DomainAdmin -p Password -y
-
Перезагружаемся;
-
После перезагрузки в окне входа появится возможность загружаться под именем доменных пользователей.
Но первый раз загружаемся под локальным администратором для того, чтобы назначить права для пользователя домена, под которым будем работать на этом компьютере:Код: Выделить всё
usermod -a -G astra-admin,astra-console,root,user,sudo domainuser
Важно! Имя доменного пользователя в этой команде необходимо писать строчными (маленькими) буквами.
Подключение Astra Linux к домену Microsoft Windows с помощью astra-ad-sssd-client
Alexander A. Manaeff©
Понравилась статья? Будем крайне признательны за репосты в соцсетях! Материально поддержать проект можно здесь
sudo apt install resolvconf -y sudo tee -a /etc/network/interfaces << EOF auto eth0 iface eth0 inet static address x.x.x.x/y gateway x.x.x.x dns-namserves x.x.x.x dns-domain {{ defaults.domainadmin }} EOF sudo systemctl restart networking
sudo tee /etc/security/limits.d/90-fsize.conf 2&>/dev/null << EOF * hard fsize unlimited * soft fsize unlimited EOF sudo apt install astra-ad-sssd-client -y sudo astra-ad-sssd-client -y -d {{ server.domain }} -u {{ defaults.domainadmin }}
Rutoken 2fa
sudo apt install libccid pcscd libpcsclite1 pcsc-tools opensc libengine-pkcs11-openssl1.1 -y sudo apt install libnss3-tools krb5-pkinit libpam-krb5 -y
sudo cp rutoken_pub.key /etc/digsig/keys/ -v sudo update-initramfs -u -k all
sudo reboot
sudo apt install -f ./librtpkcs11ecp_2.17.1.0-1_amd64.deb sudo apt install -f ./ifd-rutokens_1.0.4_amd64.deb
sudo mkdir /etc/pki/nssdb -p sudo chmod 777 /etc/pki/nssdb sudo certutil -N -d /etc/pki/nssdb --empty-password sudo certutil -d /etc/pki/nssdb -A -n 'CA-ROOT-CERT' -t CT,CT,CT -a -i cacert.pem
sudo modutil -dbdir /etc/pki/nssdb -add "Rutoken PKCS11" -libfile librtpkcs11ecp.so #проверка: sudo certutil -L -d /etc/pki/nssdb -h all
sudo mkdir /etc/krb5/ sudo cp cacert.pem /etc/krb5/ -v
- | /etc/krb5.conf
-
[libdefaults] ... pkinit_anchors = FILE:/etc/krb5/cacert.pem pkinit_kdc_hostname = ipa.virt.int pkinit_eku_checking = kpServerAuth pkinit_identities = PKCS11:librtpkcs11ecp.so
- | /etc/sssd/sssd.conf
-
[pam] pam_cert_auth = True
- | /etc/pam.d/common-auth
-
auth [success=6 default=ignore] pam_krb5.so minimum_uid=2500 try_pkinit
- | /usr/share/pam-configs/krb5
-
Auth-Initial: [success=end default=ignore] pam_krb5.so minimum_uid=2500 try_pkinit
0
1
Проблема такова контролер домена работает на Windows server 2008 R2 с SMB V1. Первоначальные настройки сети произведены и контроллер пингуется. Файлы конфига прилагаю. Ошибка Failed to join domain: failed to lookup DC info for domain ‘GZHIRO.local’ over rpc: {Device Timeout} The specified I/O operation on %hs was not completed before the time-out period expired.
SMB.conf
#astra-winbind
[global]
server string = Astra linux
usershare allow guests = Yes
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd chat = Enter\snew\s\spassword:* %n\n Retype\snew\s\spassword:* %n\n password\supdated\ssuccessfully .
passwd program = /usr/bin/passwd %u
server role = standalone server
unix password sync = Yes
workgroup = GZHIRO
server min protocol = NT1
client min protocol = NT1
min protocol = NT1
realm = GZHIRO.LOCAL
security = ADS
encrypt passwords = true
dns proxy = no
socket options = TCP_NODELAY
domain master = no
local master = no
preferred master = no
os level = 0
domain logons = no
kerberos method = secrets and keytab
load printers = no
show add printer wizard = no
printcap name = /dev/null
disable spoolss = yes
idmap config * : range = 100000-199999
idmap config * : backend = tdb
idmap config GZHIRO.LOCAL : range = 200000-299999
idmap config GZHIRO.LOCAL : backend = rid
winbind nss info = rfc2307
winbind enum groups = no
winbind enum users = no
winbind use default domain = yes
template homedir = /home/%D/%U
template shell = /bin/bash
winbind refresh tickets = yes
winbind offline logon = yes
winbind cache time = 1440
password server 10
unix charset = UTF8
dos charset = CP866