- Ввод Astra Linux Special Edition 1.6 в Active Directory с настройкой SSO в PostgreSQL.
- Вводные данные
- Разблокировка учетной записи ROOT
- Настройка сети на bd1
- Установим требуемые пакеты
- Настройка конфигурационных файлов для работы с доменом Active Directory.
- Введение
- Возможности Samba
- Samba как контроллер домена (инструмент astra-sambadc)
- Подготовка компьютера
- Ввод клиента Astra Linux в домен AD
- Проверка успешности присоединения к домену
- Astra Linux Special Edition 1.5 ⬝ Ввод в домен Windows AD и настройка SSO
- Ввод Astra Linux в домен Windows
- Разблокирование суперпользователя (root)
- Настройка сети
- Установка требуемых пакетов
- Настройка конфигурационных файлов
- Настройка Apache и Postgresql на работу с Kerberos
Ввод 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
Сервер 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
Произведем до установку пакетов которые нам потребуются далее (потребуется диск с дистрибутивом ОС)
apt-get install nscd nslcd libpam-winbind libpam-krb5 libsasl2-modules-gssapi-mit krb5-user libnss-winbind
Чтобы установить следующий пакет потребуется диск разработчика
Настройка конфигурационных файлов для работы с доменом Active Directory.
Отредактируем конфигурационный файл Kerberos /etc/krb5.conf и приведем его к виду
Введение
В состав дистрибутивов Astra Linux входит пакет программ Samba, обеспечивающий совместимость со средой Microsoft Active Directory (далее — AD).
Samba позволяет компьютерам с ОС Astra Linux выступать как в роли контроллера домена AD, так и в роли клиента домена AD.
Помимо пакета Samba в состав дистрибутивов Astra Linux входят консольные и графические средства, позволяющие быстро инициализировать Active Directory домен или подключиться к уже существующему домену AD.
Возможности Samba
• Служба аутентификации на базе Kerberos v5;
• LDAP-совместимая служба каталогов с поддержкой репликации;
• Поддержка групповых политик;
• Поддержка доверительных отношений;
• DNS-сервер на базе BIND или собственной реализации.
Samba как контроллер домена (инструмент astra-sambadc)
В состав Astra Linux входят инструменты обеспечивающие сценарии автоматизированной настройки и построения нового контроллера домена или включения в существующий домен в роли контроллера домена.
- Инструмент командной строки:
Установить эти инструменты можно с помощью графического менеджера пакетов или из командной строки:
При установке инструментов автоматически будут установлены необходимые для работы домена AD пакеты samba, winbind и ntp.
Samba как контроллер домена поддерживает два режима работы с DNS:
- с использованием встроенного DNS-сервера Samba;
- с использованием DNS-сервера bind9. Если предполагается, что будет использоваться сервер bind9 следует установить его и установить пакет dnsutils:
Подготовка компьютера
- Рекомендуется назначить компьютеру постоянный IP-адрес. Допускается использовать динамическое назначение адресов, но при этом должно быть настроено автоматическое обновление адресов (настройка работы в таком режиме выходит за рамки данной статьи, см. статьи DHCP-сервер ISC-DHCP).
Если используется получение адреса по DHCP, то отдельно следует обеспечить, чтобы вместе с адресом по DHCP не принимались посторонние имя поискового домена и адрес сервера DNS. Общие инструкции по настройке см. в статье Настройка сетевых подключений в Astra Linux.
# Generated by NetworkManager search sambadomain.ru nameserver 192.168.27.251
При использовании службы автоматической настройки сети NetworkManager этот файл нельзя редактировать напрямую, и следует использовать инструменты NetworkManager. Общие инструкции по настройка см. в статье Настройка сетевых подключений в Astra Linux.
Для создания нового домена с помощью инструмента командной строки используется команда:
Для содания нового домена с использованием DDNS следует дополнительно использовать опцию -b, например:
Данные, необходимые для создания домена и не указанные в аргументах команды при выполнении команды будут запрошены в интерактивном режиме.
Дополнительная информация по использованию команды доступна при выполнении команды astra-sambadc с параметром -h:
Графический инструмент после установки доступен для запуска из командной строки или через систему меню: «Пуск» — «Панель управления» — «Сеть» — «Настройка сервера Active Directory»
Ввод клиента Astra Linux в домен AD
В состав дистрибутивов Astra Linux входит графический инструмент:
реализующие сценарий автоматизированной настройки компьютера Astra Linux для ввода в существующий домен AD.
При написании этой статьи в качестве контроллера домена Active Directory использовался демонстрационный образ Windows Server 2012 R2, доступный на WEB-сайте Microsoft, в качестве клиентов использовались компьютеры под управлением Astra Linux Common Edition и Astra Linux Special Edition.
Перед вводом компьютера в домен необходимо настроить на этом компьютере :
- службу разрешения имён (DNS) так, чтобы в качестве сервера DNS использовался сервер DNS этого домена. Если этого не сделать, то контроллер домена не будет обнаружен;
- службу времени, чтобы обеспечить точные показания часов. При некорректных показаниях часов невозможна доменная аутентификация с использованием Kerberos. Если из-за скачков времени в кеш попадают записи из будущего то даже при синхронизированных часах аутентификация остается невозможной, и при входе пользователя выдается предупреждение вида «Failed to establish your Kerberos Ticket cache due time differences with the domain controller. Please verify the system time.». Для устранения этой ошибки необходимо очистить кеш командой:
Для ввода компьютера в домен используется команда:
Данные, необходимые для ввода в домен и не указанные в аргументах команды, будут запрошены в интерактивном режиме.
Дополнительная информация по использованию команды доступна при выполнении команды astra-winbind с параметром -h:
Графический инструмент для ввода компьютера в существующий домен AD fly-admin-ad-client после установки доступен для запуска из командной строки или через систему меню:
Проверка успешности присоединения к домену
Для проверки успешности присоединения к домену рекомендуется использовать команду:
Дополнительно, можно использовать различные варианты команды wbinfo, например проверка регистрации:
Список пользователей домена:
Astra Linux Special Edition 1.5 ⬝ Ввод в домен Windows AD и настройка SSO
Описание процесса настройки Astra Linux для ввода в домен Windows. Настройка SAMBA, Winbind, Apache и Postgresql.
Данная статья применима к:
Напоминаем о том, что перед вводом клиента в AD или ALD необходимо корректно настроить сеть.
Внимание! Если в дальнейшем будет изменятся конфигурационный файл samba, будет выполнено повторное введение в AD или возникнет затруднение, то обязательно потребуется очистка каталогов /var/cache/samba/* и /var/lib/samba/*
Ввод Astra Linux в домен Windows
Исходные данные:
Имя — dc
Домен – dev.local
ОС — Windows Server 2008 R2. Настроен как контроллер домена
ip — 192.168.1.1
Имя – ws3
ОС — Astra Linux 1.5 SE. Установлена без ALD и без режима киоска. Из дополнительного ПО на этапе установки выбрано: базовые средства, рабочий стол Fly, средства работы в сети, сетевые сервисы, СУБД.
ip — 192.168.1.3
Разблокирование суперпользователя (root)
Для более удобной работы разблокируем учётную запись root:
root разблокирован. Можно использовать su или перезайти root-ом. Можно не использовать учётную запись root, а команды выполнять с использованием sudo.
По завершении настроек учётную запись root необходимо заблокировать!
Настройка сети
В начало файла /etc/hosts добавить строки:
192.168.1.3 ws3.dev.local ws3 127.0.0.1 localhost
Строку с 127.0.1.1 ws3 удалить.
Убедиться, что в файле /etc/hostname правильно указано имя машины:
Назначим статический ip-адрес. В файл /etc/network/interfaces добавить строки:
auto eth0 iface eth0 inet static address 192.168.1.3 gateway 192.168.1.1 netmask 255.255.255.0
Создать файл /etc/resolv.conf и добавить строки:
domain dev.local search dev.local nameserver 192.168.1.1
Перезапустим сетевую службу:
Установка требуемых пакетов
Проверить установлены ли samba, winbind, ntp, apache2 и postgresql:
apt-get install nscd nslcd libpam-winbind libpam-krb5 libapache2-mod-auth-kerb php5 php5-pgsql php5-sybase php5-ldap libsasl2-modules-ldap libsasl2-modules-gssapi-mit krb5-user
Настройка конфигурационных файлов
Редактируем файл /etc/krb5.conf и добавляем недостающую информацию в соответствующие разделы:
[libdefaults] default_realm = DEV.LOCAL krb4_config = /etc/krb.conf krb4_realms = /etc/krb.realms kdc_timesync = 1 ccache_type = 4 forwardable = true proxiable = true v4_instance_resolve = false v4_name_convert = < host = < rcmd = host ftp = ftp >plain = < something = something-else >> fcc-mit-ticketflags = true [realms] DEV.LOCAL = < kdc = dc.dev.local admin_server = dc.dev.local default_domain = dev.local >[domain_realm] .dev.local = DEV.LOCAL dev.local = DEV.LOCAL [login] krb4_convert = true krb4_get_tickets = false
Редактируем файл /etc/samba/smb.conf. Если каких-то параметров нет, то добавляем:
[global] workgroup = DEV realm = DEV.LOCAL os level = 0 invalid users = root load printers = no show add printer wizard = no printcap name = /dev/null disable spoolss = yes dns proxy = no security = ads kerberos method = secrets and keytab dedicated keytab file = /etc/krb5.keytab encrypt passwords = true domain logons = no socket options = TCP_NODELAY local master = no domain master = no preferred master = no idmap config * : range = 10000-20000 idmap config * : backend = tdb template shell = /bin/bash template homedir = /home/%D/%U winbind enum groups = yes winbind enum users = yes winbind use default domain = yes winbind offline logon = yes winbind refresh tickets = yes
Если в дальнейшем будет изменятся конфигурационный файл samba, обязательно требуется очистка каталогов /var/cache/samba/* и /var/lib/samba/*
Проверим, нет ли ошибок в конфигурации samba, выполнив команду:
Редактируем файл /etc/security/limits.conf. Добавляем в конец:
* - nofile 65536 root - nofile 65536
passwd: compat winbind group: compat winbind shadow: compat hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis
Редактируем файл /etc/pam.d/common-session. Добавляем в конец:
session optional pam_mkhomedir.so skel=/etc/skel/ umask=0077
service samba restart
service winbind restart
service ntp restart
service nscd restart
service nslcd restart
В результате успешного выполнения предыдущей команды должен появиться файл /etc/krb5.keytab. Просмотреть список принципалов в этом файле можно командой:
service samba status
service winbind status
service nscd status
service nslcd status
service apache2 status
service postgresql status
Настройка Apache и Postgresql на работу с Kerberos
Редактируем файл /etc/apache2/sites-available/default. Настраиваем директорию на использование Kerberos:
AuthType Kerberos KrbServiceName host/ws3.dev.local@DEV.LOCAL Krb5Keytab /etc/krb5.keytab KrbMethodK5Passwd off KrbLocalUserMapping on KrbSaveCredentials on Require valid-user
Принципал, задаваемый параметром KrbServiceName, должен быть в файле таблицы ключей /etc/krb5.keytab. Проверить можно командой:
Назначим права для пользователя www-data, от имени которого работает Apache, для доступа к macdb и к файлу таблицы ключей:
usermod -a -G shadow www-data
setfacl -d -m u:www-data:r /etc/parsec/macdb
setfacl -R -m u:www-data:r /etc/parsec/macdb
setfacl -m u:www-data:rx /etc/parsec/macdb
setfacl -m u:www-data:r /etc/krb5.keytab
Всем доменным пользователям, которым требуется доступ к веб-серверу, необходимо назначить метки безопасности и уровни:
listen_addresses = '*' krb_server_keyfile = '/etc/krb5.keytab' krb_caseins_users = off
Редактируем файл /etc/postgresql/9.4/main/pg_hba.conf:
local all all peer host all all 192.168.1.0/24 gss
Назначим права для пользователя postgres, от имени которого работает Postgresql, для доступа к macdb и к файлу таблицы ключей:
usermod -a -G shadow postgres
setfacl -d -m u:postgres:r /etc/parsec/macdb
setfacl -R -m u:postgres:r /etc/parsec/macdb
setfacl -m u:postgres:rx /etc/parsec/macdb
setfacl -m u:postgres:r /etc/krb5.keytab
На контроллере домена dc нужно добавить принципала к учётной записи машины ws3, для чего выполнить команду от имени администратора: