Подключение Debian GNU/Linux 8.6 к домену Active Directory с помощью SSSD и realmd – Блог IT-KB

Introduction

The intent of this document to is record one method of enabling Kerberos logins on a CentOS 7 system using Windows Active Directory. There are many way to do this. For a very detailed document on all of these options, check out the Red Hat Enterprise Linux 7 Windows Integration Guide.

Требуемые пакеты

Мы устанавливаем минимально необходимый набор пакетов: рабочий стол Gnome (или другой оконный менеджер по выбору), базовый сервер и Samba. Нам потребуются:

  1. пакет krb5-workstation (версия не ниже 1.9), содержащий необходимые клиентские приложения для аутентификации на основе Kerberos;
  2. пакет oddjobmkhomedir (версия не ниже 0.30-5), предназначенный для автоматического создания каталогов пользователя при первом входе в систему;
  3. сам пакет Samba (версия не ниже 3.5-10), содержащий основные программы и пакет samba-winbind, отвечающий за соединение нашего сервера с контроллером домена.

Настройка сетевого адаптера

Теперь этот IP-адрес (192.168.7.10) необходимо присвоить сетевому адаптеру вновь установленного сервера CentOS Linux. Воспользуемся пунктом меню System на рабочем столе и выберем пункт Network Connections (рис. 2).

Рис. 2. Настройка сетевого соединения.

В появившемся окне настроек зададим нужный IP-адрес. В результате мы должны получить следующее — см. рис. 3.

Рис. 3. Настройка сетевого соединения. Задание IP-адреса.

Наш сервер настроен с использованием менеджера соединений (Network Manager). Поэтому нужно обязательно отметить несколько опций:

Настройка времени

Как уже говорилось в предыдущих статьях, корректная настройка времени очень важна для работы Active Directory. Настроить время можно с использованием штатных средств системы (см. рис. 5).

Рис. 5. Настройка времени.

Но для того, чтобы полностью избежать проблем с рассинхронизацией часов, следует настроить службу времени (демон ntpd) на синхронизацию времени с контроллером домена (см. рис. 6).

Рис. 6. Настройка службы времени.

Для этого нужно отредактировать файл /etc/ntp.conf, указав в качестве сервера времени контроллер домена. Не забудьте настроить запуск демона ntpd с помощью команды chkconfig ntpd on и перезапустить его командой /etc/init.d/ntpd restart.

Проверка настроек

Произведя указанные настройки, следует проверить их корректность. Нужно протестировать соединение с контроллером домена, настройку времени, правильность прямого и обратного разрешения имен (см. рис. 7).

Рис. 7. Проверка настроек.

Настройка авторизации в домене

Теперь настала пора настроить членство нашего сервера в домене Windows. В отличие от предыдущих примеров, не будем отдельно настраивать LDAP и Kerberos. Постараемся настроить все сразу, используя утилиту командной строки authconfig, поставляемую в составе дистрибутива CentOS.

Authconfig позволяет настроить сразу все требуемые службы. При этом настраивать можно не только авторизацию в домене Windows 2008, но и использование LDAP, NIS и других способов аутентификации.

Более подробную информацию об утилите authconfig можно получить из встроенного руководства (man authconfig, онлайн-версия), либо из встроенного руководства, набрав в командной строке authconfig -help.

Достаточно будет сказать, что authconfig имеет около 50 опций настройки — представляете его возможности и, одновременно, сложности в настройке? Проще воспользоваться графическим интерфейсом к authconfig — утилитой system-config-authentication (рис. 8).

Эту утилиту можно вызвать из интерфейса администрирования системы, а можно и командной строкой. Причем второй вариант представляется предпочтительным, поскольку вывод диагностических сообщений будет происходить в окно терминала, что упростит поиск неисправностей.

Рис. 8. Вызов system-config-authentication.

Pivpav блог пивоварова павла

Сразу хочу предупредить, что данный пост скорее описание техничесской возможности хранения SSH ключей в Active Directory, и пошаговая рекомендация к тому как это сделать.

К сожалению я не нашел нормального описания данного механизма, и поэтому взялся описать то к чему пришел сам листая многочисленные статьи и документацию по SSH, AD и FreeIPA. Сразу скажу что никакого FreeIPA ставить не придется, а хранить сами ключи мы будем в поле Notes вкладки Telephones.

