Sssd conf astra linux

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

Читайте также:  Linux oracle синхронизация времени

Настройка конфигурационных файлов

Редактируем файл /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. Проверить можно командой:

Читайте также:  Настройка домена alt linux

Назначим права для пользователя 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, для чего выполнить команду от имени администратора:

Источник

Linux машина в домене Windows AD с помощью sssd и krb5

Была необходимость ввести в домен Windows машину с Ubuntu. Для этих целей обычно используют Samba и Winbind. Но возможен альтернативный вариант с sssd, краткое руководство по нему ниже.

Для примера будем использовать:

Домен = contoso.com
Контроллер домена = dc.contoso.com

Запускаем терминал Ubuntu:

2. Устанавливаем необходимые пакеты

apt install sssd heimdal-clients msktutil

3. Редактируем /etc/krb5.conf, в качестве отступов используется табуляция

[libdefaults] default_realm = CONTOSO.COM [realms] CONTOSO.COM = < kdc = DC admin_server = dc.contoso.com default_domain = contoso.com >[login] krb4_convert = true krb4_get_tickets = false [domain_realm] .contoso.com = CONTOSO.COM contoso.com = CONTOSO.COM

4. Редактируем файл /etc/hosts, указываем FQDN для данного хоста:

127.0.0.1 localhost 127.0.1.1 .contoso.com

5. Пробуем получить Kerberos ticket от имени администратора домена:

root@ubuntu:~# kinit YourDomainAdmin YourDomainAdmin@CONTOSO.COM's Password:
root@ubuntu:~# klist Credentials cache: FILE:/tmp/krb5cc_0 Principal: YourDomainAdmin@CONTOSO.COM Issued Expires Principal Dec 1 15:08:27 2018 Dec 2 01:08:22 2018 krbtgt/CONTOSO.COM@CONTOSO.COM

Если тикет получен успешно, то теперь можно сгенерировать Kerberos principals для данного хоста, регистр важен:

msktutil -c -b 'CN=YourComputersOU' -s HOST/HOSTNAME.contoso.com -k /etc/sssd/HOSTNAME.keytab --computer-name HOSTNAME --upn HOSTNAME$ --server dc.contoso.com —user-creds-only msktutil -c -b 'CN=YourComputersOU' -s HOST/HOSTNAME -k /etc/sssd/HOSTNAME.keytab --computer-name HOSTNAME --upn HOSTNAME$ --server dc.contoso.com --user-creds-only 

Сейчас наш хост должен отобразиться в списке компьютеров в каталоге. Если все так — удаляем полученный Kerberos ticket:

Читайте также:  Login incorrect astra linux

6. Создаем файл /etc/sssd/sssd.conf со следующим содержимым:

[sssd] services = nss, pam config_file_version = 2 domains = contoso.com [nss] entry_negative_timeout = 0 debug_level = 3 [pam] debug_level = 3 [domain/contoso.com] debug_level = 3 ad_domain = contoso.com ad_server = dc.contoso.com enumerate = false id_provider = ad auth_provider = ad chpass_provider = ad access_provider = simple simple_allow_groups = users #каким группам разрешено логиниться, через запятую. Есть ограничение — названия групп должны быть с маленькой буквы. ldap_schema = ad ldap_id_mapping = true fallback_homedir = /home/%u default_shell = /bin/bash ldap_sasl_mech = gssapi ldap_sasl_authid = $ ldap_krb5_init_creds = true krb5_keytab = /etc/sssd/.keytab

Описание параметров конфигфайла sssd можно посмотреть тут

Устанавливаем права доступа для файла sssd.conf:

chmod 600 /etc/sssd/sssd.conf

Перезапускаем SSSD service

7. Редактируем настройки PAM

редактируем файл /etc/pam.d/common-session, после строки

session required pam_unix.so
session required pam_mkhomedir.so skel=/etc/skel umask=0022

переопределить параметры через системные настройки PAM, вызываем

и отмечаем пункты sss auth и makehomdir. Это автоматически добавит
строчку выше в common-session и она не будет перезатерта при обновлении системы.

Теперь мы можем логиниться на машине доменными пользователями, которым разрешен вход.

P.S.: Можно дать права на использование sudo доменным группам. Используя visudo, редактируем файл /etc/sudoers, или лучше, как рекомендует maxzhurkin и iluvar, создаем новый файл в /etc/sudoers.d/ и редактируем его

visudo -f /etc/sudoers.d/ваш_файл

добавляем требуемую группу — например, Domain Admins (если в названии группы есть пробелы — их необходимо экранировать):

P.S.S.: Спасибо gotch за информацию о realmd. Очень удобно — если не нужны специфические настройки, то ввод машины в домен занимает, по сути, три (как заметил osipov_dv четыре) команды:

1. Устанавливаем нужные пакеты:

sudo apt install realmd samba-common-bin samba-libs sssd-tools krb5-user adcli
127.0.0.1 localhost 127.0.1.1 .contoso.com
realm discover contoso.com
sudo realm --verbose join contoso.com -U YourDomainAdmin --install=/

Дополнительный плюс данного варианта — сквозная авторизация на файловых ресурсах домена.

Для того чтоб при входе не указывать дополнительно к логину домен, можно добавить суффикс по умолчанию. В файле /etc/sssd/sssd.conf, в блоке [sssd] добавляем строку:

default_domain_suffix = contoso.com

Источник

Оцените статью
Adblock
detector