Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

Инструменты пользователя

Инструменты сайта


unix-linux:debian:stretch:join-debian-linux-9-stretch-to-active-directory-domain-with-sssd-realmd-with-ad-security-group-authorization-in-pam-for-console-login-and-ssh-sso-putty-and-apache-kerberos-auth

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
unix-linux:debian:stretch:join-debian-linux-9-stretch-to-active-directory-domain-with-sssd-realmd-with-ad-security-group-authorization-in-pam-for-console-login-and-ssh-sso-putty-and-apache-kerberos-auth [25.06.2019 09:53] – [SSHD и PuTTy] Алексей Максимовunix-linux:debian:stretch:join-debian-linux-9-stretch-to-active-directory-domain-with-sssd-realmd-with-ad-security-group-authorization-in-pam-for-console-login-and-ssh-sso-putty-and-apache-kerberos-auth [14.03.2024 13:08] (текущий) – [SUDO] Алексей Максимов
Строка 1: Строка 1:
-===== Подключение Debian GNU/Linux 9 Stretch к домену Active Directory с помощью SSSD/realmd и настройка PAM для аутентификации и авторизации sshd/Apache =====+===== Подключение Debian GNU/Linux 9 (Stretchк домену Active Directory с помощью SSSD/realmd и настройка PAM для аутентификации и авторизации sshd/Apache =====
  
 {{:unix-linux:debian:stretch:pasted:20190625-091314.png }} Подробное описание процедуры присоединения компьютера с **Debian GNU**/**Linux** к домену **Active Directory** с помощью **SSSD** и **realmd** можно найти [[https://blog.it-kb.ru/2016/10/15/join-debian-gnu-linux-8-6-to-active-directory-domain-with-sssd-and-realmd-for-authentication-and-configure-ad-domain-security-group-authorization-for-sudo-and-ssh-with-putty-sso/|здесь]]. Рекомендуется предварительно ознакомится с этим материалом, а также с [[https://blog.it-kb.ru/2017/11/18/recommendations-for-configuring-sssd-in-debian-gnu-linux-about-dns-kerberos-and-active-directory-dc-search/|замечаниями по настройке SSSD в Debian GNU/Linux]]. {{:unix-linux:debian:stretch:pasted:20190625-091314.png }} Подробное описание процедуры присоединения компьютера с **Debian GNU**/**Linux** к домену **Active Directory** с помощью **SSSD** и **realmd** можно найти [[https://blog.it-kb.ru/2016/10/15/join-debian-gnu-linux-8-6-to-active-directory-domain-with-sssd-and-realmd-for-authentication-and-configure-ad-domain-security-group-authorization-for-sudo-and-ssh-with-putty-sso/|здесь]]. Рекомендуется предварительно ознакомится с этим материалом, а также с [[https://blog.it-kb.ru/2017/11/18/recommendations-for-configuring-sssd-in-debian-gnu-linux-about-dns-kerberos-and-active-directory-dc-search/|замечаниями по настройке SSSD в Debian GNU/Linux]].
  
-Здесь приведён сокращённый план действий по присоединению Debian GNU/Linux 9 к домену Active Directory с помощью SSSD и realmd.+Здесь приведён сокращённый план действий по присоединению **Debian GNU**/**Linux 9** (**Stretch**) к домену **Active Directory** с помощью **SSSD** и **realmd**.
  
  
Строка 9: Строка 9:
 ==== Подготовка ==== ==== Подготовка ====
  
-Обеспечиваем правильную работу **DNS**-клиента и обсепечиваем __синхронизацию времени__ с источниками, используемыми в **Active Directory** (подробности в ранее обозначенных ссылках). Эти моменты важны для правильной работы протокола **Kerberos**.+Обеспечиваем правильную работу **DNS**-клиента и обеспечиваем __синхронизацию времени__ с источниками, используемыми в **Active Directory** (подробности в ранее обозначенных ссылках). Эти моменты важны для правильной работы протокола **Kerberos**.
  
-Выполняем команду присвоения полного доменного имени в качестве имени хоста, так как по умолчанию в **Debian 9** в качестве **hostname** используется просто имя узла без доменной части.+Выполняем команду присвоения полного доменного имени в качестве имени хоста, так как по умолчанию в **Debian 9** в качестве **hostname** используется имя узла без доменной части.
 Это позволит избежать некоторых проблем при вводе компьютера в домен с помощью **realmd**:  Это позволит избежать некоторых проблем при вводе компьютера в домен с помощью **realmd**: 
    
Строка 198: Строка 198:
 <HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># nano -Y sh /etc/security/access-groups-to-login</pre></HTML> <HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># nano -Y sh /etc/security/access-groups-to-login</pre></HTML>
  
-<file access-groups-to-logi>sudo+<file text access-groups-to-logi>sudo
 root root
 kom-servers-admins@sub.holding.com</file> kom-servers-admins@sub.holding.com</file>
Строка 257: Строка 257:
 </pre></HTML> </pre></HTML>
  
-<file access-groups-to-web>kom-servers-admins@sub.holding.com+<file bash access-groups-to-web>kom-servers-admins@sub.holding.com
 kom-web-admins@sub.holding.com</file> kom-web-admins@sub.holding.com</file>
  
Строка 264: Строка 264:
 <HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># nano -Y sh /etc/pam.d/apache2</pre></HTML> <HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># nano -Y sh /etc/pam.d/apache2</pre></HTML>
  
-<file apache2>auth    required   pam_sss.so+<file bash apache2>auth    required   pam_sss.so
 account required   pam_listfile.so onerr=fail item=group sense=allow file=/etc/security/access-groups-to-web account required   pam_listfile.so onerr=fail item=group sense=allow file=/etc/security/access-groups-to-web
 account required   pam_sss.so</file> account required   pam_sss.so</file>
Строка 302: Строка 302:
 ==== SUDO ===== ==== SUDO =====
  
 +Разрешаем **sudo** для доменных учётных записей.
  
-Разрешаем sudo для доменных учётных записей.+Создадим отдельный файл для выдачи прав выполнять **sudo** доменным учётным записям:
  
-Создадим отдельный файл для выдачи прав SUDO доменным учётным записям:+<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># nano -Y sh /etc/sudoers.d/kom-srv-linux-admins</pre></HTML>
  
-# nano -Y sh /etc/sudoers.d/kom-srv-linux-admins+Пример содержимого файла с одной доменной группой доступа, которой разрешено выполнять **sudo** без ограничений:
  
-Пример содержимого файла с одной доменной группой доступа, которой разрешено выполнять sudo без ограничений: +<file bash kom-srv-linux-admins>%kom-servers-admins@sub.holding.com ALL=(ALL) ALL 
- +</file>
-%kom-servers-admins@sub.holding.com ALL=(ALL) ALL+
  
 Ограничим доступ к файлу Ограничим доступ к файлу
  
-# chmod 0440 /etc/sudoers.d/kom-srv-linux-admins+<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># chmod 0440 /etc/sudoers.d/kom-srv-linux-admins</pre></HTML>
  
 +В некоторых ситуациях при вызове **sudo** в контексте доменного пользователя может возникать длительная задержка при первом запросе на ввод пароля. В этом случае можно попробовать воспользоваться включением опции [[https://blog.it-kb.ru/2024/03/14/sudo-is-slow-when-using-sssd|ignore_group_members]] в секции описания домена в конфигурационном файле ''sssd.conf''  
  
 \\ \\
Строка 322: Строка 323:
  
  
-В случае необходимости настроки Kerberos аутентификациии в домене Active Directory, возможно потребуется дополнительная настройка keytab-файла на Linux системе.+В случае необходимости настроки **Kerberos** аутентификациии в домене Active Directory, возможно потребуется дополнительная настройка **keytab**-файла на Linux системе.
  
-Пример команд добавления SPN-записи типа HTTP/* (для поддержки доменной аутентификации Kerberos на веб-сервере) +Пример команд добавления **SPN**-записи типа ''HTTP/*'' (для поддержки доменной аутентификации Kerberos на веб-сервере) 
-Подключаемся к keytab-файлу и получаем информацию о SPN-запиях в нём и текущем номере kvno (нужен для ключа -k) +Подключаемся к keytab-файлу и получаем информацию о SPN-запиях в нём и текущем номере **kvno** (нужен для ключа ''-k''
  
-# ktutil +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"> 
-> read_kt /etc/krb5.keytab +# ktutil</pre></HTML> 
-list -k -e+ 
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;">read_kt /etc/krb5.keytab 
 +list -k -e</pre></HTML>
  
 Добавляем записи поддержки Kerberos для веб-сервера (при запросе хешей указываем те же, что указаны для уже существующих SPN-записей) Добавляем записи поддержки Kerberos для веб-сервера (при запросе хешей указываем те же, что указаны для уже существующих SPN-записей)
  
-# add_entry -key -p HTTP/kom-srv01.sub.holding.com@sub.holding.com -k 3 -e aes256-cts-hmac-sha1-96 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;">add_entry -key -p HTTP/kom-srv01.sub.holding.com@sub.holding.com -k 3 -e aes256-cts-hmac-sha1-96 
-add_entry -key -p HTTP/kom-srv01.sub.holding.com@sub.holding.com -k 3 -e aes128-cts-hmac-sha1-96 +add_entry -key -p HTTP/kom-srv01.sub.holding.com@sub.holding.com -k 3 -e aes128-cts-hmac-sha1-96 
-add_entry -key -p HTTP/kom-srv01.sub.holding.com@sub.holding.com -k 3 -e des3-cbc-sha1 +add_entry -key -p HTTP/kom-srv01.sub.holding.com@sub.holding.com -k 3 -e des3-cbc-sha1 
-add_entry -key -p HTTP/kom-srv01.sub.holding.com@sub.holding.com -k 3 -e arcfour-hmac +add_entry -key -p HTTP/kom-srv01.sub.holding.com@sub.holding.com -k 3 -e arcfour-hmac 
-add_entry -key -p HTTP/kom-srv01.sub.holding.com@sub.holding.com -k 3 -e des-cbc-md5 +add_entry -key -p HTTP/kom-srv01.sub.holding.com@sub.holding.com -k 3 -e des-cbc-md5 
-add_entry -key -p HTTP/kom-srv01.sub.holding.com@sub.holding.com -k 3 -e des-cbc-crc+add_entry -key -p HTTP/kom-srv01.sub.holding.com@sub.holding.com -k 3 -e des-cbc-crc 
 +</pre></HTML>
  
 Перечиваем результат и записываем изменения в keytab-файл: Перечиваем результат и записываем изменения в keytab-файл:
  
-> list -k -e +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;">list -k -e 
-write_kt /etc/krb5.keytab +write_kt /etc/krb5.keytab 
-exit+exit</pre></HTML>
  
 Проверяем результат: Проверяем результат:
  
-# klist -e -k -t /etc/krb5.keytab+<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># klist -e -k -t /etc/krb5.keytab</pre></HTML>
  
 Проверяем есть ли нужная SPN-запись в домене (на Windows-машине, присоединённой к домену) Проверяем есть ли нужная SPN-запись в домене (на Windows-машине, присоединённой к домену)
  
-setspn -L kom-srv01+<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;">setspn -L kom-srv01</pre></HTML>
  
 Если записи нет, можем добавить (требуются права уровня доменный администратор) Если записи нет, можем добавить (требуются права уровня доменный администратор)
  
-setspn -A HTTP/kom-srv01.sub.holding.com sub.holding.com\kom-srv01 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;">setspn -A HTTP/kom-srv01.sub.holding.com sub.holding.com\kom-srv01 
 +</pre></HTML>
  
 \\ \\
 ==== Apache и PAM с Kerberos ===== ==== Apache и PAM с Kerberos =====
  
 +Более подробно описанный пример настройки можно найти в статье [[https://blog.it-kb.ru/2016/10/26/configuring-basic-and-kerberos-authentication-with-sso-single-sign-on-for-the-apache-web-server-using-sssd-and-pam-service-for-authorization/|Настройка Kerberos аутентификации с SSO на веб-сервере Apache с помощью SSSD]]
  
-Настраиваем конфигурацию Apache для поддержки Kerberos аутентификации+Настраиваем конфигурацию **Apache** для поддержки аутентификации **Kerberos** 
  
-Установка пакетов поддержки PAM/Kerberos в Apache:+Установка пакетов поддержки **PAM**/**Kerberos** в Apache:
    
-# apt-get install libapache2-mod-auth-kerb libapache2-mod-authnz-pam+<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># apt-get install libapache2-mod-auth-kerb libapache2-mod-authnz-pam 
 +</pre></HTML>
  
 Включение модулей Apache: Включение модулей Apache:
  
-# apache2ctl -M | grep -E "kerb|pam"+<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># apache2ctl -M | grep -E "kerb|pam"</pre></HTML>
  
 Пример файла конфигурации Apache: Пример файла конфигурации Apache:
  
-# nano -Y sh /etc/apache2/sites-available/000-default.conf+<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># nano -Y sh /etc/apache2/sites-available/000-default.conf 
 +</pre></HTML>
  
-В данном примере в Apache для доступа к веб-серверу Apache вызывается настроенный нами ранее PAM-модуль "apache2(через файл /etc/pam.d/apache2) +В данном примере в Apache для доступа к веб-серверу Apache вызывается настроенный нами ранее **PAM**-модуль ''apache2'' (через файл ''/etc/pam.d/apache2''
-PAM-модуль в свою очередь вызывает для процедуры аутентификации SSSD и выполняет авторизацию через файл /etc/security/access-groups-to-web+**PAM**-модуль в свою очередь вызывает для процедуры аутентификации **SSSD** и выполняет авторизацию через файл ''/etc/security/access-groups-to-web''
  
 +<file xml 000-default.conf>
 ...  ... 
-       ServerAdmin webmaster@localhost+        ServerAdmin webmaster@localhost
         DocumentRoot /var/www/html         DocumentRoot /var/www/html
  
Строка 391: Строка 399:
              Require pam-account apache2              Require pam-account apache2
         </Directory>         </Directory>
-...+… 
 +</file>
  
  
-Не забываем на строне Linux-сервера ограничить доступ к keytab-файлу+Не забываем на строне Linux-сервера настроить доступ к **keytab**-файлу
  
-# chown root:www-data /etc/krb5.keytab +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># chown root:www-data /etc/krb5.keytab 
-# chmod 640 /etc/krb5.keytab+# chmod 640 /etc/krb5.keytab</pre></HTML>
  
 Перезепускаем службу веб-сервера и проверяем результат: Перезепускаем службу веб-сервера и проверяем результат:
  
-# systemctl restart apache2+<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># systemctl restart apache2
 # systemctl status apache2 # systemctl status apache2
 +</pre></HTML>
  
 \\ \\
Строка 411: Строка 420:
 По завершении всех процедур настройки можно вернуть имя хоста в исходное состояние, "привычное" для Debain. По завершении всех процедур настройки можно вернуть имя хоста в исходное состояние, "привычное" для Debain.
  
-# hostname KOM-SRV01+<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># hostname KOM-SRV01</pre></HTML> 
 + 
 +После завершения настройки перезагружаем Linux-сервере, чтобы убедиться в успешном автоматическом запуске **SSSD** и последующей корректной работы аутентификации/авторизации на базе доменных учётных записей.
  
  
unix-linux/debian/stretch/join-debian-linux-9-stretch-to-active-directory-domain-with-sssd-realmd-with-ad-security-group-authorization-in-pam-for-console-login-and-ssh-sso-putty-and-apache-kerberos-auth.1561445581.txt.gz · Последнее изменение: 25.06.2019 09:53 — Алексей Максимов

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki