Kerberos認証するADDSサーバを指定する
今までKerberos認証などほとんど言葉だけ知っているくらいでしたが、ちょっとした障害があり、Kerberos認証を少しだけ意識することになりました。
今回は、その時にKerberos認証するサーバを指定するコマンドを実行しましたので備忘録として残しておきます。
目次
環境
ADFSサーバ(2台):Windows Server 2012R2
ADDSサーバ(2台):Windows Server 2012R2
※ADFSは、ADDSへKerberos認証しにいきます
概要
それぞれのサーバをADFS1号機、ADFS2号機、ADDS1号機、ADDS2号機 とします。
ADDS2号機で障害が発生し、予期せずシャットダウン(再起動)しました。復旧後、ADDS2号機のActiveDirectory としての機能に異常はありませんでしたが、イベントログのセキュリティログを確認すると Kerberos認証ログ(4768,4769)が少ししか出力されてないことに気付きました。
(※後でわかったのですがローカル(自身)のKerberos認証ログのみ出力されていました)
ADDSサーバのイベントログ確認
ADDSサーバ(2台)のイベントログのセキュリティでKerberos認証ログ(4768,4769)を確認。ADDS1号機に Kerberos認証が集中し、 ADDS2号機に Kerberos認証が 出力されていないことが確認できた。
■ADDS1号機
■ADDS2号機
ADFSサーバ(2台)のKerberos認証先を確認
ADFS1号機、ADFS2号機のコマンドプロンプトを起動し、klist query_bind コマンドを実行することでKerberos認証先を確認します。
klist query_bind
現在のログオン ID: 0:0x85a0e038
Kerberos KDC バインド キャッシュが正常に照会されました。
KDC バインド キャッシュ エントリ: (3)
#0> 領域名: example.com ★領域名がFQDNのものを確認
KDC アドレス: 192.168.1.1 ★1号機が指定されている
KDC 名: adds01.example.com ★1号機が指定されている
フラグ: 0
DC フラグ: 0xe000f1fc -> GC LDAP DS KDC TIMESERV CLOSEST_SITE WRITABLE FULL_SECRET WS DS_8 PING DNS_DC DNS_DOMAIN DNS_FOREST
キャッシュ フラグ: 0
~ 以下省略 ~
ADFS1号機、ADFS2号機とも ADDS1号機 (adds01.example.com)で Kerberos認証 していることがわかりました。
障害発生前はどのような設定であったか今となっては確認できませんがセキュリティログを確認するかぎり、障害発生前は2台のADDSサーバで Kerberos認証していることを確認しています。
■障害発生後のKerberos認証先
ADFS1号機 ⇒⇒⇒⇒⇒⇒⇒⇒ ADDS1号機
ADFS2号機 ⇒⇒⇒⇒⇒⇒⇒⇒ ADDS1号機
Kerberos認証
Kerberos認証サーバを強制的に指定
ADFS2号機のKerberos認証サーバがADDS2号機となるよう、ADFS2号機のコマンドプロンプトで klist add_bind コマンドを実行します。
コマンド例:
klist add_bind <ドメイン名> <対象のドメイン コントローラーのコンピューター名>
今回の場合:
klist add_bind example.com adds02.example.com
現在のログオン ID: 0:0x85a0e038
ドメイン example.com は現在 KDC adds02.example.com にバインドされています。
Kerberos KDC バインド キャッシュが正常に照会されました。
KDC バインド キャッシュ エントリ: (4)
#0> 領域名: example.com
KDC アドレス: adds02.example.com ★2号機が指定されている
KDC 名: (null)
フラグ: 0
DC フラグ: 0
キャッシュ フラグ: 0
#1> 領域名: example.com
KDC アドレス: adds02.example.com ★2号機が指定されている
KDC 名: (null)
フラグ: 0x2c1000 -> DS_6_REQUIRED DS_8_REQUIRED WRITABLE_REQUIRED NEXTCLOSEST_SITE
DC フラグ: 0xe000f1fc -> GC LDAP DS KDC TIMESERV CLOSEST_SITE WRITABLE FULL_SECRET WS DS_8 PING DNS_DC DNS_DOMAIN DNS_FOREST
キャッシュ フラグ: 0
~ 以下省略 ~
結果:
コマンドとしては成功したが、なぜか返される結果が1つ増えてしまった。調査してみたが、なぜ増えたかまで確認できませんでした。
また、実行直後の結果では、IPアドレス表示がありませんでした。
翌日にADFSサーバ2号機のKerberos認証先を再確認
先日と異なり、「KDC アドレス」がIPアドレスで表示されるようになりました。実行直後より時間が経過することで情報が変わることも確認できました。焦る必要はなさそうです。
klist query_bind
現在のログオン ID: 0:0x85a0e038
Kerberos KDC バインド キャッシュが正常に照会されました。
KDC バインド キャッシュ エントリ: (4)
#0> 領域名: example.com
KDC アドレス: 192.168.1.2 ★2号機の IP が指定されている
KDC 名: adds02.example.com ★2号機が指定されている
フラグ: 0
DC フラグ: 0xe000f1fc -> GC LDAP DS KDC TIMESERV CLOSEST_SITE WRITABLE FULL_SECRET WS DS_8 PING DNS_DC DNS_DOMAIN DNS_FOREST
キャッシュ フラグ: 0
#1> 領域名: example.com
KDC アドレス: adds02.example.com ★2号機が指定されている
KDC 名: (null)
フラグ: 0x2c1000 -> DS_6_REQUIRED DS_8_REQUIRED WRITABLE_REQUIRED NEXTCLOSEST_SITE
DC フラグ: 0xe000f1fc -> GC LDAP DS KDC TIMESERV CLOSEST_SITE WRITABLE FULL_SECRET WS DS_8 PING DNS_DC DNS_DOMAIN DNS_FOREST
キャッシュ フラグ: 0
まとめ
今回は障害のおかげ(?)で Kerberos認証 について、少し認識を深めることができました。クライアントはADFS以外、ADDSへ認証にいくクライアントなら読み替えていただければと思います。
そうそうこのようなことは起こりませんが、参考にしていただければ幸いです。
Comment
Pretty nice post. I simply stumbled upon your
blog and wished to say that I’ve really loved
browsing your weblog posts. In any case I will be subscribing to your feed and I hope you write again very soon!