Потенциально нам ничего не мешает сделать отдельный атрибут в AD для этого, но я иду максимально простым путем.

Так как внутри нашей инфраструктуры установлен CentOS, то дружить с AD мы будем именно его. 

Схема работы.

Схема работы проста, и достаточно очевидна, однако не вполне очевидна с точки зрения реализации. Итак по порядку

  1. Клиент инициирует подключение к SSHd при помощи ключа.
  2. Сервер SSHd проверяет корректность подключаемого пользователя при помощи SSSD (активный аккаунт, существующее имя, Allow|Deny листы)
  3. Сервер SSHd передает управление скрипту ldap_pubkey который возвращает в STDOUT содержимое аналогичное файлу authorized_keys. В нашем случае мы используем один публичный ssh ключ.
  4. Сервер предоставляет доступ, если имя пользователя и ключ верны.

Как видно все достаточно просто, поэтому приступим.

Установка и настройка SSSD.

Первым делом мы должны установить и настроить сервис sssd для авторизации наших пользователей при помощи AD

Дальше мы создаем файл /etc/sssd/sssd.conf примерно следующего содержания

Setting up ssh client to use kerberos authentication

Note: This configuration is done entirely on the client, not the server.

Configure ~/.ssh/config to include following lines:

Ssh login using active directory credentials

AllowGroups
This keyword can be followed by a list of group name patterns, separated by spaces. If specified, login is allowed only for users whose primary group or supplementary group list matches one of the patterns. Only group names are valid; a numerical group ID is not recognized. By default, login is allowed for all groups. The allow/deny directives are processed in the following order: DenyUsers, AllowUsers, DenyGroups, and finally AllowGroups.

It looks like the Problem is the whitespace in the sshd_config, which is used as separator in the AllowGroups field. Although even not really documented, it should work to use double-quotes, using "IT Security".

https://bugzilla.mindrot.org/show_bug.cgi?id=482

For debugging groups id <username> and getent are always helpful to see if the users and groups are properly retrieved.

Also check the sssd.conf man page and verify how sssd handles whitespace in groups.

Аутентификация samba в домене windows

Мы продолжаем серию статей про взаимодействие Linux и Windows.Теперь мы рассмотрим задачу введения в домен Windows 2008R2 сервера с операционной системой CentOS Linux (версия 6.3). Как и в последних статьях, будем пользоваться штатными средствами, поставляемыми в составе дистрибутива операционной системы.

Но, в отличие от наших предыдущих статей, мы расширим задачу. Требуется организовать не только файловое хранилище на сервере под управлением CentOS Linux, но и обеспечить доступ доменных пользователей к командной и графической оболочке.

Ввод centos 7 в домен active directory и авторизация по ssh доменных пользователей

Мне понадобилось настроить авторизацию доменный учетных записей Active Directory по ssh на linux сервер. В моем случае это будет система CentOS 7. Данная возможность будет очень удобна для организаций с внедренной доменной структурой Windows. С помощью групп доступа в AD вы сможете централизованно управлять доступом к linux серверам.

Добавление rhel (centos) 5 сервера в домен active directory

Подключение Debian GNU/Linux 8.6 к домену Active Directory с помощью SSSD и realmd - Блог IT-KB

Если ввод в домен рабочей станции или сервера Windows довольно тривиальная задача, то присоединение к домену Linux системы оказалось не на много сложнее 🙂 Прогресс не стоит на месте, Red Hat приложила (да и Microsoft тоже) немело усилий для безпроблемного сосуществования и взаимодействия различных операционных систем. В качестве примера возьмем сервер с RHEL 5.

6 на борту с именем server01  и заведем его в Active Directory домен ACME.LOCAL Для начала проверяем что в имени машины присутствует имя домена

[root@server01 ~ ] vim /etc/sysconfig/network

HOSTNAME=server01.acme.local если нет – правим файл и, затем, выполняем команду

[root@server01 ~ ] hostname server01.acme.local

Указываем короткое и полное имя этого сервера

[root@server01 ~ ] vim /etc/hosts

127.0.0.1       server01 server01.acme.local localhost localhost.localdomain Важный момент: прописываем IP нашего контроллера домена как DNS сервер

