« ゲストOSインストール済の仮想サーバーのOS再インストール | トップページ | Kerberosの旅 - 再出発 »

2020年2月12日 (水)

Kerberosの旅

Kerberosをインストールしてみた。

参考にさせて頂いのは以下のリンク。
Kerberosのインストール手順

まずはドメイン名はとりあえず、自分が持っている以下として作業を進める。
pathpilot.jp

ホスト名は以下に設定。
sfuji.pathpilot.jp
/etc/hostnameをそのように変更した。
変更前:
localhost.localdomain
変更後:
sfuji.pathpilot.jp

以下を実行してKrberosをインストール
# yum install krb5-server krb5-workstation

まずはサーバー側の設定をおこなう。
以下のkdc.confファイルを修正する。
/var/kerberos/krb5kdc/kdc.conf
修正後
[kdcdefaults]
kdc_ports = 88
kdc_tcp_ports = 88

[realms]
PATHPILOT.JP = {
   master_key_type = aes256-cts
   acl_file = /var/kerberos/krb5kdc/kadm5.acl
   dict_file = /usr/share/dict/words
   admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
   supported_enctypes = aes256-cts:normal aes128-cts:normal arcfour-hmac:normal
}

そして、realm名PATHPILOT.JPでKDCの初期化を実行。

# kdb5_util create -r PATHPILOT.JP -s
Loading random data
Initializing database '/var/kerberos/krb5kdc/principal' for realm 'PATHPILOT.JP',
master key name 'K/M@PATHPILOT.JP'
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Enter KDC database master key:
Re-enter KDC database master key to verify:
#

次にクライアント側の設定を行う。
krb5.confファイルを更新する。Realmの更新と、kdcとadmin_serverを更新する。
# vi /etc/krb5.conf

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
dns_lookup_realm = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
pkinit_anchors = /etc/pki/tls/certs/ca-bundle.crt
default_realm = PATHPILOT.JP
#default_ccache_name = KEYRING:persistent:%{uid}

[realms]
PATHPILOT.JP = {
kdc = sfuji.pathpilot.jp
admin_server = sfuji.pathpilot.jp
 }

[domain_realm]
.pathpilot.jp = PATHPILOT.JP
pathpilot.jp = PATHPILOT.JP

default_ccache_nameは参考にさせて頂いたURLの情報によりコメントアウト。

ここになってちょっと心配になったので、/etc/hostsに自分自身を書き込んでおく。なにしろDNSがありませんから。。。。
192.168.1.87 sfuji.pathpilot.jp

次に、サーバー側の仕事としてKDCとkadminをスタートする。
# systemctl start krb5kdc
# systemctl start kadmin
無事スタートしたことを確認する。
# systemctl status krb5kdc
# systemctl status kadmin

次にプリンシパルを登録してみる。ここではユーザーalphaのプリンシパルを作ってみる。
# kadmin.local
Authenticating as principal root/admin@PATHPILOT.JP with password.
kadmin.local: listprincs
K/M@PATHPILOT.JP
kadmin/admin@PATHPILOT.JP
kadmin/changepw@PATHPILOT.JP
kadmin/sfuji.pathpilot.jp@PATHPILOT.JP
kiprop/sfuji.pathpilot.jp@PATHPILOT.JP
krbtgt/PATHPILOT.JP@PATHPILOT.JP
kadmin.local: addprinc alpha/sfuji.pathpilot.jp
WARNING: no policy specified for alpha/sfuji.pathpilot.jp@PATHPILOT.JP; defaulting to no policy
Enter password for principal "alpha/sfuji.pathpilot.jp@PATHPILOT.JP":
Re-enter password for principal "alpha/sfuji.pathpilot.jp@PATHPILOT.JP":
Principal "alpha/sfuji.pathpilot.jp@PATHPILOT.JP" created.
kadmin.local: quit
#

これでalphaのプリンシパルが登録された。

以下を実行してみる。
[root@localhost ~]# su - alpha  
[alpha@sfuji ~]$ kinit alpha/sfuji.pathpilot.jp@PATHPILOT.JP
Password for alpha/sfuji.pathpilot.jp@PATHPILOT.JP: 
[alpha@sfuji ~]$ 

[alpha@sfuji ~]$ klist -e
Ticket cache: FILE:/tmp/krb5cc_1002
Default principal: alpha/sfuji.pathpilot.jp@PATHPILOT.JP

Valid starting               Expires                       Service principal
2020-02-13T21:10:25 2020-02-14T21:10:25 krbtgt/PATHPILOT.JP@PATHPILOT.JP
Etype (skey, tkt): aes256-cts-hmac-sha1-96, aes256-cts-hmac-sha1-96
[alpha@sfuji ~]$

このプリンシパルでチケット発行されがキャッシュされていることを確認。動いている。

次にクライアントからのアクセスを試す。
クライアントマシーンに以下をインストール。
yum install krb5-workstation

 

« ゲストOSインストール済の仮想サーバーのOS再インストール | トップページ | Kerberosの旅 - 再出発 »

ソフトウエア導入」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« ゲストOSインストール済の仮想サーバーのOS再インストール | トップページ | Kerberosの旅 - 再出発 »