Auth krb

Материал из pNp Wiki
Версия от 16:12, 26 ноября 2018; Andy (обсуждение | вклад) (Настройка аутентикации LDAP/Kerberos)

Перейти к: навигация, поиск

Настройка аутентикации Kerberos

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

  • Две виртуальная машины с двумя сетевыми интерфейсами в каждой
  • Установленные пакеты: bash-completion, pam_krb5, nss-pam-ldapd, sssd-ldap, sssd, sssd-krb5, sssd-krb5-common, sssd-client, oddjob, oddjob-mkhomedir, openldap-clients
  • Установленный и настроенный сервис точного времени
  • Наличие прямой и обратной записи клиента и kerberos сервера в DNS.

Предварительная проверка настроек на виртуальных машинах

Сначала стоит проверить прямую и обратную записи нашего клиента:

[root@vm-01 ~]# hostnamectl 
   Static hostname: vm-01.virtual.lab
         Icon name: computer
           Chassis: n/a
        Machine ID: dae7e96c98de7f40aeb335bcaf3e35c2
           Boot ID: 36ea0ee3d744490e897c7f595bb98978
    Virtualization: kvm
  Operating System: Red Hat Enterprise Linux Server 7.0 (Maipo)
       CPE OS Name: cpe:/o:redhat:enterprise_linux:7.0:GA:server
            Kernel: Linux 3.10.0-123.el7.x86_64
      Architecture: x86_64
[root@vm-01 ~]# dig vm-01.virtual.lab @192.168.10.10 +noall +answer

; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> vm-01.virtual.lab @192.168.10.10 +noall +answer
;; global options: +cmd
vm-01.virtual.lab.	3600	IN	A	192.168.10.8
[root@vm-01 ~]# dig -x 192.168.10.8 @192.168.10.10 +noall +answer

; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> -x 192.168.10.8 @192.168.10.10 +noall +answer
;; global options: +cmd
8.10.168.192.in-addr.arpa. 3600	IN	PTR	vm-01.virtual.lab.
[root@vm-01 ~]#

Заодно проверим записи о нашем LDAP/Kerberos сервере:

[root@vm-01 ~]# dig vm-03.virtual.lab +noall +answer

; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> vm-03.virtual.lab +noall +answer
;; global options: +cmd
vm-03.virtual.lab.	3600	IN	CNAME	kdc1.virtual.lab.
kdc1.virtual.lab.	3600	IN	A	192.168.10.10
[root@vm-01 ~]#

Далее, следует убедиться, что LDAP сервер настроен и отдает пользователей/группы:

[root@vm-01 ~]# ldapsearch -LLL -H ldap://vm-03.virtual.lab -D "cn=admin,dc=virtual,dc=lab" -b "dc=virtual,dc=lab" -W "(uid=randy)"
Enter LDAP Password: 
dn: uid=randy,ou=users,dc=virtual,dc=lab
displayName: Randall Clark
uid: randy
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: posixAccount
objectClass: top
loginShell: /bin/bash
userPassword:: e1NTSEF9aGdmWlNsUTlUb3g1NHVpM3lrV3FVMEo1S1hUd0s4amg=
uidNumber: 10002
gidNumber: 10000
sn: Clark
homeDirectory: /home/randy
mail: rclark@virtual.lab
givenName: Randall
cn: randy
[root@vm-01 ~]

Настройка аутентикации LDAP/Kerberos

Аутентикации будет происходит посредством демона SSSD, однако, почему-то, после установки пакета sssd-common, конфигурационный файл /etc/sssd/sssd.conf<code> сервиса <code>sssd отсутствует, поэтому его надо сделать самостоятельно, по примерам из манов sssd, sssd-ldap:

[root@vm-01 ~]# cat /etc/sssd/sssd.conf 
[sssd]
domains = LDAP
services = nss, pam
config_file_version = 2