[root@server01 ~ ] vim /etc/resolv.conf

nameserver 192.168.1.1 Далее необходимо синхронизаровать системное время между сервером и контроллером домена. Правим конфигурационный файл службы точного времени:

[root@server01 ~ ] vim /etc/ntp.conf

добавляя строку:

server dc.acme.local

 здесь – dc.acme.local – это имя контроллера домена для ACME.LOCAL. Время должно быть синхронизировано для корректной работы службы Kerberos

Настраиваем службу времени на запуск при старте системы 
[root@server01 ~ ] chkconfig ntpd on 
и запускаем ее:
[root@server01 ~ ] service ntpd start
Ставим клиент Samba 3.3

[root@server01 ~ ] yum install samba3x samba3x-common samba3x-client

Можно использовать Samba 3.0 который идет в поставке RHEL версии 5.4 и ранее, но для домена на основе Windows Server 2008 R2 рекомендуется использовать samba-3.3. В моем случае это позволило побороть сообщения в журнале /var/log/messagesА теперь самая магия.

Запускаем нижеследующую команду одной строкой либо с обратными слешами:

[root@server01 ~ ] authconfig –update –kickstart<p>–enablewinbind –enablewinbindauth –smbsecurity=ads –smbworkgroup=ACME –smbrealm=ACME.LOCAL –smbservers=DC.ACME.

Дополнительные материалы по centos

Настройки системыНастройка программных комплексовНастройка отдельных программРазное
Рекомендую полезные материалы по CentOS:
Установка CentOS 7 в конфигурации minimal или netinstall с загрузочной флешки или по сети на диск или raid раздел.Базовая настройка CentOS 7 для работы с любым функционалом. Приведены практические советы по улучшению безопасности и удобства администрирования.Как установить точное время на сервере CentOS, настроить часовой пояс, синхронизировать время с помощью ntpdate и ntpd и другое.Подробное описание настройки сети в CentOS 7 – задать ip адрес, dhcp, отключить ipv6, dns, hostname, статические маршруты и др.
 Подробное описание настройки прокси сервера на базе CentOS 7 со связкой squid AD sams2, реализован запрет доступа по url и группам пользователей.Описание установки и настройки asterisk – популярной современной sip атс. Описан расширенный функционал, покрывающий большинство потребностей стандартного офиса в современной телефонии.Установка и настройка высокопроизводительного web сервера на базе nginx и php fpm. В качестве кэша используется APC.
 Настройка DNS сервера BIND (Named) в CentOS 7. Рассмотрены наиболее популярные конфигурации, в том числе подробное логирование.Установка Unison в CentOS 7 для двухсторонней синхронизации файлов.Настройка сервера для централизованного сбора логов с удаленных устройств и серверов с помощью программы syslog-ng.

Как присоединить серверы centos 7 / rhel 7 к домену active directory

В большинстве сред домен Active Directory является центральным центром информации для пользователя, а это значит, что для систем Linux необходимо каким-то образом получить доступ к этой пользовательской информации для запросов на аутентификацию.

В этой статье мы покажем вам, как присоединить  системы CentOS 7 / RHEL 7 в домен Active Directory.

Прежде чем присоединиться к домену AD, нам необходимо убедиться, что мы установили службы времени (NTP) и DNS.

При наличии этих инфраструктурных служб нам понадобятся следующие пакеты, установленные на сервере CentOS / RHEL:

  • realmd: управляет регистрацией и членством в доменах Active Directory
  • samba:  служба samba
  • samba-common: общие инструменты для серверов и клиентов
  • oddjob: Это служба D-bus, которая запускает odds задания для клиентов
  • oddjob-mkhomedir: используется odds службами задания для создания домашних каталогов для учетных записей AD, если это необходимо
  • sssd:  демон System Security Services
  • adcli: : Это инструменты для присоединения и управления доменами AD

— Используйте следующую команду для установки необходимых пакетов:

# sudo yum install oddjob realmd samba samba-common oddjob-mkhomedir sssd adcli

— Чтобы обнаружить идентификатор домена, мы будем использовать команду обнаружения области, которая вернет полную конфигурацию домена и список пакетов, которые должны быть установлены для системы, которая будет зарегистрирована в домене.

