web-dev-qa-db-ja.com

SSSDを使用したKerberosホストキータブの自動更新

マシンの資格情報の期限が切れたために、LinuxサーバーがADドメインから削除されたのを見たことがありますか? sssd-1.13.3-56.el6(Centos 6)でAD認証を使用しています

" https://bugzilla.redhat.com/show_bug.cgi?id=1290761 "ごとに、sssdはホスト資格情報を自動更新できる必要があります。関連するRed Hatのドキュメント(「Red Hat Enterprise Linux 6とActive Directoryの統合」)に従って、ADに参加するときに実行する必要のある追加の設定手順についての言及はありません。

私の検索によると、一部はcronジョブを実行してホスト資格情報を更新します " https://lists.fedorahosted.org/archives/list/[email protected]/thread/CRA43XHHDBPAENAYJ3INUWSCE2Q2NB5W/ "

SSSD Kerberos AD Centosトラブルシューティング

「msktutil --auto-update」と「kinit -k $」を実行するには、cronジョブが必要ですか?

または、sssdはこれを処理できるはずですか?

Sssd.confで「ad_maximum_machine_account_password_age」を設定しますか、それともデフォルトの30日間そのままにしますか。

乾杯、

更新:@jhrozek、コメントありがとうございます。
構成で同じ問題が引き続き発生します。
5月28日にチケットが更新されず、サーバーがドメインから削除されたようです:

    # net ads testjoin   
kerberos_kinit_password [email protected] failed: Preauthentication failed     
kerberos_kinit_password [email protected] failed: Preauthentication failed     
Join to domain is not valid: Logon failure    

キータブのステータス:

# klist -kt
Keytab name: FILE:/etc/krb5.keytab
KVNO Timestamp         Principal
---- ----------------- --------------------------------------------------------
   2 04/28/17 02:57:54 Host/[email protected]
   2 04/28/17 02:57:54 Host/[email protected]
   2 04/28/17 02:57:54 Host/[email protected]
   2 04/28/17 02:57:54 Host/[email protected]
   2 04/28/17 02:57:54 Host/[email protected]
   2 04/28/17 02:57:54 Host/[email protected]
   2 04/28/17 02:57:54 Host/[email protected]
   2 04/28/17 02:57:54 Host/[email protected]
   2 04/28/17 02:57:55 Host/[email protected]
   2 04/28/17 02:57:55 Host/[email protected]
   2 04/28/17 02:57:55 [email protected]
   2 04/28/17 02:57:55 [email protected]
   2 04/28/17 02:57:55 [email protected]
   2 04/28/17 02:57:55 [email protected]
   2 04/28/17 02:57:55 [email protected]
   3 05/28/17 14:01:39 [email protected]
   3 05/28/17 14:01:39 [email protected]
   3 05/28/17 14:01:39 [email protected]
   3 05/28/17 14:01:39 [email protected]
   3 05/28/17 14:01:39 [email protected]
   3 05/28/17 14:01:39 Host/[email protected]
   3 05/28/17 14:01:39 Host/[email protected]
   3 05/28/17 14:01:39 Host/[email protected]
   3 05/28/17 14:01:39 Host/[email protected]
   3 05/28/17 14:01:39 Host/[email protected]
   3 05/28/17 14:01:39 Host/[email protected]
   3 05/28/17 14:01:39 Host/[email protected]
   3 05/28/17 14:01:39 Host/[email protected]
   3 05/28/17 14:01:39 Host/[email protected]
   3 05/28/17 14:01:39 Host/[email protected]

これは5/28にチケットを更新したように見えますが、どういうわけかサーバーアカウントが削除されましたか?

インストールされているSSSDおよびADCLIパッケージ:

# rpm -qa | grep sssd
sssd-client-1.13.3-56.el6.x86_64
sssd-ipa-1.13.3-56.el6.x86_64
sssd-proxy-1.13.3-56.el6.x86_64
python-sssdconfig-1.13.3-56.el6.noarch
sssd-common-pac-1.13.3-56.el6.x86_64
sssd-krb5-1.13.3-56.el6.x86_64
sssd-krb5-common-1.13.3-56.el6.x86_64
sssd-ldap-1.13.3-56.el6.x86_64
sssd-common-1.13.3-56.el6.x86_64
sssd-ad-1.13.3-56.el6.x86_64
sssd-1.13.3-56.el6.x86_64


# rpm -qa | grep adcli
adcli-0.8.1-1.el6.x86_64

そして、sssd.conf:

[sssd]
domains = stage.example.com
services = nss, pam, ssh
config_file_version = 2
default_domain_suffix = main.example.com
full_name_format = %1$s@%2$s

re_expression = (((?P<domain>[^\\]+)\\(?P<name>.+$))|((?P<name>[^@]+)@(?P<domain>.+$))|(^(?P<name>[^@\\]+)$))

[domain/stage.example.com
id_provider = ad
auth_provider = ad
access_provider = ad
chpass_provider = ad
cache_credentials = false
ad_domain = stage.example.com
ldap_id_mapping = true
krb5_realm = STAGE.example.com
default_Shell = /bin/bash
ad_gpo_access_control = permissive
override_homedir = /home/admin/%u

そして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 = STAGE.EXAMPLE.COM
 dns_lookup_realm = true
 dns_lookup_kdc = true
 ticket_lifetime = 24h
 forwardable = true


clockskew = true
proxiable = true

[realms]

 STAGE.EXAMPLE.COM = {
  kdc = 172.31.1.252
  kdc = 172.31.0.252

  admin_server = 172.31.1.252
  admin_server = 172.31.0.252
 }

[domain_realm]
 stage.example.com = STAGE.EXAMPLE.COM
 .stage.example.com = STAGE.EXAMPLE.COM

これをトラブルシューティングするための提案はありますか?

2
BBDG

これは自動的に行われるはずですが、adcliをインストールする必要があります。 sssdは、更新を実行するためにforcliとexecを実行します。

2
jhrozek

この問題が数か月続いた後、私は自分の問題が何であるかを理解しました。

サーバーにserver.my.domain.comという名前を付けず、代わりにserverにしました。名前を変更し、レルムを離れて再び参加した後、adcli updateは問題なく実行されます。

2
godofgrunts

NTP)時刻のソースとしてADサーバーを構成することもできます。クライアントマシンのクロックの同期がずれていると、認証/更新に失敗し、これが失敗するためです。すべてが独自のRTCハードウェアなしで仮想化されているため、今より頻繁に発生する可能性があります。

1
dragon788

同じ問題があります。DNSにPTRレコードを追加してしまいました。私はこれを次のように特定しました:

msktutil --auto-update -verbose 

私の環境にはSambaを含むSSSDが含まれています。

0