Как присоединиться или аутентифицировать Linux Server в Windows Active Directory

Информация о настройке

Итак, у нас есть приведенная ниже настройка полного доменного имени Windows, которую мы должны аутентифицировать на наших серверах Linux.

DOMAIN = WINAD.LOCAL
AD FQDN = adsrv.winad.local

Существует три способа аутентификации системы Linux с помощью AD.

  • Использование samba и krb5
  • Использование adcli с krb5 и sssd
  • Использование realmd с krb5 и sssd

Метод 1 — Использование SAMBA и krb5

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

Обязательные пакеты — установите указанные ниже пакеты с помощью диспетчера пакетов, такого как yum или dnf

samba-common
samba-winbind-clients
samba
samba-winbind
krb5-workstation
oddjob # Needed for creating auto home directory for domain users 
oddjob-mkhomedir
authconfig

Конфигурационные файлы

Чтобы присоединиться к домену AD, мы должны сначала настроить 3 файла конфигурации:

1. /etc/krb5.conf
2. /etc/samba/smb.conf
3. /etc/resolv.conf

Файл конфигурации — /etc/krb5.conf:

# cat /etc/krb5.conf
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = WINAD.LOCAL
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
 default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
 permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5

[realms]
 WINAD.LOCAL = {
  kdc = adsrv.winad.local
  admin_server = adsrv.winad.local
  default_domain = winad.local
 }

[domain_realm]
 .winad.local = WINAD.LOCAL
 winad.local = WINAD.LOCAL