# realm discover yallalabs.local YALLALABS.LOCAL type: kerberos realm-name: YALLALABS.LOCAL domain-name: YALLALABS.LOCAL configured: no server-software: active-directory client-software: sssd required-package: oddjob required-package: oddjob-mkhomedir required-package: sssd required-package: adcli required-package: samba-common-tools yallalabs.local type: kerberos realm-name: YALLALABS.LOCAL domain-name: yallalabs.local configured: no

— Чтобы присоединиться к домену AD, добавьте компьютер в папку по умолчанию в домене AD, используя следующую команду:

Ограничение доступа ssh по группам и пользователям домена

На текущий момент подключиться к серверу может любой пользователь домена. Исправим это и разрешим подключаться только пользователям из группы gr_linux_adm. Для этого правим конфиг /etc/sssd/sssd.conf, добавляя туда новые параметры.

Ограничение доступа к sudo по доменным группам

Ограничение доступа к ssh по группам и пользователям настроили, теперь надо разрешить доменным учетным записям получать права суперпользователя в системе. Сейчас у них нет такой возможности.

Ограничение доступа через доменные группы безопасности

Теперь нам нужно подумать о том, как ограничить доступ доменных пользователей для входа на наш Linux-сервер, так как в конфигурации по умолчанию все доменные пользователи, успешно прошедшие аутентификацию, смогут войти в нашу Linux-систему. Это подтвердит команда realm list, в которой нам нужно обратить внимание на строчку login-policy

Подготовка сервера

Если у вас еще нет готового сервера, то можете воспользоваться моими материалами на эту тему — установка и настройка centos 7. Так же рекомендую настроить iptables для корректной работы сервера с доменом windows. Далее я не буду каcаться этого вопроса, мы просто отключим фаерволл, потому что его настройка не тема этой статьи.

Выключаем firewalld:

# systemctl stop firewalld && systemctl disable firewalld

Перед дальнейшей настройкой, убедитесь, что с вашего сервера centos вы без проблем пингуете и резолвите контроллер домена по полному имени. Если есть какие-то проблемы, исправьте это либо указанием нужного dns сервера, либо правкой файла hosts.

Настроим синхронизацию времени с контроллером домена. Это важно, у вас должно быть одинаковое время с контроллером домена. Проверьте его и убедитесь, что стоят одинаковые часовые пояса.

Устанавливаем утилиту для синхронизации времени chrony:

# yum install chrony

Добавляем в конфиг /etc/chrony.conf адрес контроллера домена. И делаем его единственным сервером для синхронизации, остальные удаляем.

server xs-winsrv.xs.local iburst

Сохраняем конфиг, запускаем chrony и добавляем в автозагрузку.

# systemctl start chronyd && systemctl enable chronyd

Проверим, что с синхронизацией.

# cat /var/log/messages | grep chronyd Jul 12 17:58:38 xs-centos7-test chronyd[10620]: chronyd version 2.1.1 starting ( CMDMON NTP REFCLOCK RTC PRIVDROP DEBUG ASYNCDNS IPV6 SECHASH) Jul 12 17:58:38 xs-centos7-test chronyd[10620]: Frequency 0.

000 /- 1000000.000 ppm read from /var/lib/chrony/drift Jul 12 17:02:54 xs-centos7-test chronyd[10620]: Selected source 10.1.3.4 Jul 12 17:02:54 xs-centos7-test chronyd[10620]: System clock wrong by -3348.457170 seconds, adjustment started Jul 12 17:02:54 xs-centos7-test chronyd[10620]: System clock was stepped by -3348.457170 seconds

Все в порядке. Синхронизировали время с контроллером домена. По логу видно, что время на сервере убежало вперед на 56 минут, но мы это исправили.

Подключение centos 7 к домену

Устанавливаем софт, который нам понадобится, для корректного ввода centos в домен windows.

# yum install realmd sssd oddjob oddjob-mkhomedir adcli samba-common samba-common-tools

Вводим Centos 7 в домен:

Предварительные требования

Прежде чем приступить к установке и настройке SSSD, убедимся в том, что на нашей Linux-системе корректно настроен DNS клиент, то есть, как минимум, в файле /etc/resolv.conf есть ссылки на DNS-серверы, которые отвечают за разрешение имён в домене Active Directory:

