Введение
Ввод компьютера под управлением Astra Linux в домен Windows Active Directory или в домен Samba может быть выполнен двумя способами:
- С использованием инструментария winbind:
- графический инструмент fly-admin-ad-client;
- инструмент командной строки astra-winbind;
- С использованием инструментария sssd:
- графический инструмент fly-admin-ad-sssd-client;
- инструмент командной строки astra-ad-sssd-client;
Далее рассматривается установка и использование этих инструментов. Рекомендации по выбору одного из двух способов ввода в домен не входят в задачи данной статьи. Дополнительную информацию про 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-адрес |
Настройка системных часов и сетевых подключений
Для успешного ввода Astra Linux в домен AD на вводимой машине перед вводом в домен необходимо:
- Обеспечить синхронизацию часов на контроллере домене и вводимом компьютере (см. Службы синхронизации времени в Astra Linux);
- Указать IP-адрес DNS-сервера. таким образом, чтобы разрешалось имя контроллера домена. Обычно в качестве адреса DNS-сервера используется IP-адреса самого контроллера домена. Подробнее про настройку сети см. Настройка сетевых подключений в Astra Linux.
Установка пакетов
В Astra Linux присутствует графическая утилита для ввода компьютера в домен Active Directory. Установить ее можно Графический менеджер пакетов synaptic или из командной строки командой:
sudo apt install fly-admin-ad-client
При установке пакета fly-admin-ad-client будет автоматически установлен инструмент командной строки astra-winbind.
- Открыть «Панель управления»:
- Выбрать раздел «Сеть» → «Настройка клиента Active Directory»:
- Заполнить все поля и нажать кнопку «Подключиться»:
Для входа в систему доменным пользователем можно использовать формат имени доменного пользователя «username@example.com» или «EXAMPLEusername».
Для ввода с помощью 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.
После установки пакет доступен в графическом меню: «Пуск» — «Панель управления» — «Сеть» — «Настройка клиента SSSD Fly».
Для ввода компьютера Astra Linux в домен Active Directory нужно запустить инструмент, после запуска инструмента указать имя домена, имя и пароль администратора и нажать кнопку «Подключиться»:
Инструмент командной строки 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.
Ввод компьютера в домен может быть выполнен командой:
sudo astra-winbind -dc dc01.example.com -u Администратор
где:
- -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»;
-
Выполнить ввод в домен используя модифицированный файл конфигурации:
astra-winbind -dc astra-w2003.ad2.loc -u admin -p 1 -y —par «–configfile=/tmp/smb.conf»
-
Заменить созданный при второй попытке ввода конфигурационный файл /etc/samba/smb.conf сохраненной модифицированной копией:
sudo mv /tmp/smb.conf /etc/samba/smb.conf
-
Перезагрузить компьютер:
sudo systemctl restart
Установка пакетов
Инструмент командной строки astra-ad-sssd-client автоматически устанавливается при установке графического инструмента fly-admin-ad-sssd-client. При необходимости работать в командной строке без использования графики инструмент может быть установлен отдельно:
sudo apt install astra-ad-sssd-client
При вводе компьютера в домен с помощью astra-ad-sssd-client также будет настроен сервер samba. См. Samba.
Ввод компьютера в домен может быть выполнен командой:
sudo astra-ad-sssd-client -d example.com -u Администратор
где:
- -d example.com — указание имени домена;
- -u Администратор — указание имени администратора домена;
Примерный диалог при выполнении команды:
compname = astra01 domain = example.com username = admin введите пароль администратора домена: ok продолжать ? (yN) 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 указать параметры вручную
После перезагрузки проверить статус подключения можно следующими способами:
-
Получить билет 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
Для удаления компьютера из домена (удаление механизма авторизации) используйте команду:
sudo astra-ad-sssd-client -U
Содержание
- Основные способы ввода ПК в домен Windows AD
- Основные ошибки при вводе клиента в домен Windows AD
- Ошибка «Failed to join domain: failed to lookup DC info for domain ‘win.ad’ over rpc: The attempted logon is invalid. This is either due to a bad username or authentication information.»
- Ошибка: «Failed to join domain: Invalid configuration («workgroup» set to ‘ASTRA’, should be ‘WIN’) and configuration modification was not requested»
- Ошибка: «Failed to join domain: Failed to set account flags for machine account (NT_STATUS_ACCESS_DENIED)»
- Проблема с авторизацией после ввода в домен
- Конфликтующие модули в pam-стеке (winbind и sssd)
- Исправление параметров в файле /etc/krb5.conf при использовании winbind
- Ошибка «Проблема установки» при использовании sssd
- Ошибка: «Your account has been locked. Please contact your System administrator»
- Ошибка «Не могу войти в домашний каталог. Временный каталог будет использован»
- ПК вводится в домен, но не создаются и не обновляются DNS записи при использовании sssd
- Astra linux started authorization manager
- Host Names
- Наличие соединения
- Синхронизация времени
- Брандмауэры
- Проверка модели устройства
- Astra linux started authorization manager
- 1 Доустанавливаем необходимые пакеты с диска
- 2 Добавляем библиотеку librtpkcs11ecp.so
- 3 Проверяем что Рутокен ЭЦП работает в системе
- 4 Считываем сертификат
- Ввод Astra Linux SE 1.5 в AD Windows и настройка SSO
- Ввод Astra Linux в домен Windows
- Разблокирование суперпользователя (root)
- Настройка сети
- Установка требуемых пакетов
- Настройка конфигурационных файлов
- Настройка Apache и Postgresql на работу с Kerberos
Основные способы ввода ПК в домен Windows AD
Графический инструмент fly-admin-ad-client (ввод в домен с использованием winbind): Быстрый ввод Astra Linux в AD Windows
Инструмент командной строки astra-ad-sssd-client (ввод в домен с использованием SSSD): Подключение Astra Linux к домену Microsoft Windows с помощью astra-ad-sssd-client
Основные ошибки при вводе клиента в домен Windows AD
Ошибка «Failed to join domain: failed to lookup DC info for domain ‘win.ad’ over rpc: The attempted logon is invalid. This is either due to a bad username or authentication information.»
Причина: в команде ввода в домен неправильно указано имя администратора домена или пароль:
- Указанный пользователь не имеет необходимых прав;
- В файле /etc/resolv.conf указаны неверные данные, либо данные отсутствуют;
- Неправильно указаны данные (например, после смостоятельного внесения изменений) в файле /etc/nsswitch.conf.
- Использовать правильный логин или пароль, а также проверить вход от имени администратора домена;
- При настройке сети указать правильные данные сервера (серверов) DNS и правильный поисковый домен;
- Вернуть файл /etc/nsswitch.conf к исходному состоянию.
Ошибка: «Failed to join domain: Invalid configuration («workgroup» set to ‘ASTRA’, should be ‘WIN’) and configuration modification was not requested»
Причина: неправильно указано имя рабочей группы (NetBIOS).
Решение: указать правильное имя рабочей группы (NetBIOS).
Ошибка: «Failed to join domain: Failed to set account flags for machine account (NT_STATUS_ACCESS_DENIED)»
Причина: в команде ввода в домен указано имя компьютера уже испольованное в домене AD (например, имя другого ПК).
- Изменить имя компьютера, вводимого в домен:
- Изменить имя ПК в файле /etc/hosts и в файле /etc/hostname;
- Перезагрузить ПК;
- повторить ввод в домен AD;
- Удалить ненужные записи в контроллере домена.
Проблема с авторизацией после ввода в домен
Вход в домен не выпоняется, записи об ошибках входа в журналах отсутствуют, возмжно появление на экране входа сообщения «Ошибка входа».
Причина: не синхронизировано время контроллера домена и клиента.
Решение: проверить синхронизацию времени с контроллером домена AD, для чего выполнить команду:
net time set -S winserv.win.ad
Дополнительно проверить синхронизацию времени с контроллером домена AD, если нет информации об ошибке. В /var/log/auth.log отображается следующее:
Основные ошибки при работе с доменом Windows AD в ОС Astra Linux > image2021-7-2_14-15-9.png» data-location=»Справочный центр > Основные ошибки при работе с доменом Windows AD в ОС Astra Linux > image2021-7-2_14-15-9.png» data-image-height=»31″ data-image-width=»1100″>
Конфликтующие модули в pam-стеке (winbind и sssd)
На экране авторизации отображается ошибка «Вход неудачен». В файлах журналов отсутствует информация о попытке входа доменным пользователем, однако в /var/log/auth.log содержатся сообщения вида:
Причина: одновременное использование пакетов winbind и sssd.
Решение: использовать только пакеты winbind или только sssd. Для удаления ненужного пакета выполнить команду:
Для удаления пакета sssd:
sudo apt purge *sss*
или для удаления пакета winbind:
sudo apt purge *winbind*
Если в дальнейшем будет использоваться пакет winbind, то выполнить команду:
где в появившемся окне снять чек-бокс с модуля sss authentication:
Основные ошибки при работе с доменом Windows AD в ОС Astra Linux > image2021-7-2_14-17-17.png» data-location=»Справочный центр > Основные ошибки при работе с доменом Windows AD в ОС Astra Linux > image2021-7-2_14-17-17.png» data-image-height=»524″ data-image-width=»840″>
См. также следующий раздел «Исправление параметров в файле /etc/krb5.conf при использовании winbind»
Исправление параметров в файле /etc/krb5.conf при использовании winbind
Если иные способы не помогают, то при проблемах с входом пользователя можно попробовать д обавить в файл /etc/krb5.conf в секцию [realms] следующие параметры:
Вместо «@WINDOMAIN.AD» и «@windomain.ad» указать свой домен:
Основные ошибки при работе с доменом Windows AD в ОС Astra Linux > image2021-7-2_14-20-19.png» data-location=»Справочный центр > Основные ошибки при работе с доменом Windows AD в ОС Astra Linux > image2021-7-2_14-20-19.png» data-image-height=»153″ data-image-width=»658″>
Если после изменения файла /etc/krb5.conf возникает ошибка входа, необходимо проверить правильность написания параметров.
Ошибка «Проблема установки» при использовании sssd
Причина: ошибка «проблема установки» может возникать, если раннее ПК был введен в домен AD с использованием winbind.
Решение: выполнить следующие команды:
sudo apt purge *winbind*
sudo astra-ad-sssd-client -U -y
После чего перезагрузить ПК и повторить ввод в домен AD.
Ошибка: «Your account has been locked. Please contact your System administrator»
Причина: пользователь заблокирован на контроллере домена AD.
Решение: разблокировать доменного пользователя на контроллере домена AD.
Ошибка «Не могу войти в домашний каталог. Временный каталог будет использован»
Причина: компьютер ранее вводился в домен разными способами (winbind или sssd).
Проверить настройку PAM-стека;
Временно перенести папку .fly из домашнего каталога проблемного пользователя в любое удобное место;
При использовании Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) установить обновление БЮЛЛЕТЕНЬ № 20210611SE16 (оперативное обновление 7), где исправлена данная ошибка.
ПК вводится в домен, но не создаются и не обновляются DNS записи при использовании sssd
Причина: для динамического обновления записей DNS необходима утилита nsupdate, которая содержится в пакете dnsutils, не устанавливаемом по умолчанию.
Источник
Центральной частью схемы аутентификации Kerberos является третья доверенная сторона — Key Distribution Center (KDC), которая является централизованным хранилищем информации о пользователях. Перед разворачиванием Kerberos, должен быть выбран сервер, который будет выполнять роль KDC. Физическая и сетевая безопасность критичны для этого сервера, так как его компрометация ведет к компрометации всего realm.
Выбор хорошего имени для realm так же важен. По правилам, имя realm это доменное имя сайта в верхнем регистре. Например, для сайта или доменной зоны example.com рекомендуется выбрать EXAMPLE.COM в качестве имени realm.
Все серверы и клиенты, которые входят в realm Kerberos должны иметь возможность взаимодействовать между собой. Время между устройствами в realm должно быть синхронизовано. Далее описано как этого добиться.
Host Names
Каждый сервер внутри Kerberos realm должен иметь Fully Qualified Domain Name (FQDN).
Kerberos так же ожидает, что FQDN сервера является reverse-resolvable. Если выяснение доменного имени по IP недоступно, то установите значение переменной rdns в значение false на клиентах в файле krb5.conf.
Active Directory сильно зависит от DNS, поэтому весьма вероятно что ваш Active Directory Domain Controller уже имеет роль DNS. В этом случае убедитесь в том, что каждый сервер имеет свое FQDN перед выполнением тестов, описанных ниже в этом разделе.
Если сервер уже имеет назначенное FQDN, проверьте корректность обнаружения forward и reverse выполнив на клиенте следующие команды:
Если вы используете Astra Linux (или другой дистрибутив), то для установки программы nslookup, вам необходимо установить пакет dnsutils.
Вы можете воспользоваться Synaptic Package Manager или выполнить из командной строки $ apt-get install dnsutils
Вывод первой команды должен содержать IP адрес сервера. Вывод второй команды должен содержать FQDN сервера.
Если у сервера нет назначенного FQDN и сервис DNS не доступен, то вы можете отредактировать локальные файлы hosts (обычно они находятся в /etc) на сервере добавив туда следующую строку:
А на каждом клиенте добавить строку
Где IP-address — это IP адрес сервера. В нашем примере это будет 10.0.0.1.
После этого проверьте работу локальных DNS имен используя команду nslookup как показано выше.
Наличие соединения
Для проверки соединения между хостами, выполните ping для каждого хоста по его FQDN:
Вывод команды ping показывает успешное определение IP адреса по FQDN, и простой ответ от сервера. Ответ от сервера является подтверждением того, что между хостом и сервером есть соединение.
Проблемы при работе ping указывают на проблемы настройки сервера или клиента.
Синхронизация времени
Протокол Kerberos требует синхронизации времени сервера и клиента: если системные часы клиентов и сервера расходятся, то аутентификация не будет выполнена. Простейший способ синхронизировать системные часы — использование Network Time Protocol (NTP) сервера. Некоторый линуксы, например, Astra Linux по-умолчанию синхронизирует время с российскими NTP-серверами. Для настройки собственного NTP-сервера смотрите документацию на ваш дистрибутив (например, UbuntuTime для Ubuntu).
Брандмауэры
Так же как и все остальные сетевые службы, Kerberos должен иметь возможность проходить через любые брандмауэры между хостами. Инструкция Kerberos System Administration Manual имеет детальное описание портов, которые необходимо открыть при настройке брандмауэров.
Проверка модели устройства
- Подключите USB-токен к компьютеру.
- Для определения названия модели USB-токена откройте Терминал и введите команду:
В результате в окне Терминала отобразится название модели USB-токена:
Убедитесь, что используете: Aktiv Rutoken ECP
Источник
Astra linux started authorization manager
В результате в окне Терминала отобразится название модели USB-токена:
Убедитесь, что используете: Aktiv Rutoken ECP
1 Доустанавливаем необходимые пакеты с диска
Пуск — Настройки — Менеджер пакетов
через Быстрый фильтр или через поиск находим и отмечаем к установке следующие пакеты:
- libccid
- pcscd
- libpam-p11
- libpam-pkcs11
- libp11-2
- libengine-pkcs11-openssl
- opensc
В Astra Linux SE 1.6 pkcs11 libengine-pkcs11-openssl версии 1.0.2 не совместим с библиотекой librtpkcs11ecp.so. Для корректного функционирования, следует скачать и установить п одписанный пакет libengine-pkcs11-openssl1.1 версии 0.4.4-4 для Смоленска 1.6:
2 Добавляем библиотеку librtpkcs11ecp.so
Загружаем библиотеку через браузер.
Для 64-битной системы используйте ссылку:
Для 32-битной системы используйте ссылку:
или через консоль
Пуск — Утилиты — Терминал Fly
Для 64-битной системы используйте:
Для 32-битной системы используйте:
Копируем в системную папку.
Для 32- и 64-битной системы используйте:
3 Проверяем что Рутокен ЭЦП работает в системе
Пуск — утилиты — Терминал Fly
В случае если увидите вот такую строку, значит все хорошо.
4 Считываем сертификат
Проверяем что на устройстве есть сертификат
Пуск — утилиты — Терминал Fly
Если после строчки
нет ничего, значит устройство пустое. Обратитесь к администратору или создайте ключи и сертификат самостоятельно следуя пункту 4.1
Если после строчки
выводится информация о ключах и сертификатах то необходимо считать сертификат
вместо нужно подставить ID который вы увидите в выводе команды
Источник
Описание процесса настройки Astra Linux для ввода в домен Windows. Настройка SAMBA, Winbind, Apache и Postgresql.
Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5)
Напоминаем о том, что перед вводом клиента в AD или ALD необходимо корректно настроить сеть.
Ввод Astra Linux в домен Windows
Исходные данные:
Разблокирование суперпользователя (root)
Для более удобной работы разблокируем учётную запись root:
По завершении настроек учётную запись root необходимо заблокировать!
Настройка сети
В начало файла /etc/hosts добавить строки:
Строку с 127.0.1.1 ws3 удалить.
Убедиться, что в файле /etc/hostname правильно указано имя машины:
Назначим статический ip-адрес. В файл /etc/network/interfaces добавить строки:
Создать файл /etc/resolv.conf и добавить строки:
Перезапустим сетевую службу:
Установка требуемых пакетов
Проверить установлены ли samba, winbind, ntp, apache2 и postgresql:
Настройка конфигурационных файлов
Редактируем файл /etc/krb5.conf и добавляем недостающую информацию в соответствующие разделы:
Редактируем файл /etc/samba/smb.conf. Если каких-то параметров нет, то добавляем:
Если в дальнейшем будет изменятся конфигурационный файл samba, обязательно требуется очистка каталогов /var/cache/samba/* и /var/lib/samba/*
Проверим, нет ли ошибок в конфигурации samba, выполнив команду:
Редактируем файл /etc/security/limits.conf. Добавляем в конец:
Редактируем файл /etc/pam.d/common-session. Добавляем в конец:
Настройка Apache и Postgresql на работу с Kerberos
Редактируем файл /etc/apache2/sites-available/default. Настраиваем директорию на использование Kerberos:
Принципал, задаваемый параметром KrbServiceName, должен быть в файле таблицы ключей /etc/krb5.keytab. Проверить можно командой:
Редактируем файл /etc/postgresql/9.4/main/pg_hba.conf:
Назначим права для пользователя postgres, от имени которого работает Postgresql, для доступа к macdb и к файлу таблицы ключей:
Источник
Описание стенда
Сервер:
ОС: Windows server 2019
доменное имя: server,astradomain.ad
Клиент:
ОС: РЕД ОС Астра Линукс ALT Linux Ubuntu
доменное имя: redos.astradomain.ad smolensk.astradomain.ad orel.astradomain.ad ubuntu.astradomain.ad
Настройка сервера
Установка сервиса Active Directory
Измените имя сервера, если это необходимо. Его можно задать в окне менеджера сервера:
Добавим службу Active Dirrectory и DNS на сервер. Для этого откроем окно добавления ролей в менеджере сервера:
В окне для выбора сервисов установим галочки «Active Directory Domain Services» и «DNS Server»:
Во всех остальных пунктах даем согласие на установку.
После завершения установки сервисов вам надо перейти к настройке домена. Для этого откройте меню уведомлений и выберите пункт «Promote this server to a domain controller»:
На первой вкладке укажите опцию для создания нового домена и укажите его название:
Введите пароль сброса:
На следующей вкладке оставляем все как есть., т.к. наш сервер сам является DNS сервером:
На следующих трёх вкладках также оставляем все как есть:
Перед запуском процесса установки ознакомимся с уведомлениями об ошибках.. И если необходимо, устраняем возникшие проблемы. В нашем случае уведомления не являются критичными:
После установки Active Directory сервер перезагрузится. Если настройка прошла успешно, то нас попросят войти в аккаунт на этот раз доменного пользователя:
Добавление новых пользователей:
Откроем утилиту управления пользователями и компьютерами домена:
Для удобства можно создать отдельную дирректорию Domain Users, где будем создавать доменных пользователей:
Добавим нового пользователя user:
Аналогичным образом добавьте остальных пользователей, которые должны быть в домене.
Установка центра сертификации Active Directory:
Установите драйверы для работы с Рутокеном на сервер. Их можно получить тут. После этого можно приступить к настройке центра сертификации и выдачи сертификатов для пользователей. Это можно сделать по данной инструкции. Настройку авторизации с помощью сертификатов можно воспроизвести по этой инструкции.
Для пользоватей Linux
Для аутентификации пользователей через linux машины. Помимо токенов с ключами и сертификатов пользователей, вам также необходимо направить им корневой сертификат УЦ.
Его можно получить здесь:
Настройка клиента Linux
Настройка подключения к домену
Astra Linux Smolensk
Для Astra Linux Smolensk чтобы подключиться к домену (не настраивая двухфакторную аутентификацию), можно воспользоваться следующей инструкцией.
Если во время выполнения инструкции панель «Настройки клиента Active Directory» не будет запускаться, то введите в командной строке следующую команду:
Она предоставит пользователю root доступ к графическому интерфейсу среды.
В первую очередь настроим подключение к домену. Это можно сделать с помощью следующей последовательности команд:
######################################################### ############## Меняем доменное имя клиента ############## ######################################################### # Меняем имя клиента в нашем домене astradomain.ad на client sudo hostnamectl set-hostname client.astradomain.ad # После данного этапа потребуется перезагрузка ######################################################### ### Настройка подключения. Изменяем адрес DNS сервера ### ######################################################### # узнайте название вашего соединения. Они могут отличаться CON_NAME="Проводное соединение 1" # название интерфейса, которое использует ваше соединение INT_NAME="eth0" # адрес dns сервера DNS_SERVER_IP=10.0.2.37 # отключаем соединение sudo nmcli con down "$CON_NAME" # настраиваем сетевую карту соединения - по умолчанию $INT_NAME sudo nmcli con mod "$CON_NAME" connection.interface-name $INT_NAME # настраиваем DNS - вместо DNS_SERVER_IP указать IP-адрес сервера DNS. При необходимости указываем адрес локального сервера DNS. В нашем случае в качестве DNS сервера выступал сам сервер FreeIPA. Поэтому был указан его IP адрес sudo nmcli con mod "$CON_NAME" ipv4.dns "$DNS_SERVER_IP 8.8.8.8" sudo nmcli con mod "$CON_NAME" ipv4.ignore-auto-dns yes # включаем сетевое соединение sudo nmcli con up "$CON_NAME" # Проверка подключения ping server.astradomain.ad ######################################################### ############# Установка необходимых пакетов ############# ######################################################### # для пользователей систем с менеджером пакетов yum sudo yum install -y realmd PackageKit # для пользователей систем с менеджером пакетов apt-get sudo apt-get install -y realmd packagekit # Узнаем какие пакеты еще необходимы для подключения к домену realm discover astradomain.ad # Список необходимых для работы пакетов будет выведен в следующем формате # required-package: pkg1 # required-package: pkg2 # required-package: pkg3 # ... # Доустановим отсутствующие пакеты # для пользователей систем с менеджером пакетов yum sudo yum install -y pkg1 pkg2 pkg3 ... # для пользователей систем с менеджером пакетов apt-get sudo apt-get install -y pkg1 pkg2 pkg3 ... ######################################################### ################# Подключение к домену ################## ######################################################### # Подключимcя к домену # Пользователь user должен обладать правами подключения устройств в домен. sudo realm join astradomain.ad --user=user # Установим пакет krb5-workstation # для пользователей систем с менеджером пакетов yum sudo yum install -y krb5-workstation # для пользователей систем с менеджером пакетов apt-get sudo apt-get install -y krb5-user # для пользователей Alt linux sudo apt-get install -y krb5-workstation # Если в домене есть пользователь user, к которому можно подключиться с помощью пароля, то можно осуществить проверку настройки получив тикет для него kinit user@ASTRADOMAIN.AD # Проверка получения тикета klist # Удаляем тикет kdestroy
Настройка автоматического создания домашней директории
Когда доменный пользователь аутентифицируется в системе необходимо чтобы для него автоматически создавался домашний каталог.
Это можно сделать в настройках pam. Для этого в файле
/etc/pam.d/common-session для систем основанных на Debian
/etc/pam.d/system-auth для систем основанных на Red Hat
/etc/pam.d/system-auth-sss-only для пользователей Alt linux
активируем модуль pam_mkhomedir.so, после pam_sss.so. Содержимое файла будет выглядеть следующем образом:
... session optional pam_sss.so session required pam_mkhomedir.so skel=/etc/skel/ umask=0022 ...
Проверка аутентификации под пользователем в домене без Рутокена
Если в домене есть пользователь user, под которым можно аутентифицироваться без смарт-карты, то можно проверить предыдущую надстройку аутентифицируясь под ним. Для начала можно попробовать аутентифицироваться через командную строку:
Настройка клиента для аутентификации в домене с помощью Рутокена
Упрощенная настройка
Для упрощенной настройки можно воспользоваться утилитой для работы с токенами. Описание упрощенной настройки можно прочитать тут.
Ручная настройка
Установка необходимых пакетов для работу:
# для пользователей систем с менеджером пакетов yum sudo yum install -y nss-tools opensc krb5-pkinit # для пользователей систем с менеджером пакетов apt-get sudo apt-get install -y libnss3-tools opensc krb5-pkinit
Для ручной настройки также потребуется установить библиотеку librtpkcs11ecp. Ее можно получить тут. Установим данную библиотеку.
# Установка пакета для систем основанных на red hat sudo rpm -i librtpkcs11ecp-2.0.5.1-1.x86_64.rpm # Установка пакета для Debian систем sudo dpkg -i librtpkcs11ecp-2.0.5.1-1.x86_64.deb
Добавление корневого сертификата и сертификатов токена в БД
Инициализируем БД:
mkdir /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 /path/to/ca_cert.pem
Добавление сертификатов с Рутокена:
sudo modutil -dbdir /etc/pki/nssdb -add "Rutoken PKCS11" -libfile librtpkcs11ecp.so
Проверку того, что сертификаты добавились в БД можно осуществить с помощью команды
# перезапустите сервис pcscd на случай, если он выключен sudo systemctl restart pcscd # проверяем наличие сертификатов в БД sudo certutil -L -d /etc/pki/nssdb -h all
Настройка SSSD
Для того, чтобы аутентификация корректно работала на лок скрине. В настройках sssd нужно указать название сервиса, использующегося при аутентификации через лок скрин, чтобы сделать его доверенным. У каждой графической оболочки свое название данного сервиса. Узнать название вашей графической оболочки можно с помощью команды:
echo $XDG_CURRENT_DESKTOP
Вот список соответствий названий графических оболочек и сервиса, используемого лок скрином. Данный список не является полным.
MATE → mate-screensaver
X-Cinnamon → cinnamon-screensaver
fly → <Отсутствует>
KDE → kde
GNOME → xdg-screensaver
Сконфигурируем SSSD. Для этого отредактируем файл /etc/sssd/sssd,conf. Он должен выглядеть примерно следующим образом:
[sssd] domains = astradomain.ad config_file_version = 2 services = nss, pam [domain/astradomain.ad] ad_domain = astradomain.ad krb5_realm = ASTRADOMAIN.AD realmd_tags = manages-system joined-with-samba cache_credentials = True id_provider = ad krb5_store_password_if_offline = True default_shell = /bin/bash ldap_id_mapping = True fallback_homedir = /home/%u@%d access_provider = ad # Если хотим подключатся к пользователям домена не вводя имя домена use_fully_qualified_names = False # Для пользователей Astra Linux также нужно добавить строчку отключения групповых политик ad_gpo_access_control = permissive # Для активации входа по смарт-картам [pam] pam_cert_auth = True # Указываем название сервиса, используемого лок скрином. Если сервис отсутствует, то данную строку не используют pam_p11_allowed_services = +<service_name>
Перезапустим сервис SSSD
sudo systemctl restart sssd
Настройка Kerberos
Скопируем корневой сертификат в директорию /etc/pki/tls/certs/.
sudo cp /path/to/ca_cert.pem /etc/pki/tls/certs/
Для настройки Kerberos изменим содержимое файла /etc/krb5.conf. Секция [libdefaults] должна содержать следующее:
... [libdefaults] ... # Путь до дерриктории с корневым сертификатов с постфиксом .pem pkinit_anchors = DIR:/etc/pki/tls/certs/ # Адрес KDC pkinit_kdc_hostname = server.astradomain.ad # Пропускаем проверку EKU сертификата pkinit_eku_checking = kpServerAuth default_ccache_name = KEYRING:persistent:%{uid} # Имя домена по умолчанию default_realm = ASTRADOMAIN.AD # Путь д сертификатов и ключей pkinit_identities = PKCS11:librtpkcs11ecp.so # Для совместимости с AD canonicalize = True ...
Проверка настройки с помощью получения тикета для пользователя user, который аутентифицируется по Рутокену
# Получение тикета. Должно быть предложено ввести ПИН-код токена kinit user # Проверка получения тикета klist # Сброс тикета kdestroy
Попытка аутентификации по смарт-карте
Попробуйте аутентифицироваться под доменным пользователем user по смарт-карте в системе:
Если аутентификация не прошла успешно, то попробуйте изменить конфигурацию pam модулей, иначе можете пропустить данную часть
Настройка pam модулей
Для аутентификации пользователя в системе с помощью смарт-карты необходимо изменить содержимое pam модулей
Для систем основанных на Debian
Файл /etc/pam.d/common-auth должен содержать следующие строки:
... auth [success=2 default=ignore] pam_sss.so forward_pass auth [success=1 default=ignore] pam_unix.so try_first_pass nullok_secure ...
Для систем основанных на Red Hat
Файл /etc/pam.d/system-auth должен содержать следующие строки:
... auth [default=1 ignore=ignore success=ok] pam_localuser.so auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 1000 quiet_success auth sufficient pam_sss.so forward_pass ...
Аутентфикация через гритер
Проверьте аутентификацию через гритер через лок скрин.
Для пользователей Astra Linux предложение ввода ПИН-кода не отображается. В поле ввода пароля просто введите ПИН-код от Рутокена:
В этой статье будет описан процесс добавления Linux-машины (Ubuntu 20.04) в домен Windows AD.
Шаг 1. Установка пакетов и подготовка
sudo apt updatesudo apt upgrade
После этого установите требуемые пакеты.
sudo apt -y install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit
Далее мы настроим все инструменты. Вам требуется знать:
- Домен: office.local
- IP DNS-сервера: 192.168.0.1
- IP второго DNS-сервера: 192.168.0.2
Шаг 2. Настройка DNS
Откройте конфигурационный файл netplan:
sudo nano /etc/netplan/*.yaml
Если вы видите там «dhcp4: true», то есть ваш DHCP-сервер настроен корректно, переходите к следующему шагу. Если вы настраиваете параметры сетевого подключения вручную, ознакомьтесь с примером настройки:
network:ethernets:enp0s3:addresses:- 192.168.0.15/24gateway4: 192.168.0.10nameservers:addresses: [192.168.0.1, 192.168.0.2]search:- office.localoptional: trueversion: 2
- addresses — это IP, назначаемый сетевой карте;
- gateway4 — IP роутера;
- nameservers — DNS-сервера;
- search — целевой домен.
sudo netplan apply
Шаг 3. Обнаружение домена, присоединение к нему и проверка результата.
В первую очередь требуется обнаружить домен:
realm discover office.local
Вы увидите что-то подобное. Это означает, что настройки сети верны и машина получила ответ от домена. Если нет, вам необходимо проверить настройки сети, домен и работоспособность DNS.
office.localtype: kerberosrealm-name: OFFICE.LOCALdomain-name: office.localconfigured: no...
Затем присоединитесь к домену AD. Замените admin1 на имя администратора и укажите пароль.
realm join -U admin1 office.localPassword for admin1:
Проверьте, возможен ли прием информации о пользователе AD. Замените user1 на имя пользователя вашего домена.
id user1@office.localuid=687821651(user1@office.local) gid=687800512(user1@office.local) groups=687800512(domain users@office.local)
Шаг 4. Последние настройки и авторизация.
Необходимо произвести настройку, чтобы в будущем каждый раз не добавлять имя домена к имени пользователя.
sudo nano /etc/sssd/sssd.conf
Измените значение use_fully_qualified_names на False. Перезагрузите и проверьте:
sudo systemctl restart sssdid useruid=687821651(user1@office.local) gid=687800512(user1@office.local) groups=687800512(domain users@office.local)
Теперь нужно настроить создание домашних каталогов для пользователей AD при входе в систему.
sudo nano /etc/pam.d/common-session#add this line in the end of filesession optional pam_mkhomedir.so skel=/etc/skel umask=077
Войдите в систему как пользователь AD.
su – userPassword:Creating directory '/home/user1@office.local'.user1@ubuntu-server:~$
Это означает, что вы успешно вошли в систему как пользователь AD.
Также вы можете разрешить авторизацию для некоторых пользователей и групп AD или же ограничить других. В приведенном ниже примере настроен запрет для всех пользователей, кроме user0, user1 и группы Main Admins.
sudo realm deny –allsudo realm permit user0@office.local user1@office.localsudo realm permit -g 'Main Admins'
Настройка пользователей AD для получения root-прав такая же, как и для локальных, но выполняется в другом файле.
sudo nano /etc/sudoers.d/admins
Добавьте к нему нужные строки. Например:
user ALL=(ALL) ALL%Domain\ Admins ALL=(ALL) ALL
191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700
300
ООО «ИТГЛОБАЛКОМ ЛАБС»
191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700
300
ООО «ИТГЛОБАЛКОМ ЛАБС»
В этой статье будет рассмотрена установка Astra Linux Directory – реализация службы каталогов от компании АО «НПО РусБИТех» (Astra Linux). Особо отмечу, что речь идет про бесплатную версию Astra Linux Directory, а не Pro версию.
Цель статьи – это подготовить руководство для быстрого старта, которое позволило бы вам в разумные строки развернуть стенд для тестирования службы каталогов Astra Linux Directory.
Краткое описание служб каталогов ALD
Существует две версии продукта – Astra Linux Directory и Astra Linux Directory Pro. Как бы это странно не звучало, но технически это два разных продукта. Astra Linux Directory используются свой вариант каталога, а в основе служб каталогов Astra Linux Directory Pro лежит FreeIPA.
Astra Linux Directory доступна из коробки в бесплатной редакции Astra Linux Common Edition.
Кратко опишу основные возможности бесплатной версии Astra Linux Directory:
- Позволяет организовать централизованное хранение и управление учетными записями пользователей и групп.
- Предоставляет сквозную аутентификацию пользователей в домене с использованием протокола Kerberos.
- Обеспечивает функционирование глобального хранилища домашних директорий, доступных по Samba/CIFS.
К основным особенностям я бы отнес следующие:
- Поддерживает только клиенты с ОС Astra Linux.
- Добавление машины ОС MS Windows в домен ALD штатными средствами ОС MS Windows невозможно.
- Одновременной работы нескольких серверов ALD не предусмотрено.
- Переключение на резервный сервер ALD только вручную.
- «Плоская» иерархия пользователей и ПК, т.е. нет возможности, например, создавать OU.
Все приведенные мной выше умозаключения отражают только мое видение продукта и относятся к версии 1.7.37.
Планируемая схема установки
Планируемая к развертыванию схема приведена ниже:
Она включает в себя один сервер (ADC01) и один клиент (ACLT01). В качестве службы разрешения имен я буду использовать сервер BIND. В целом для такой схемы можно вообще не использовать BIND, а просто сделать соответствующие записи в /etc/hosts.
Подготовка операционных систем
У Astra Linux Directory Common Edition нет градации на серверных и клиентские редакции ОС. Поэтому предварительная подготовка сервера и клиента ничем не отличаются.
Во всех примерах этой статьи использовалась версия Astra Linux Directory Common Edition релиза “Орёл” (2.12.43). Версия ядра – 5.10.0.-1038.40-hardened.
Итого подготовка серверной и клиентской системы включает в себя следующие шаги:
1. Установка и первоначальная настройка операционной системы. Можете использовать как физическое устройство, так и виртуальную машину. В целом можно использовать стандартные параметры установки, но вот версия ядра должна быть именно “hardened”:
2. Актуализация репозиториев:
apt update
3. Обновление установленных пакетов:
apt upgrade
Установка Astra Linux Directory включает в себя следующие верхнеуровневые шаги:
- Настройка BIND.
- Установка и настройка серверных служб ALD.
Предварительно неоходимо указать в качестве DNS сервера на сетевом интерфейсе адрес самого сервера.
Настройка BIND
Нам нужен вариант с локальным DNS сервером.
- Устанавливаем пакет BIND:
apt install bind9
2. Устанавливаем пакет утилит для работы с DNS (например, в этот пакет входит утилита dig):
apt install dnsutils
3. Корректируем настройка BIND. Нужно указать на каких IP-адресах сервера прослушивать запросы и на какие внешние DNS следует перенаправлять запросы. Открываем на редактирование конфигурационный файл:
nano /etc/bind/named.conf.options
Нам нужно скорректировать секции “forwarders” и “listen-on”. В секции “forwarders” нужно указать на какие внешние DNS перенаправлять запросы, а в секции “listen-on” нужно указать локальные адреса, на которых сервер будет прослушивать подключения. Пример моего файла конфигурации:
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
forwarders {
8.8.8.8;
};
listen-on {
127.0.0.1;
10.10.10.37;
};
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
4. Теперь необходимо внести информацию и прямой и обратной зоне. В моем случае DNS-имя зоны будет itproblog.ru. Открываем на редактирование конфигурационный файл:
nano /etc/bind/named.conf.local
Пример моего конфигурационного файла named.conf.local:
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
zone "itproblog.ru" {
type master;
file "/etc/bind/zones/db.itproblog.ru";
};
zone "10.10.10.in-addr.arpa" {
type master;
file "/etc/bind/zones/db.10.10.10";
};
В секции type указан тип зоны (основная зона), а в секции file расположение файла с текстом зоны (его мы настроим далее).
5. Создаем каталог для файлов DNS зон, создаем пустые файлы зон и назначаем необходимые разрешения:
mkdir /etc/bind/zones
touch /etc/bind/zones/db.itproblog.ru
touch /etc/bind/zones/db.10.10.10
chown -R bind:bind /etc/bind/zones
6. Редактируем файл с прямой зоной:
nano /etc/bind/zones/db.itproblog.ru
Пример моего файла прямой зоны:
$TTL 604800
@ IN SOA adc01.itproblog.ru. root.itproblog.ru. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS adc01.itproblog.ru.
adc01 IN A 10.10.10.37
aclt01 IN A 10.10.10.36
7. Редактируем файл с обратной зоной:
nano /etc/bind/zones/db.10.10.10
Пример моего файла обратной зоны:
$TTL 604800
@ IN SOA itproblog.ru. root.itproblog.ru. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS adc01.itproblog.ru
37 IN PTR adc01.itproblog.ru
36 IN PTR aclt01.itproblog.ru
8. Проверяем корректность заполнения конфигурационного файла и файлов зон:
named-checkconf
named-checkzone itproblog.ru /etc/bind/zones/db.itproblog.ru
named-checkzone 10.10.10.in-addr.arpa /etc/bind/zones/db.10.10.10
Если ваш вывод на консоль отличается от вывода со скриншота выше, то, вероятно, нужно скорректировать ошибки в конфигурационных файлах.
9. Перезагружаем сервис BIND:
systemctl restart bind9
10. Проверяем разрешение имени через наш DNS сервер:
dig @localhost adc01.itproblog.ru
dig 10.10.10.37 aclt01.itproblog.ru
т.е. имена сервера и клиента успешно разрешаются в IP-адреса.
Установка служб Astra Linux Directory
- Устанавливаем основной пакет ALD сервера и графический интерфейс администрирования Fly:
apt install ald-server-common fly-admin-ald-server
В процессе установки нас попросят указать пароль администратора LDAP. Указываем его:
2. Указываем полное доменное имя сервера:
hostnamectl set-hostname adc01.itproblog.ru
Проверяем:
hostnamectl
Да, полное доменное имя применилось корректно.
3. Перезагружаем сервер.
4. Теперь необходимо создать домен. Переходим по следующему пути в графическом режиме: “Пуск” – “Панель управления” – “Сеть” – “Доменная политика безопасности“.
5. Указываем пароль, который мы задали на этапе установки сервера ALD.
6. Поскольку пока еще сервер ALD не настроен, то могут возникать ошибки в диалоговых окна. Пока просто игнорируем их.
7. Указываем пароль базы данных Kerberos, пароль администратора ALD.
Я также отметил опцию “Использовать свои настройки сети” и выбрал IP-адрес для службы. После этого нажимаем кнопку “Создать сервер”.
8. Нажимаем “Да” в подтверждении о том, что мы согласны с тем, что предыдущая БД будет перезаписана (если она имеется).
9. В случае успешного завершения создания сервера мы получим соответствующее уведомление:
10. Перезагружаем сервер.
Проверка работы серверных служб ALD
Выполнил проверку сервиса ALD:
ald-init status
Сообщение говорит о том, что сервис сконфигурирован, клиент и сервис работают корректно.
Теперь попробуем открыть графическую оснастку администрирования. Переходим по следующему пути в графическом режиме: “Пуск” – “Панель управления” – “Сеть” – “Доменная политика безопасности“:
Нажимаем кнопку “Подключиться”.
Указываем пароль администратора ALD:
В случае успешного подключения мы должны увидеть древовидно меню слева, как указано на скриншоте ниже.
Создание тестовых пользователей
Для того, чтобы проверить подключение клиента и работу под доменной УЗ создадим две учетные записи – user1 и user2.
Переходим по следующему пути в графическом режиме: “Пуск” – “Панель управления” – “Сеть” – “Доменная политика безопасности“. Указываем пароль администратора ALD.
В контекстном меню элемента “Пользователи” выбираем пункт “Создать“:
“:
Заполняем имя пользователя и указываем первичную группу “Domain Users”:
Подтверждаем наши намерения создать пользователя (зеленая галочка).
Создаем пароль для учетной записи:
Выполняем аналогичные действия для учетной записи user2.
Итого, в нашей директории должно быть два пользователя – user1 и user2:
Предварительно на клиентском ПК необходимо указать в качестве DNS сервера наш сервер с ALD, т.к. именно там мы настроили BIND DNS.
Перезагружаем клиент и проверяем, что имя нашего сервера ALD разрешается в IP:
ping adc01.itproblog.ru
Указываем полное доменное имя клиента:
hostnamectl set-hostname aclt01.itproblog.ru
1. Устанавливаем необходимые пакеты:
apt install ald-client-common ald-admin
2. Для разнообразия присоединим клиент через командную строку. Это можно сделать вот такой небольшой командой:
ald-client join adc01.itproblog.ru
где последним параметром передается имя контроллера домена ALD.
Подтверждаем изменения.
3. На этапе выбора пользователя с правами присоединения к домену нажимаем Enter и указываем пароль администратора ALD.
4. В случае успешного присоединения вы должны увидеть следующий вывод:
Если теперь посмотреть в консоль управления ALD на сервере, то вы можете увидеть новый объект компьютера:
Проверка работы клиента ALD
Если мы попробуем сейчас выполнить вход на клиентский компьютер под доменной учетной записью user1, то увидим следующее сообщение – “Доступ запрещен”:
С кем это связано? Все дело в том, что в оснастке управления ALD для учетной записи пользователя необходимо явно указать – на какие клиентские ПК ему разрешен доступ. Давайте добавим доменному user1 разрешения локального входа на доменный ПК aclt01.itproblog.ru.
Для этого на сервере ALD необходимо открыть оснастку управления ALD и в свойствам УЗ user1 на вкладке “Привилегии домена” добавим компьютер aclt01.itproblog.ru:
Сохраните внесенные изменения.
Попробуем выполнить вход теперь:
Да теперь мы успешно выполнили вход под доменной учетной записью.
Операционные системы Astra Linux
Операционные системы Astra Linux Common Edition и Astra Linux Special Edition разработаны коллективом открытого акционерного общества «Научно-производственное объединение Русские базовые информационные технологии» и основаны на свободном программном обеспечении.
Astra Linux Common Edition предназначена для автоматизации коммерческих предприятий и органов государственного управления.
Astra Linux Special Edition предназначена для применения в автоматизированных системах в защищенном исполнении, обрабатывающих информацию ограниченного распространения, включая государственную тайну до степени секретности «особой важности» .
На сайте представлена подробная информация о разработанных операционных системах семейства Astra Linux, а также техническая документация для пользователей операционных систем и разработчиков программного обеспечения. Кроме того, предоставлена возможность скачать дистрибутивы и исходные тексты операционной системы Astra Linux Common Edition, а также задать интересующие вопросы разработчикам .
Мы будем признательны Вам за вопросы и предложения, которые позволят совершенствовать наши изделия в Ваших интересах и адаптировать их под решаемые Вами задачи!
Репозитория открытого доступа в сети Интернет для операционной системы Astra Linux Special Edition нет. Операционная система распространяется посредством DVD-дисков.
Информацию о сетевых репозиториях операционной системы Astra Linux Common Edition Вы можете получить на нашем сайте.
Источник
Операционные системы Astra Linux
Операционные системы Astra Linux Common Edition и Astra Linux Special Edition разработаны коллективом открытого акционерного общества «Научно-производственное объединение Русские базовые информационные технологии» и основаны на свободном программном обеспечении.
Astra Linux Common Edition предназначена для автоматизации коммерческих предприятий и органов государственного управления.
Astra Linux Special Edition предназначена для применения в автоматизированных системах в защищенном исполнении, обрабатывающих информацию ограниченного распространения, включая государственную тайну до степени секретности «особой важности» .
На сайте представлена подробная информация о разработанных операционных системах семейства Astra Linux, а также техническая документация для пользователей операционных систем и разработчиков программного обеспечения. Кроме того, предоставлена возможность скачать дистрибутивы и исходные тексты операционной системы Astra Linux Common Edition, а также задать интересующие вопросы разработчикам .
Мы будем признательны Вам за вопросы и предложения, которые позволят совершенствовать наши изделия в Ваших интересах и адаптировать их под решаемые Вами задачи!
Репозитория открытого доступа в сети Интернет для операционной системы Astra Linux Special Edition нет. Операционная система распространяется посредством DVD-дисков.
Информацию о сетевых репозиториях операционной системы Astra Linux Common Edition Вы можете получить на нашем сайте.
Источник
Операционные системы Astra Linux
Операционные системы Astra Linux Common Edition и Astra Linux Special Edition разработаны коллективом открытого акционерного общества «Научно-производственное объединение Русские базовые информационные технологии» и основаны на свободном программном обеспечении.
Astra Linux Common Edition предназначена для автоматизации коммерческих предприятий и органов государственного управления.
Astra Linux Special Edition предназначена для применения в автоматизированных системах в защищенном исполнении, обрабатывающих информацию ограниченного распространения, включая государственную тайну до степени секретности «особой важности» .
На сайте представлена подробная информация о разработанных операционных системах семейства Astra Linux, а также техническая документация для пользователей операционных систем и разработчиков программного обеспечения. Кроме того, предоставлена возможность скачать дистрибутивы и исходные тексты операционной системы Astra Linux Common Edition, а также задать интересующие вопросы разработчикам .
Мы будем признательны Вам за вопросы и предложения, которые позволят совершенствовать наши изделия в Ваших интересах и адаптировать их под решаемые Вами задачи!
Репозитория открытого доступа в сети Интернет для операционной системы Astra Linux Special Edition нет. Операционная система распространяется посредством DVD-дисков.
Информацию о сетевых репозиториях операционной системы Astra Linux Common Edition Вы можете получить на нашем сайте.
Источник
Операционные системы Astra Linux
Операционные системы Astra Linux Common Edition и Astra Linux Special Edition разработаны коллективом открытого акционерного общества «Научно-производственное объединение Русские базовые информационные технологии» и основаны на свободном программном обеспечении.
Astra Linux Common Edition предназначена для автоматизации коммерческих предприятий и органов государственного управления.
Astra Linux Special Edition предназначена для применения в автоматизированных системах в защищенном исполнении, обрабатывающих информацию ограниченного распространения, включая государственную тайну до степени секретности «особой важности» .
На сайте представлена подробная информация о разработанных операционных системах семейства Astra Linux, а также техническая документация для пользователей операционных систем и разработчиков программного обеспечения. Кроме того, предоставлена возможность скачать дистрибутивы и исходные тексты операционной системы Astra Linux Common Edition, а также задать интересующие вопросы разработчикам .
Мы будем признательны Вам за вопросы и предложения, которые позволят совершенствовать наши изделия в Ваших интересах и адаптировать их под решаемые Вами задачи!
Репозитория открытого доступа в сети Интернет для операционной системы Astra Linux Special Edition нет. Операционная система распространяется посредством DVD-дисков.
Информацию о сетевых репозиториях операционной системы Astra Linux Common Edition Вы можете получить на нашем сайте.
Источник
Ввод Astra Linux Special Edition 1.6 в Active Directory с настройкой SSO в PostgreSQL.
Настроим ОС Astra Linux SE 1.6 и введем в домен MS Active Directory . В процессе настроим SMABA, WINBIND и POSTGRESQL, а также настроим в POSTGRESQL SSO через GSSAPI.
Данная настройка проводилась с обновлением ОС Astra Linux SE 1.6 — 20191029SE16 . Процесс обновления ОС не описан в процессе конфигурации.
Вводные данные
Контроллеры домена Active Directory
ОС — MS Windows Server 2012R2
Сервер c базой данных Postgresql
ОС – Astra Linux SE 1.6. Установлена без ALD и без режима киоска. Дополнительное ПО выбрано базовые средства, рабочий стол Fly, средства работы в сети, СУБД.
Разблокировка учетной записи ROOT
Для удобства настройки разблокируем учетную запись ROOT
Для безопасности по окончанию работ требуется заблокировать учетную запись ROOT!
Настройка сети на bd1
Приведем файл /etc/hosts к виду
Проверим правильность имени машины в /etc/hostname
Настроим статический IP-адрес, для этого внесем строки в файл /etc/network/interfaces
Для автоматической генерации файла /etc/resolv.conf установим пакет resolvconf.
Перезапустим службу сети
Проверим, должен появиться интерфейс eth0 с назначенным нами адресом 192.168.0.100
Проверим доступность контроллеров домена Active Directory
Настроим синхронизацию времени с контроллерами домена, для этого в файле /etc/ntp.conf добавим в секцию «You do need to talk to an NTP server or two (or three)»
Установим требуемые пакеты
Сначала проверим установлены ли пакеты SAMBA, WINBIND, NTP и POSTGRESQL
dpkg – l samba winbind ntp postgresql
Произведем до установку пакетов которые нам потребуются далее (потребуется диск с дистрибутивом ОС)
apt-get install nscd nslcd libpam-winbind libpam-krb5 libsasl2-modules-gssapi-mit krb5-user libnss-winbind
Чтобы установить следующий пакет потребуется диск разработчика
apt-get install libsasl2-modules-ldap
Настройка конфигурационных файлов для работы с доменом Active Directory.
Отредактируем конфигурационный файл Kerberos /etc/krb5.conf и приведем его к виду
Источник
Операционные системы Astra Linux
Операционные системы Astra Linux Common Edition и Astra Linux Special Edition разработаны коллективом открытого акционерного общества «Научно-производственное объединение Русские базовые информационные технологии» и основаны на свободном программном обеспечении.
Astra Linux Common Edition предназначена для автоматизации коммерческих предприятий и органов государственного управления.
Astra Linux Special Edition предназначена для применения в автоматизированных системах в защищенном исполнении, обрабатывающих информацию ограниченного распространения, включая государственную тайну до степени секретности «особой важности» .
На сайте представлена подробная информация о разработанных операционных системах семейства Astra Linux, а также техническая документация для пользователей операционных систем и разработчиков программного обеспечения. Кроме того, предоставлена возможность скачать дистрибутивы и исходные тексты операционной системы Astra Linux Common Edition, а также задать интересующие вопросы разработчикам .
Мы будем признательны Вам за вопросы и предложения, которые позволят совершенствовать наши изделия в Ваших интересах и адаптировать их под решаемые Вами задачи!
Репозитория открытого доступа в сети Интернет для операционной системы Astra Linux Special Edition нет. Операционная система распространяется посредством DVD-дисков.
Информацию о сетевых репозиториях операционной системы Astra Linux Common Edition Вы можете получить на нашем сайте.
Источник
Linux в домене Active Directory
Перед администраторами иногда встают задачи интеграции Linux серверов и рабочих станций в среду домена Active Directory. Обычно требуется:
1. Предоставить доступ к сервисам на Linux сервере пользователям домена.
2. Пустить на Linux сервер администраторов под своими доменными учётными данными.
3. Настроить вход на Linux рабочую станцию для пользователей домена, причём желательно, чтобы они могли при этом вкусить все прелести SSO (Я, например, не очень люблю часто вводить свой длинный-предлинный пароль).
Обычно для предоставления Linux системе пользователей и групп из домена Active Directory используют winbind либо настраивают библиотеки nss для работы с контроллером домена Active Directory по LDAP протоколу. Но сегодня мы пойдём иным путём: будем использовать PowerBroker Identity Services (Продукт известен также под именем Likewise).
Установка.
Есть две версии продукта: Enterprise и Open. Мне для реализации моих задач хватило Open версии, поэтому всё написанное далее будет касаться её.
Получить Open версию можно на сайте производителя, но ссылку Вам предоставят в обмен на Ваше имя, название компании и e-mail.
Существуют 32-х и 64-х пакеты в форматах rpm и deb. (А также пакеты для OS X, AIX, FreeBSD, SOlaris, HP-UX)
Исходники (Open edition) доступны в git репозирории: git://source.pbis.beyondtrust.com/pbis.git
Я устанавливал PBIS на Debian Wheezy amd64:
Содержимое пакета устанавливается в /opt/pbis. Также в системе появляется новый runscript lwsmd, который собственно запускает агента PBIS.
В систему добавляется модуль PAM pap_lsass.so.
Утилиты (большей частью консольные), необходимые для функционирования PBIS, а также облегчающие жизнь администратору размещаются в /opt/pbis/bin
Ввод в домен.
Перед вводом в домен следует убедиться, что контроллеры домена доступы и доменные имена корректно разворачиваются в ip. (Иначе следует настроить resolv.conf)
Для ввода в домен предназначены две команды: /opt/pbis/bin/domainjoin-cli и /opt/pbis/bin/domainjoin-gui. Одна из них работает в командной строке, вторая использует libgtk для отображения графического интерфеса.
Для ввода в домен потребуется указать: имя домена, логин и пароль доменного пользователя с правами для ввода ПК в домен, контейнер для размещения объекта компьютера в домене — всё то же самое, что и при вводе в домен windows ПК.
После ввода в домен потребуется перезагрузка.
Обратите внимание — PBIS умеет работать с сайтами Active Directory. Клиент PBIS будет работать с контроллерами того сайта, в котором он находится!
После перезагрузки.
После перезагрузки и id, и getent выдадут вам пользователей и группы домена (национальные символы обрабатываются корректно. Пробелы заменяются на символ «^»).
В доменной DNS зоне появится запись с именем вашего ПК.
Не спешите входить от имени доменного пользователя. Сначала имеет смысл (но вовсе не обязательно) настроить PBIS.
Одно из отличий Enterprise версии — возможность управлять этими настройками через GPO.
Стоит обратить внимание на HomeDirPrefix, HomeDirTemplate.
Я также сразу задал «RequireMembershipOf» — только пользователи, члены групп или SID из этого списка могут авторизоваться на компьютеры.
Описание каждого параметра можно получить, например так:
Значение параметра устанавливается например так:
Обратите внимание — PBIS не использует атрибуты SFU либо иные другие атрибуты Acrive Directory для получения loginShell пользователя, а также его uid и gid.
loginShell для доменных пользователей задаётся в настройках PBIS, причём установка различных loginShell различным пользователям — возможна только в Enterprise версии.
uid формируется как хэш SID пользователя.
gid — как хэш SID primaryGroup пользователя.
Таким образом на двух ПК пользователь получит всегда одинаковые uid и gid.
Теперь можно входить в систему от имени доменного пользователя. После входа доменного пользователя обратите внимание на вывод klist — PBIS получит для пользователя необходимые билеты kerberos. После этого можно безпроблемно обращаться к ресурсам на windows ПК (Главное, чтобы используемое ПО поддерживало GSSAPI). Например: теперь я без дополнительных запросов паролей (и пароль мой нигде не сохранён!) открываю любые smb ресурсы домена в Dolphin. Также Firefox (при настройке network.negotiate-auth.trusted-uris) позволяет использовать SSO при доступе к Web-порталам с доменной авторизацией (естественно если SSO настроена на сервере)
А как же SSO при доступе к ресурсам на Linux ПК?
Можно и так! PBIS заполняет /etc/krb5.keytab и поддерживает его актуальным. Поэтому серверное ПО с поддержкой GSSAPI может быть сконфигурировано для SSO.
Например, для доступа к серверу по ssh, в конфигурационный файл /etc/ssh/sshd_config (путь в вашей системе может отличаться)
И при подключении указать доменное имя компьютера (присутствующее в его SPN — иначе билет kerberos не сможет быть выписан)
UsePAM yes
(PBIS предоставляет модуль для PAM в том числе)
Также логично будет добавить директиву «AllowGroups» и указать через пробел доменные группы, пользователям которых вы намерены дать доступ к ssh серверу.
На клиентском Linux ПК в конфигурацию клиента ssh достаточно включить:
Естественно на клиентском Linux компьютере должен быть настроен kerberos. Простейший способ выполнить это условие — так же ввести клиентский компьютер в домен и работать от имени доменного пользователя.
На клиентском Windows ПК (члене домена) при использовании Putty следует в свойствах SSH соединения установить флаг «Attempt GSSAPI authentification (SSH-2 only)» (В разных версиях этот пункт называется по-разному).
Также в секции Connection —> Data можно поставить переключатель в позицию «Use system username»
Если вы намереваетесь организовать таким образом ssh доступ администраторов к linux серверам — хорошей идеей будет запретить на них вход root по ssh и добавить linux-администраторов (а ещё лучше их доменную группу) в файл sudoers.
Это не единственные сценарии применения PBIS. если статья покажется Вам интересной — в следующей напишу как организовать samba файловый сервер в домене для доменных пользователей без winbind.
Дополнительную информацию по теме можно получить на форуме сообщества PowerBroker Identity Services: forum.beyondtrust.com
- Хорошую повторяемость (сравните последовательность действий этой статье с инструкцией по настройке winbind)
- Кэширование данных из каталога (доменный пользователь может войти на ПК, когда домен не доступен, если его учётные данные в кэше)
- Для PBIS не требуется формирование в каталоге AD дополнительных атрибутов пользователя
- PBIS понимает сайты AD и работает с контроллерами своего сайта.
- Большую безопасность (samba создаёт учётку компьютера с не истекающим паролем)
- В платной версии (если возникнет такая необходимость) PBIS агент управляем через GPO (хотя это можно и вычеркнуть. если вы не намерены её покупать)
UPD 2 Пришла обратная связь от пользователя sdemon72. Возможно кому-то будет полезно.
Здравствуйте! Попробовал ваш рецепт на свежей linuxmint-18-mate-64bit, все получилось с некоторыми оговорками:
1. С получением программы через сайт у меня возникли сложности (не захотел писать реальный номер телефона, а бутафорский не прокатил — пришло письмо с сомнениями по его поводу), зато нашел репозиторий с наисвежайшими версиями: repo.pbis.beyondtrust.com/apt.html
2. При запуске программы выдает ошибки, чтобы их избежать, нужно перед запуском сделать следующее:
2.1. Установить ssh:
sudo apt-get install ssh
2.2. Поправить /etc/nsswitch.conf:
hosts: files dns mdns4_minimal [NOTFOUND=return]
(т.е. переносим dns с конца строки на вторую позицию)
2.3. Поправить /etc/NetworkManager/NetworkManager.conf:
#dns=dnsmasq
(т.е. комментируем эту строчку)
2.4. Перезапустить network-manager:
sudo service network-manager restart
После этого все сработало на ура! Буду очень благодарен, если внесете эти дополнения в статью, т.к. в поиске по сабжу она выпадает в первых строках. Оставлять комментарии я не могу (запрещает сайт), поэтому пишу вам лично.
Если интересно — история моих изысканий тут: linuxforum.ru/topic/40209
С уважением, Дмитрий
UPD 3: Почему бесплатную версию PBIS не получится применить в большой компании
В бесплатной версии работает только один алгоритм генерации UNIX iD (uid и gid) по SID доменного пользователя. Так вот он не обеспечивает уникальности
этих идентификаторов. Когда у вас очень старый домен или просто много пользователей очень высок риск, что два и более пользователя получат одинаковые идентификаторы в системе с OpenPBIS. В платной версии есть возможность выбора между алгоритмами генерации id, но она стоит значительно дороже аналогичного продукта от Quest Software ;(.
astra linux + microsoft active directory
Поставлена задача неизвестно когда мигрировать с винды на astra linux в организации. На данный момент абсолютно все машины на ОС windows разных версий ну и windows server в качестве контроллера домена. Вопрос такой: насколько я понял вводить то в виндовый домен клиенты на astra linux можно но будут ли работать всякие групповые политики? SSO ? если нет то как быть? ALD (Astra linux directory) поднимать и на нем настраивать все? возможно ли будет туда экспортировать пользователей из active directory? И еще у нас внутренний сайт на sharepoint которым активно пользуются. можно ли будет сделать SSO в связке с ним?
SSO будет , если на клиентах отконфигурить керберос. Группы тоже. Политики, какие , например? Экспорт тоже возможен, AD — это ldap. SSO с виндовыми сервисами , которые остались тоже будет , но в том случае если вы либо переджойните их в новый домен либо переймете свои ALD роли старого.
С ALD никогда не работал и не буду, так что я говорил в общем про AD на линуксе и его интеграцию в него linux клиентов.
Сам использую Univention
Вот пример, как включить керберос, но до этого надо настроить sssd , pam , сертификаты etc
Наймите в «организацию» специалиста.
Поставлена задача неизвестно когда мигрировать с винды на astra linux в организации
Видимо, гос. учреждение.
так что я говорил в общем про AD на линуксе
На какой версии samba, у ветки 3.5 и 4.х есть различия в настройке и поддержке.
Различие есть, принцип конфигурационного файла тот же, а вот сами файлы уже разные
Там и функциональные отличия немалые есть, например в samba 3.5 можно использовать openldap, а в samba 4.x — нет.
есть такая фигня, перенести конфиг от 3.5 в 4 не удастся придется писать заново, даже в самых простых случаях
У Univention (https://www.univention.com) при установке для ленивых виндоадминов есть роль «забрать все с виндового домена к себе, чтобы потом выключить виндовый контроллер». Имхо идеально для вас. Оно само все сделает и подменит собой виндовый AD. При этом ваши виндоклиенты останутся живы. А затем в него же можете вводить linux клиентов, постепенно удаляя виндодесптопы из сетки.
ага, это сертифицированный пакет в астре?
ага, это сертифицированный пакет в астре?
вы о чем? Какой пакет? и что значит «сертифицированный пакет в астре»?
А, все понял, болгенос, сертификаты, линуксы на русском и оборонка. Удачи)
перенести конфиг от 3.5 в 4 не удастся придется писать заново, даже в самых простых случаях
Неправда ваша. В самых простых случаях переноситься легко. Ничего заново писать не нужно.
пожалуйста самый простой случай — полная шара, если не прописать строку map to guest = bad user — то работать без пароля не будет, в 3.5 это строка еще не требовалась
Писал не просто так, а на реальном примере. У меня домашняя самба. Ничего менять не пришлось, но и гостевого входа правда нет, усе под логинами. Переехал не заметно.
Политики, какие , например?
ну всякие подключения сетевых дисков, прокси ну а завести так, чтобы ввел в домен на виндовом сервере и заработало никак?) кроме univention есть еще какие то варианты?
мы говорим о linux клиентах? Я не работаю с windows вообще. Разрешение на подключение сетевых ресурсов можно регулировать политиками. Само подключение дисков я настраиваю в /etc/profile.d, так как gvfs глючит а некоторых приложениях, например в thunderbird.
извините если неточно формулирую мысли.да мы говорим о linux клиентах. а вы сейчас про чьи политики говорите ALD,univention или AD? мне бы для начала узнать будет ли что то кроме авторизации работать при вводе в обычный AD или же нам обязательно надо менять контроллер домена. И спрошу еще раз какие еще варианты кроме univention т.к я боюсь он в какой то момент станет полностью платным и конец)
Брат по несчастью) У нас тоже поставили задачу перехода на Астру. Даже заставили план написать. В конце года должны уже переводить клиентов на астру. Домен тоже виндовый на 2008. Не известно как будут работать принтеры и тд. Беглый поиск драйверов показал что на 99% принтеров есть драйвера под линукс, но будут ли они работать на астре не ясно. Плюс не идет речь о репозитории, выхода у астры в интернет быть не должно. Установка не сертифицированного ПО запрещена. Хотя по факту чую придется запускать винду из под виртуальной машины что бы люди могли нормально работать. Плюс ко всему у нас в отделе никто не шарит в линуксе. Сейчас установили астру, ввели ее в домен винды, но самба не видит сеть предприятия.
Напоминаем о том, что перед вводом клиента в домен AD или ALD необходимо корректно настроить сеть.
Данная статья применима к:
Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
Astra Linux Special Edition РУСБ.10015-16 исп. 1
Astra Linux Common Edition 2.12
Графический инструмент fly-admin-ad-client для ввода Astra Linux в домен MS Windows AD
Для ввода Astra Linux в существующий домен AD Windows рекомендуется использовать входящий в состав дистрибутивов Astra Linux графический инструмент fly-admin-ad-client.
Данный инструмент позволяет выполнить ввод в домен в автоматизированном режиме
Инструмент может быть установлен с помощью графического менеджера пакетов (см. Графический менеджер пакетов synaptic), или из командной строки командой
Для ввода в домен необходимо запустить инструмент, указать необходимые параметры и нажать кнопку «Подключиться».
Инструмент astra-winbind для ввода Astra Linux SE/CE в домен MS Windows AD с помощью командной строки
Для ввода Astra Linux в существующий домен AD Windows можно также воспользоваться инструментом astra-winbind, входящего в состав дистрибутивов Astra Linux.
Для этого следует запустить Терминал Fly:
«Пуск»→ «Системные» → «Терминал Fly» и ввести команду:
В нашем примере:
- контроллер домена -dc : windc01.krb.rbt
- Администратор AD -u: Администратор
После чего соглашаемся с системой и вводим «y», и жмем клавишу «Enter». Далее fly-dialog запросит ввести пароль администратора домена:
Содержание
- 1 Общая информация
- 2 Проверка требований
- 3 Установка Samba
- 4 Настройка Samba
- 5 Проверка работы и отладка
- 6 Дополнительная настройка
- 7 Доступ к Samba из Windows 7 и 2008 r2
- 8 Работа над ошибками
- 8.1 Winbind не запускается
- 8.2 Ошибка получения билета Kerberos
- 9 Полезные комманды
- 10 См. также
- 11 Cсылки
Общая информация
Если вам нужно просто предоставить сетевой доступ к ресурсам Linux компьютера, то смотрите статью Samba.
В этой статье мы опишем как подключить Linux компьютер к домену под управлением Microsoft Active Directory и сделать из него файловый сервер.
После выполнения этой инструкции мы будем иметь в сети файловый сервер под управлением ОС Линукс, входящий в домен Windows 2003 и ничем не отличающийся от файлового сервера под Windows. Пользователи домена смогут обращаться к его ресурсам под своими учётными записями. Доступ регулируется группами домена AD.
По этой инструкции настраивались Debian (4, 5), Ubuntu 9.10, создавалась она на основе официальной документации и многих рекомендаций и инструкций из Интернета. Остальные Linux’ы настраиваются сходным образом.
Для Alt Linux написана хорошая инструкция http://freesource.info/wiki/AltLinux/Dokumentacija/SambaInWin2kDomain?v=omo&
Проверка требований
- Проверяем что Samba собрана с поддержкой Kerberos:
# smbd -b | grep KRB HAVE_KRB5_H HAVE_ADDRTYPE_IN_KRB5_ADDRESS HAVE_DECODE_KRB5_AP_REQ HAVE_KRB5 HAVE_KRB5_AUTH_CON_SETUSERUSERKEY HAVE_KRB5_C_ENCTYPE_COMPARE HAVE_KRB5_C_VERIFY_CHECKSUM HAVE_KRB5_ENCRYPT_BLOCK HAVE_KRB5_ENCRYPT_DATA HAVE_KRB5_FREE_AP_REQ HAVE_KRB5_FREE_DATA_CONTENTS HAVE_KRB5_FREE_KEYTAB_ENTRY_CONTENTS HAVE_KRB5_FREE_KTYPES HAVE_KRB5_FREE_UNPARSED_NAME HAVE_KRB5_GET_PERMITTED_ENCTYPES HAVE_KRB5_GET_RENEWED_CREDS HAVE_KRB5_KEYBLOCK_IN_CREDS HAVE_KRB5_KEYTAB_ENTRY_KEY HAVE_KRB5_KEYUSAGE_APP_DATA_CKSUM HAVE_KRB5_KT_FREE_ENTRY HAVE_KRB5_LOCATE_KDC HAVE_KRB5_MK_REQ_EXTENDED HAVE_KRB5_PRINCIPAL2SALT HAVE_KRB5_PRINC_COMPONENT HAVE_KRB5_SET_DEFAULT_TGS_KTYPES HAVE_KRB5_SET_REAL_TIME HAVE_KRB5_STRING_TO_KEY HAVE_KRB5_TKT_ENC_PART2 HAVE_KRB5_USE_ENCTYPE HAVE_LIBGSSAPI_KRB5 HAVE_LIBKRB5 HAVE_MAGIC_IN_KRB5_ADDRESS HAVE_TICKET_POINTER_IN_KRB5_AP_REQ KRB5_VERIFY_CHECKSUM_ARGS
- Также проверим что поддерживается LDAP
# smbd -b | grep LDAP HAVE_LDAP_H HAVE_LDAP HAVE_LDAP_ADD_RESULT_ENTRY HAVE_LDAP_DN2AD_CANONICAL HAVE_LDAP_INIT HAVE_LDAP_INITIALIZE HAVE_LDAP_SET_REBIND_PROC HAVE_LIBLDAP LDAP_SET_REBIND_PROC_ARGS
- Для корректной работы Samba в домене Windows 2003 нужны версии MIT Kerberos version >=1.3.1. Проверим:
# dpkg -l | grep krb ii krb5-config 1.22 Configuration files for Kerberos Version 5 ii libkrb53 1.6.dfsg.4~beta1-5lenny1 MIT Kerberos runtime libraries
- Для корректной работы с Windows 2008 серверами сама Samba должна быть достаточно свежая:
# smbd -V Version 3.2.5
Установка Samba
- Устанавливаем сервер и клиент samba.
# apt-get install samba samba-client krb5-config
При настройке krb5-config лучше указывать IP адреса контроллеров домена, а не их DNS имена.
Настройка Samba
- Для подключения к домену Active Directory удобно использовать утилиту Likewise-Open.
- Для администрирования Samba удобно использовать SWAT или webmin, которые предоставляют веб интерфейс. Попасть на него можно по адресу http://server_address:901 и https://server_address:10000 соответственно, указав для соединения пользователя root. Но будьте осторожны — он полностью переписывает smb.conf и некоторые параметры может просто игнорировать. Лучше предварительно сделать резервную копию файла. Я сначала использовал SWAT, а затем дорабатывал конфигурационный файл /etc/samba/smb.conf руками. Вот, что осталось у меня не закоментированным (принтеры к этому серверу не подключены):
[global] unix charset = LOCALE realm = WORKGROUP.DOMAIN.LOCAL server string = Storage samba server interfaces = eth0 bind interfaces only = Yes security = ADS obey pam restrictions = Yes passdb backend = tdbsam passwd program = /usr/bin/passwd %u passwd chat = *EntersnewsUNIXspassword:* %nn *RetypesnewsUNIXspassword:* %nn *passwordsupdatedssuccessfully* . log level = 3 syslog = 0 log file = /var/log/samba/log.%m max log size = 100 name resolve order = lmhosts host wins bcast printcap name = CUPS local master = No domain master = No dns proxy = No ldap ssl = no panic action = /usr/share/samba/panic-action %d idmap uid = 10000-20000 idmap gid = 10000-20000 template shell = /bin/bash invalid users = root [print$] comment = Printer Drivers path = /var/lib/samba/printers [distrib] path = /data/distrib valid users = @WORKGROUPDistribGroup write list = @WORKGROUPDistribGroup read only = No create mask = 0777 directory mask = 0777 [backup] path = /data/backup valid users = @WORKGROUPBackupGroup write list = @WORKGROUPBackupGroup read only = No create mask = 0777 directory mask = 0777
Мы описали два общих каталога:
- backup — доступ имеют только пользователи входящие в группу BackupGroup в Active Directory. Они могут создавать и удалять файлы/каталоги
- distrib — доступ имеют все пользователи входящие в группу DistribGroup в Active Directory
В приведённой конфигурации подразумевается, что eth0 — это сетевой интерфейс в локальную сеть, где домен имеет полное имя WORKGROUP.DOMAIN.LOCAL
- редактируем /etc/nsswitch:
passwd: compat winbind group: compat winbind shadow: compat winbind hosts: files dns wins networks: files dns protocols: files services: files ethers: files rpc: files netgroup: files
- Проверим, что в /etc/hosts есть корректная запись для нашего сервера, также можно добавить записи для контроллеров доменов:
10.0.0.15 storage.domain.local storage 10.0.0.85 dcwg1.domain.local dcwg1 10.0.0.245 dcwg2.domain.local dcwg2
- Удаляем если есть (или переносим в резервные копии) файл /etc/samba/secrets.tdb и все файлы из /var/lib/samba/*.tdb
- Проверяем конфигурацию (не обязательно):
- testparm -s
В Ubunto testparm находится в пакете samba-common-bin
- Проверим как Samba-3 winbind общается с контроллером домена Active Directory посредством протокола Kerberos:
# net ads info LDAP server: 10.0.0.85 LDAP server name: dcwg1.workgroup.domain.local Realm: WORKGROUP.DOMAIN.LOCAL Bind Path: dc=WORKGROUP,dc=DOMAIN,dc=LOCAL LDAP port: 389 Server time: Срд, 03 Мар 2010 13:12:14 NOVT KDC server: 10.0.0.85 Server time offset: -5
На рассхождение времени в секундах указывает строка «Server time offset: -5». Обратите внимание, что протокол Kerberos зависим от времени, и расхождение с часами контроллера домена допускается лишь незначительное, поэтому желательно настроить NTP клиент (см. статьи по настройке NTP). В Ubuntu это указывается в файле /etc/default/ntpdate:
NTPSERVERS="10.0.0.85 10.0.0.245"
- В Debian (и его сыновьях, таких как Ubuntu и внуках вроде Linux Mint) при установке пакета krb5-cofig сразу предлагается его настройка. Лучше всего попробовать работать с этими настройками, но если ничего предложено не было или мы хотим что-то изменить, то редактируем /etc/krb5.conf (я для более стабильной работы использовал ip адреса вместо имён серверов):
[libdefaults] default_realm = WORKGROUP.DOMAIN.LOCAL # The following krb5.conf variables are only for MIT Kerberos. krb4_config = /etc/krb.conf krb4_realms = /etc/krb.realms kdc_timesync = 1 ccache_type = 4 forwardable = true proxiable = true # #... # # The following libdefaults parameters are only for Heimdal Kerberos. v4_instance_resolve = false v4_name_convert = { host = { rcmd = host ftp = ftp } plain = { something = something-else } } fcc-mit-ticketflags = true [realms] WORKGROUP.DOMAIN.LOCAL = { kdc = 10.0.0.85 kdc = 10.0.0.245 admin_server = 10.0.0.85 } # #... # [login] krb4_convert = true krb4_get_tickets = false
- Проверим работает ли Kerberos, постараемся получить билет и просмотреть его:
# kinit administrator@WORKGROUP.DOMAIN.LOCAL Password for administrator@WORKGROUP.DOMAIN.LOCAL: # klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: administrator@WORKGROUP.DOMAIN.LOCAL Valid starting Expires Service principal 03/06/10 14:51:41 03/07/10 00:51:47 krbtgt/WORKGROUP.DOMAIN.LOCAL@WORKGROUP.DOMAIN.LOCAL renew until 03/07/10 14:51:41
- Удалим полученный билет:
# kdestroy
- Присоединяемся к домену:
# net ads join -UAdministrator Administrator's password: Using short domain name -- WORKGROUP Joined 'STORAGE' to realm 'WORKGROUP.DOMAIN.LOCAL'
Всё, компьютер включен в домен, что можно проверить на контроллере. Даже если после приведённых строк получили следующие:
[2010/03/06 15:04:00, 0] libads/kerberos.c:332(ads_kinit_password) kerberos_kinit_password STORAGE$@WORKGROUP.DOMAIN.LOCAL failed: Client not found in Kerberos database DNS update failed!
Проверка работы и отладка
- Для удобства отладки сделаем ссылку на каталог журналов:
# ln -s /var/log/samba /etc/samba/log
- Запускаем samba и winbind:
# /etc/init.d/samba start # /etc/init.d/winbind start
- Для проверки правильно ли подключение к домену можно посмотреть список пользователей и групп домена (не обязательно):
# wbinfo -u # wbinfo -g
Если нас не понимают, то подсказываем пароль для wbinfo и смотрим: список доменов в сети, информацию о домене WORKGROUP, список пользователей и групп домена:
# wbinfo --set-auth-user=root%root_password # wbinfo --all-domains # wbinfo -D WORKGROUP # wbinfo -t
- Проверяем, как работает NSS. Команда getent показывает инфо о пользователе, который может быть как в домене, так и юниксовый:
# getent passwd | grep pm pm:x:15000:15000::/home/WORKGROUP/pm:/bin/false # getent passwd | grep pavel pavel:x:500:500:Pavel Malahov:/home/pavel:/bin/bash
- Теперь можно использовать ресурсы на линукс-сервере, на которые мы дали доступ, как обычные доменные ресурсы.
Дополнительная настройка
- Можно также сопоставить (но это не обязательно) локальные учётные данные и из домена Windows. Для сопоставления пользователей редактируем файл /etc/samba/smbusers.conf:
root = admin administrator
- для сопоставления (мапирования от англ. Map) групп домена и групп UNIX выполняем:
# net groupmap modify ntgroup="Domain Admins" unixgroup=root # net groupmap modify ntgroup="Domain Users" unixgroup=users # net groupmap modify ntgroup="Domain Guests" unixgroup=nobody
- После того как всё отлажено, можно понизить уровень записи в журнал до «1». В /etc/samba/smb.conf:
log level = 1
Доступ к Samba из Windows 7 и 2008 r2
Начиная с этих версий параметры авторизации у MS поменялись. Скорее всего Samba вскоре это учтёт, а пока подружить системы можно изменив на Win7 свойства сетевой безопасности:
Пуск — Панель управления — Администрирование — Локальная политика безопасности — Локальные политики — Параметры безопасности
- Сетевая безопасность: минимальная сеансовая безопасность для клиентов на базе NTLM SSP — убрать галочку с «Требовать 128-битное шифрование». Таких параметра два — выполнить для обоих
- Сетевая безопасность: уровень проверки подлинности LAN Manager — выбрать в списке пункт «Отправлять LM- и NTML-ответы»
Работа над ошибками
Winbind не запускается
При запуске Samba обнаруживаем, что winbind не запустился:
# /etc/init.d/winbind status * winbind is not running
В журнале log.winbindd обнаруживаем запись:
[2010/03/06 13:54:34, 2] winbindd/winbindd_util.c:235(add_trusted_domain) Added domain BUILTIN S-1-5-32 [2010/03/06 13:54:34, 2] winbindd/winbindd_util.c:235(add_trusted_domain) Added domain STORAGE S-1-5-21-3963871611-1338977097-196861091 [2010/03/06 13:54:34, 0] winbindd/winbindd_util.c:782(init_domain_list) Could not fetch our SID - did we join? [2010/03/06 13:54:34, 0] winbindd/winbindd.c:1385(main) unable to initialize domain list
Видим, что добавлен «встроенный домен» (BUILTIN) и домен «название компьютера» (STORAGE), подключиться к домену AD не удалось.
Решение: Переподключить компьютер в домен. Удалять придётся с самого контроллера, т.к. комадна net ads leave скорее всего не поможет.
Ошибка получения билета Kerberos
При попытке получить билет Kerberos получили:
kinit: KDC reply did not match expectations while getting initial credentials
Решение: указать имя домена в другом регистре. Скорее всего нужны все заглавные
Полезная ссылка: http://subscribe.ru/archive/comp.soft.win.linuxsa/200510/19115643.html
Полезные комманды
$ smbclient -N -L 10.0.0.117 | показывает ресурсы компьютера с адресом 10.0.0.117 |
$ smbclient //10.0.0.117/common | Вход в расшаренную директорию. Пользователь unix от которого выполняется команда должен быть зарегистрирован в домене. |
# net ads join -U pavel -d 3 | Добавить в домен пользователя pavel |
# winbindd -d 3 -i | Режим отладки (-d), winbindd запускается не как демон (-i) |
# wbinfo -a mydomain\myuser%mypasswd | авторизируемся в домене (через winbindd, wbinfo входит в этот пакет) |
# ldapsearch | запросы к LDAP серверу, в нашем случае к MS Active Directory |
# tdbdump /etc/samba/secrets.tdb | просмотреть содержимое файла *.tdb |
См. также
- Статья Samba даёт краткий общий обзор пакета Samba утилит для него, а также описывает простой (без авторизации в домене) способ предоставления каталогов в общий доступ.
Cсылки
- http://linux.yaroslavl.ru//docs/serv/samba/samba-win2000.html — Samba и доменная аутентификация Windows2000
- http://us6.samba.org/samba/docs/man/Samba-Guide/unixclients.html#adssdm- Active Directory Domain with Samba Domain Member Server — подробная инструкция как подключить Linux сервер с помощью Samba 3 к домену под управлением AD Windows 2003.
- http://us6.samba.org/samba/docs/man/Samba-Guide/kerberos.html#id397375 — пример настройки доступа для пользователей Active Directory
- Samba-HOWTO-Collection.pdf, стр.54-57 (поставляется с исходниками) или
- http://jcifs.samba.org/ntstatus.txt — описание статусов