pam = {
debug = true
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

Файл конфигурации — /etc/samba/smb.conf:

# cat /etc/samba/smb.conf
[global]
   workgroup = WINAD
   password server = adsrv.winad.local
   # Remember to put the realm all in CAPS:
   realm = WINAD.LOCAL
   security = ads
   idmap uid = 16777216-33554431
   idmap gid = 16777216-33554431
   template shell = /bin/bash
   winbind use default domain = true
   winbind offline logon = false
   winbind enum users = yes
   winbind enum groups = yes
   encrypt passwords = yes
   log file = /var/log/samba/log.%m
   max log size = 50
   passdb backend = tdbsam
   load printers = yes
   cups options = raw
   kerberos method = system keytab
   log level = 10

Файл конфигурации — /etc/resolv.conf:

# cat /etc/resolv.conf
search winad.local
nameserver 192.168.100.20

Присоединение к домену AD

После того, как вы настроили конфигурацию, как показано выше, пришло время присоединить компьютер к домену AD, используя следующие команды.

# service smb start
# service nmb start
# service winbind start
# net ads join -U Administrator

Тестирование

Чтобы проверить, успешно ли компьютер подключился к домену AD, используйте команду, приведенную ниже.

# net ads info

Ниже приведен пример вывода вышеуказанной команды.

# net ads info
LDAP server: 192.168.100.20
LDAP server name: adsrv.winad.local
Realm: WINAD.LOCAL
Bind Path: dc=WINAD,dc=LOCAL
LDAP port: 389
Server time: Fri, 09 Sep 2016 14:39:14 IST
KDC server: 192.168.100.20
Server time offset: 1

Проверьте, получен ли временный билет от AD:

# kinit Administrator

Выполните klist, чтобы проверить тикет.

Пример вывода выглядит следующим образом:

# klist 
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: Administrator@WINAD.LOCAL

Valid starting     Expires            Service principal
09/09/16 14:40:34  09/10/16 00:40:45  krbtgt/WINAD.LOCAL@WINAD.LOCAL
    renew until 09/16/16 14:40:34

Внесите постоянные изменения

Обновите конфигурацию системы, чтобы использовать регистрацию в AD и сделать ее постоянной.

# chkconfig oddjobd on
# service oddjobd start
# authconfig --enablewinbind --enablewinbindauth  --update
# authconfig --enablemkhomedir --update

Теперь напрямую войдите под учетной записью AD.

Способ 2 — Использование adcli с krb5 и sssd

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

Обязательные пакеты — установите указанные ниже пакеты с помощью диспетчера пакетов, такого как yum или dnf.

adcli
krb5-workstation
oddjob #Needed for creating auto home directory for domain users 
oddjob-mkhomedir
authconfig
sssd

Конфигурационные файлы

Чтобы присоединиться к домену AD, мы должны сначала настроить 3 файла конфигурации:

1. /etc/krb5.conf
2. /etc/sssd/sssd.conf
3. /etc/resolv.conf

Файл конфигурации — /etc/krb5.conf:

# cat /etc/krb5.conf
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = WINAD.LOCAL
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
 default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
 permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5

[realms]
 WINAD.LOCAL = {
  kdc = adsrv.winad.local
  admin_server = adsrv.winad.local
  default_domain = winad.local
 }

[domain_realm]
 .winad.local = WINAD.LOCAL
 winad.local = WINAD.LOCAL

pam = {
debug = true
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

Файл конфигурации — /etc/sssd/sssd.conf:

# cat /etc/sssd/sssd.conf
[sssd]
domains = winad.local
config_file_version = 2
services = nss, pam

[domain/winad.local]
ad_domain = winad.local
krb5_realm = WINAD.LOCAL
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
fallback_homedir = /home/%u@%d
access_provider = ad

Файл конфигурации — /etc/resolv.conf:

# cat /etc/resolv.conf
search winad.local
nameserver 192.168.100.20

Присоединение к домену AD

После того, как вы настроили конфигурацию, как показано выше, пришло время присоединить компьютер к домену AD, используя следующие команды.

# adcli join winad.local 
Password for Administrator@WINAD.LOCAL:

Тестирование

Чтобы проверить, успешно ли компьютер подключился к домену AD, используйте команду, приведенную ниже.

Проверьте, получен ли временный билет от AD

# kinit Administrator

Выполните klist, чтобы проверить тикет. Ниже приведен пример вывода команды:

# klist 
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: Administrator@WINAD.LOCAL

Valid starting     Expires            Service principal
09/09/16 14:40:34  09/10/16 00:40:45  krbtgt/WINAD.LOCAL@WINAD.LOCAL
    renew until 09/16/16 14:40:34

Внесите постоянные изменения

Обновите конфигурацию системы, чтобы использовать регистрацию в AD и сделать ее постоянной.

# chkconfig oddjobd on
# service oddjobd start
# authconfig --enablesssd --enablesssdauth --update
# authconfig --enablemkhomedir --update

Метод 3 — Использование realmd с krb5 и sssd (только для CentOS / RHEL 7)

Примечание: это поддерживается только в CentOS / RHEL7.

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

Обязательные пакеты — установите указанные ниже пакеты с помощью диспетчера пакетов, такого как yum или dnf.

realmd
krb5-workstation
oddjob # Needed for creating auto home directory for domain users (Installed by default)
oddjob-mkhomedir
authconfig(Installed by default with realmd)
sssd (Installed by default with realmd)

Конфигурационные файлы

Чтобы присоединиться к домену AD, мы должны сначала настроить 3 файла конфигурации:

1. /etc/krb5.conf
2. /etc/sssd/sssd.conf
3. /etc/resolv.conf

Файл конфигурации — /etc/krb5.conf:

# cat /etc/krb5.conf
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = WINAD.LOCAL
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
 default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
 permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5

[realms]
 WINAD.LOCAL = {
  kdc = adsrv.winad.local
  admin_server = adsrv.winad.local
  default_domain = winad.local
 }

[domain_realm]
 .winad.local = WINAD.LOCAL
 winad.local = WINAD.LOCAL

pam = {
debug = true
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

Файл конфигурации — /etc/sssd/sssd.conf:

# cat /etc/sssd/sssd.conf
[sssd]
domains = winad.local
config_file_version = 2
services = nss, pam

[domain/winad.local]
ad_domain = winad.local
krb5_realm = WINAD.LOCAL
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
fallback_homedir = /home/%u@%d
access_provider = ad

Файл конфигурации — /etc/resolv.conf:

# cat /etc/resolv.conf
search winad.local
nameserver 192.168.100.20

Присоединение к домену AD

После того, как вы настроили конфигурацию, как показано выше, пришло время присоединить компьютер к домену AD, используя следующие команды.

# realm join winad.local -U Administrator
Password for Administrator@WINAD.LOCAL:

Тестирование

Чтобы проверить, успешно ли компьютер подключился к домену AD, используйте команду, приведенную ниже.

Проверьте, получен ли временный билет от AD

# kinit Administrator

Выполните klist, чтобы проверить тикет. Ниже приведен пример вывода команды:

# klist 
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: Administrator@WINAD.LOCAL

Valid starting     Expires            Service principal
09/09/16 14:40:34  09/10/16 00:40:45  krbtgt/WINAD.LOCAL@WINAD.LOCAL
    renew until 09/16/16 14:40:34

Внесите постоянные изменения

Примечание. По умолчанию realmd позаботился о присоединении системы к домену. В случае любой проблемы могут быть выполнены следующие шаги.

# chkconfig oddjobd on
# service oddjobd start
# authconfig --enablesssd --enablesssdauth --update
# authconfig --enablemkhomedir --update

Теперь напрямую войдите с учетной записью AD.

cryptoparty

Cryptography is typically bypassed, not penetrated.

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

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

5e7fa976b0640d40