Проверяем доступ к пользователям и группам active directory

Теперь можно проверить возможность получения информации о пользователе из домена AD. При желании можно проверить разные форматы представления учётной записи (с NetBIOS-именем домена, с доменным суффиксом в виде UPN):

Прозрачная аутентификация к ubuntu server 12.04.5 c доменных компьютеров — реальные заметки ubuntu & mikrotik

Продолжая тему интеграции системы на базе Ubuntu Server 12.04.5 в доменную инфраструктуру Active Directory (AD), в этой заметке я рассмотрю такой вопрос как настройка безпарольного подключения к системе Ubuntu с клиентских компьютеров под управлением Windows 7, т. е. это своего рода настройка Single sign-on (SSO).

Такую прозрачную аутентификацю я показывал у себя на блоге, как для

Windows XP

Windows 7

тем самым инициализировалось подключение к терминальному серверуWindows. А данная практическая заметка покажет еще один вариант использования Single sign-on.

Итак, в домене Polygon.localсоздал группу LinuxAdmin и включил в нее пользователя с учетной записью admin.

Данная заметка опирается на ниже следующие:

Как ввести систему Ubuntu 12.04 в домен polygon.local

После перезагрузки системы не похватывается получение тикета домена

Чтобы создавался пользовательский доменный каталог

Активируем поддержкуGSSAPIдля службыOpenSSHи предопределю ограничение по группам доступа на подключение из вне:

ekzorchik@srv-serv:~$ sudo nano /etc/ssh/sshd_config

# Kerberos options

KerberosAuthentication yes

#KerberosGetAFSToken no

KerberosOrLocalPasswd yes

KerberosTicketCleanup yes

# GSSAPI options

GSSAPIAuthentication yes

GSSAPICleanupCredentials yes

AllowGroups adm LinuxAdmin

Сохраняем внесенные изменения.

На заметку: Разрешённые группы указывают с разделителем в виде пробела. В списке могут фигурировать как локальные (для локальных пользователей) так и доменные (для доменных пользователей) группы доступа, при этом их названия должны быть указаны в нижнем регистре, так как их возвращает команда groups для текущего пользователя.

Примет вывода групп в которых состоит текущий пользователь:

ekzorchik@srv-serv:~$ groups

ekzorchik adm cdrom sudo dip plugdev lpadmin sambashare domain users schema admins enterprise admins domain admins BUILTINadministrators BUILTINusers

, из вывод видно, что пользователь ekzorchikне принадлежит группе LinuxAdmin и ее нет в выводе, если же авторизовать под пользователем admin то и вывод будет другой:

ekzorchik@srv-serv:~$ su - admin

Password:Aa1234567

Password:Aa1234567

admin@srv-serv:~$ groups

domain users domain admins BUILTINadministrators BUILTINuserslinuxadmin

, вывод показывает, что пользователь admin принадлежит группе linuxadmin.

Для вступления изменений в силу перезапускаем службу сервераSSH:

ekzorchik@srv-serv:~$ sudo service ssh restart

ssh stop/waiting

ssh start/running, process 3283

Далее реализую возможность дляKerberosподсистемы представляться разным службам от имени записи вида:(SPN) HOST/{ServerFQDN}@{DomainFQDN}.

ekzorchik@srv-serv:~$ sudo rm /etc/krb5.keytab

ekzorchik@srv-serv:~$ sudo net ads keytab create -U ekzorchik

Enter ekzorchik's password: указываю пароль - 712mbddr@

ekzorchik@srv-serv:~$ sudo net ads keytab add HOST/[email protected] -U ekzorchik

Processing principals to add...

Enter ekzorchik's password:712mbddr@

, где U ekzorchik (вместо данной учетной записи указывается любой доменный пользователь состоящей в группе Domain Admins)

Теперь посмотрим, что получим из вывода команды:

ekzorchik@srv-serv:~$ sudo net ads keytab list

Vno Type Principal

2 DES cbc mode with CRC-32 host/[email protected]

2 DES cbc mode with RSA-MD5 host/[email protected]

2 ArcFour with HMAC/md5 host/[email protected]

2 DES cbc mode with CRC-32 host/[email protected]

2 DES cbc mode with RSA-MD5 host/[email protected]