[nss]
filter_groups = root
filter_users = root
           
[pam]
           
[domain/LDAP]
id_provider = ldap
ldap_uri = ldap://kdc1.virtual.lab
ldap_search_base = dc=virtual,dc=lab
ldap_tls_reqcert = allow

auth_provider = krb5
krb5_server = kdc1.virtual.lab
krb5_realm = VIRTUAL.LAB
cache_credentials = false

[root@vm-01 ~]#

После создания файла /etc/sssd/sssd.conf<code>, ему необходимо присвоить права:

[root@vm-01 ~]# chmod 600 /etc/sssd/sssd.conf
[root@vm-01 ~]# ls -lahi /etc/sssd/sssd.conf
780266 -rw-------. 1 root root 379 Nov 26 17:04 /etc/sssd/sssd.conf
[root@vm-01 ~]#

Для конфигурации аутентикации в LDAP будем использовать утилиту <code>authconfig. Вывод утилиты с ключом --help обширный, поэтому ключи будем вводить сверху вниз:

[root@vm-01 ~]# authconfig --enableldap --enableldapauth --ldapserver=kdc1.virtual.lab --ldapbasedn="dc=virtual,dc=lab" --enableldaptls --enablekrb5 --krb5adminserver=kdc1.virtual.lab --krb5realm=VIRTUAL.LAB --enablesssd --enablesssdauth --disablecachecreds --enablemkhomedir --test
[root@vm-01 ~]#

Вводим команду и получаем следующий вывод:

caching is disabled
nss_files is always enabled
nss_compat is disabled
nss_db is disabled
nss_hesiod is disabled
 hesiod LHS = ""
 hesiod RHS = ""
nss_ldap is enabled
 LDAP+TLS is enabled
 LDAP server = "kdc1.virtual.lab"
 LDAP base DN = "dc=virtual,dc=lab"
nss_nis is disabled
 NIS server = ""
 NIS domain = ""
nss_nisplus is disabled
nss_winbind is disabled
 SMB workgroup = ""
 SMB servers = ""
 SMB security = "user"
 SMB realm = ""
 Winbind template shell = "/bin/false"
 SMB idmap range = "16777216-33554431"
nss_sss is enabled by default
nss_wins is disabled
nss_mdns4_minimal is disabled
DNS preference over NSS or WINS is disabled
pam_unix is always enabled
 shadow passwords are enabled
 password hashing algorithm is sha512
pam_krb5 is enabled
 krb5 realm = "VIRTUAL.LAB"
 krb5 realm via dns is disabled
 krb5 kdc = ""
 krb5 kdc via dns is disabled
 krb5 admin server = "kdc1.virtual.lab"
pam_ldap is enabled
 LDAP+TLS is enabled
 LDAP server = "kdc1.virtual.lab"
 LDAP base DN = "dc=virtual,dc=lab"
 LDAP schema = "rfc2307"
pam_pkcs11 is disabled
 use only smartcard for login is disabled
 smartcard module = ""
 smartcard removal action = ""
pam_fprintd is disabled
pam_ecryptfs is disabled
pam_winbind is disabled
 SMB workgroup = ""
 SMB servers = ""
 SMB security = "user"
 SMB realm = ""
pam_sss is enabled by default
 credential caching in SSSD is disabled
 SSSD use instead of legacy services if possible is enabled
IPAv2 is disabled
IPAv2 domain was not joined
 IPAv2 server = ""
 IPAv2 realm = ""
 IPAv2 domain = ""
pam_pwquality is enabled (try_first_pass local_users_only retry=3 authtok_type=)
pam_passwdqc is disabled ()
pam_access is disabled ()
pam_mkhomedir or pam_oddjob_mkhomedir is enabled (umask=0077)
Always authorize local users is enabled ()
Authenticate system accounts against network services is disabled

Если введенная информация верна, то можно заменить ключ --test на ключ --update: И за

Ссылки

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