2 ArcFour with HMAC/md5 host/[email protected]

2 DES cbc mode with CRC-32 [email protected]

2 DES cbc mode with RSA-MD5 [email protected]

2 ArcFour with HMAC/md5 [email protected]

2 DES cbc mode with CRC-32 HOST/[email protected]

2 DES cbc mode with RSA-MD5 HOST/[email protected]

2 ArcFour with HMAC/md5 HOST/[email protected]

Далее редактирую конфигурационный файлSamba 3.6.3:

ekzorchik@srv-serv:~$ sudo nano /etc/samba/smb.conf

kerberos method = secrets and keytab

Сохраняем внесенные изменения

Теперь переключаюсь на компьютер (W7X86) под управлением Windows 7, авторизовавшись под доменной учетной записью admin и настраиваюSSHклиент =>PuTTY.

Session:

Host Name (or IP address)= srv-serv

Port = 22

, где srv-serv – это запись уже через оснастку DNS заведена на домен контроллере в ручную сопоставлением IP и DNS.

Connection — Data

Use system username (admin)

, где admin – имя текущего пользователя Windows

Connection – SSH – Auth – GSSAPI (включаем опции)

Attempt GSSAPI authentication (SSH-2 only)

Allow GSSAPI credential delegation

После снова переходим в Sessionи сохраняем настройки данного подключения:

Saved Sessionsуказываем по имени сервера к которому подключаемся и нажимаем Save
Настраиваю Putty клиент для прозрачной аутентификации

Пробую выполнить подключение кнопкой «Open», на запроc об принятииSSHтокена соглашаюсь нажав «ДА»

Принимаю токен подключения через SSH

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

Прозрачное подключение происходит успешно

Если же Вы все таки выводится предложение ввести пароль:

Если все таки выводится пароль, то активируем подробные логи

Для расследования данного инцидента потребуется включить подробное логирование в конфигурационном файлеsshd_config:

ekzorchik@srv-serv:~$ sudo nano /etc/ssh/sshd_config

было:

# Logging

SyslogFacility AUTH

LogLevel INFO

привел к виду:

# Logging

SyslogFacility AUTH

LogLevel DEBUG3

Сохраняю внесенные изменения.

На рабочей станции снова инициализируем подключение через клиент Puttyи переключившись на консоль работы с сервером Ubuntuсмотрим расширенные логи подключения с целью обозначить проблемы и решить:

ekzorchik@srv-serv:~$ sudo tail -f /var/log/auth.log | grep w7x86.polygon.local

Sep 14 16:03:26 srv-serv sshd[3369]: User admin from w7x86.polygon.local not allowed because none of user's groups are listed in AllowGroups

, как видно у меня в конфиге /etc/ssh/sshd_config группа задана с использование заглавного написания, а нужно было указать просто без этого, сам же ведь себе выше в заметке привел пример вывода команды groupsвот и моя невнимательность., исправляю:

ekzorchik@srv-serv:~$ sudo nano /etc/ssh/sshd_config

AllowGroups adm linuxadmin

Сохраняю изменения и перезапускаю демон SSH:

ekzorchik@srv-serv:~$ sudo service ssh restart

ssh stop/waiting

ssh start/running, process 3381

Проверю снова подключение через клиент Puttyи на этот раз проблем нет. Так перед тем как паниковать, советую почитать логи, а уже потом если все таки не удается решить проблемы на основе сообщений логов уже Googleить.

Решил проверить, а смогу ли я на этой рабочей станции но уже под учетной записью ekzorchikпроделать такой фокус (ведь состоит в группу adm), настроил клиент Puttyи тоже получилось авторизоваться. Работает.

Пробую повторить под учетной записьюalektestи получаю ошибку, ну не совсем чтобы ошибку, а запрос ввода пароля для аутентификации:

Using username «alektest».

alektest@srv-serv’s password:

ввожу пароль: Aa1234567

но не пускает,

Using username «alektest».

alektest@srv-serv’s password:

Access denied

, а оно и правильно, ведь он не состоит ни в какой группе, кроме «Domain Users”. Да и к тому же в логах фиксирую:

ekzorchik@srv-serv:~$ sudo tail -f /var/log/auth.log | grep alektest

Sep 14 17:46:32 srv-serv sshd[5455]: debug1: userauth-request for user alektest service ssh-connection method none [preauth]

Sep 14 17:46:32 srv-serv sshd[5455]: User alektest from w7x86.polygon.local not allowed because none of user's groups are listed in AllowGroups

Sep 14 17:46:32 srv-serv sshd[5455]: input_userauth_request: invalid user alektest [preauth]

Sep 14 17:46:32 srv-serv sshd[5455]: debug1: userauth-request for user alektest service ssh-connection method gssapi-with-mic [preauth]

Sep 14 17:46:32 srv-serv sshd[5455]: debug1: PAM: initializing for "alektest"

На основе всего того что приведено выше, считаю что заметка полностью имеет право быть опубликованной на моем блоге. Пошаговые действия по именованию заметки полностью расписаны. Мне же остается только попрощаться с читателями и сказать — «До встречи», с уважением автор блога ekzorchik.

Создание домена active directory в centos

Samba версии 4 позволяет создавать домены Active Directory с функциональностью, близкой к доменам на Windows. Уровень схемы соответствует Windows 2008 R2.

Из ограничений следует отметить отсутствие на данный момент поддержки Distributed File System (DFS) и невозможность установить ряд приложений, модифицирующих схему, напр., M$ Exchange.

Нужны дополнительные действия для репликации SYSVOL при 2-х или более КД.

Рассмотрим установку каталога Active Directory на 2-х контроллерах домена под управлением Samba 4, работающей на CentOS 7. Следует отметить, что в базовых репозиториях и EPEL пакет Samba не содержит необходимых для нас функций, поэтому потребуется ее сборка.

Ранее доступный на sernet’е (Enterprise Samba) бинарный RPM в свободном доступе доступен лишь в старой версии – по 4.2, новее – только по подписке.  Мы же поставим текущую на момент написания статьи версию 4.5.3.

Отключать брандмауэр и SELinux, как рекомендуют во многих источниках, не нужно!

Перед началом желательно прочесть документацию

Setting up Samba as an Active Directory Domain Controller

Joining a Samba DC to an Existing Active Directory

Official Samba FAQ

AltLinux ActiveDirectory/DC

ArchLinux Samba 4 Active Directory domain controller

И после установки дополнительные материалы

Samba AD DC Port Usage

Rsync based SysVol replication workaround

Managing the Samba AD DC Service

Итак, приступим. 🙂

Удалённый доступ по протоколу ssh

Если говорить про SSH, то никакой специальной настройки sshd я не выполнял, так как по умолчанию ssh-сервер уже настроен на использование PAM, а тот в свою очередь был ранее автоматически настроен на использование доменной аутентификации с помощью утилиты realm.

Финиш

По завершении всех процедур настройки можно вернуть имя хоста в исходное состояние, «привычное» для Debain.

# hostname KOM-SRV01

После завершения настройки перезагружаем Linux-сервере, чтобы убедиться в успешном автоматическом запуске SSSD и последующей корректной работы аутентификации/авторизации на базе доменных учётных записей.


Дополнительные источники информации:


Проверено на следующих конфигурациях:


Подключение Debian GNU/Linux 8.6 к домену Active Directory с помощью SSSD и realmd - Блог IT-KB Автор первичной редакции:
Алексей Максимов
Время публикации: 13.09.2022 16:43

Заключение

Данная работа выполнена на базе Информационно-вычислительного центра МЭИ.Мы будем рады вашим замечаниям и предложениям. У нас есть возможности собрать тестовую сеть и отладить на ней различные варианты и конфигурации систем для обеспечения их взаимодействия.

Заключение

На этом все. Я рассмотрел наиболее типовую ситуацию, которая может быть полезной при использовании структуры AD совместно с linux серверами. При написании статьи использовал официальные руководства:

Почему-то из руководства по RHEL 7 раздел, посвещенный SSSD убрали, хотя в 5 и 6 есть. Может просто я не заметил, так как структура сильно поменялась. Люблю я CentOS в первую очередь за отличную документацию Redhat. Там есть подробное описание практически всего, с чем приходилось сталкиваться. Надо только не лениться в английском языке разбираться.

Похожее:  Что за ❓ система оплаты школьного питания Ладошка?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *