Kerberosの旅 - 再出発
ちょっとづまづいて、最初からやりなおし。
KDCサーバー上の作業
まずはKDCをインストールするサーバーのFirewallを止める。
# systemctl disable firewalld
# service firewalld stop
# setenforce 0
# vi /etc/selinux/confog SELENUX=disabledに設定
/etc/hostname
localhostをkdc.pathpilot.jp に変更。
/etc/hosts
kdc.pathpilot.jp, h-client-1.pathpilot.jp, node1.pathpilot.jp を登録。
node1はサーバー、h-client-1はクライアントに設定。クライアントからサーバーへのsshをKerberos認証化することがゴール。
Kerberosサーバーのインストール
# yum install krb5-server
/var/kerberos/krb5kdc/kdc.confの編集
[realms]
PATHPILOT.JP = {
....
supported_enctypes = aes256.... aes128.... arcfour.... <- とりあえず左記の3種類のみ
}
# krb5_util create -r PATHPILOT.JP -s
/etc/krb5.confの編集
変更前:
# default_realm = EXAMPLE.COM
default_ccache_name = KEYRING:per....
変更後:
default_realms = PATHPILOT.JP
# default_cchache_name = KEYRING:per....
Kerberosサービスの起動とOS起動時の自動起動設定
# systemctl start krb5kdc
# systemctl start kadmin
# service krb5kdc.service start
# service kadmin.service start
KDCクライアント上の作業
以下をh-client-1とnode1の両方に実施する
/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 = kdc.pathpilot.jp
admin_server = kdc.pathpilot.jp
}
[domain_realm]
.pathpilot.jp = PATHPILOT.JP
pathpilot.jp = PATHPILOT.JP
ーーーーーーーーーーーーーーーーーーーー
以上でKDCサーバーとKDCクラアンとの事前準備は完了した。
次に実際の認証確認を行う。
KDCクライアント上での作業
ユーザーとしてalphaを作成する。
# useradd alpha
# passwd alpha
KDCサーバー上での作業
principalとしてalpha/kdc.pathpilot.jpを登録する。
[root@h-client-1 ~]# kadmin.local
kadmin.local: addprinc alpha/kdc.pathpilot.jp
WARNING: no policy specified for alpha/kdc.pathpilot.jp@PATHPILOT.JP; defaulting to no policy
Enter password for principal "alpha/kdc.pathpilot.jp@PATHPILOT.JP":
Re-enter password for principal "alpha/kdc.pathpilot.jp@PATHPILOT.JP":
Principal "alpha/kdc.pathpilot.jp@PATHPILOT.JP" created.
kadmin.local:
KDCクライント上での作業
KDCサーバー上でalphaのprincipal登録ができたので、今度はKDCクライアントであるh-client-1からalphaの認証を行ってみる。
[root@h-client-1 ~]# su - alpha
最終ログイン: 2020/02/16 (日) 14:46:03 JST日時 pts/0
[alpha@h-client-1 ~]$ kinit alpha/kdc.pathpilot.jp
Password for alpha/kdc.pathpilot.jp@PATHPILOT.JP:
[alpha@h-client-1 ~]$ klist -e
Ticket cache: FILE:/tmp/krb5cc_1001
Default principal: alpha/kdc.pathpilot.jp@PATHPILOT.JP
Valid starting Expires Service principal
2020-02-16T14:59:19 2020-02-17T14:59:19 krbtgt/PATHPILOT.JP@PATHPILOT.JP
Etype (skey, tkt): aes256-cts-hmac-sha1-96, aes256-cts-hmac-sha1-96
[alpha@h-client-1 ~]$
無事完了。
node1でも同様に確認。
ーーーーーーーーーーーーーーーーー
以上でh-client-1とnode1にてKerberos認証が使えるようになった。
次に、h-client-1からnode1のsshをKerberos認証で行う。
Kerberos認証によるsshを行うには、principalの鍵をKDCに発行してもらい、その鍵にてクライアントを認証することになる。
そこで、再びKDCサーバーに戻って、principal alphaの鍵を発行する。この鍵のことをKey Table、略してKeytabと呼ぶ。
KDCサーバー上の作業
Key Tableにprincipal alphaのKeyを追加する。追加と言ってもこれが初めてのKeyなるのだが、、、
kadmin.local: ktadd -k /etc/ssh-krb5.keytab alpha/kdc.pathpilot.jp
Entry for principal alpha/kdc.pathpilot.jp with kvno 2, encryption type aes256-cts-hmac-sha1-96 added to keytab WRFILE:/etc/ssh-krb5.keytab.
Entry for principal alpha/kdc.pathpilot.jp with kvno 2, encryption type aes128-cts-hmac-sha1-96 added to keytab WRFILE:/etc/ssh-krb5.keytab.
Entry for principal alpha/kdc.pathpilot.jp with kvno 2, encryption type arcfour-hmac added to keytab WRFILE:/etc/ssh-krb5.keytab.
kadmin.local:
/var/kerberos/krb5kdc/kdc.confでsupported_enctypesをaes235, aes128, arcfourの3つを指定しているので、この3つに対応するKeyがKeytableに追加されて/etc/ssh-kerb5.keytabに保存される。 -kオプションを指定しないと、Defaultとして/etc/krb5.keytabに保存される。
このKeytabをh-client-1の/etcにscpを使ってコピーする。
KDCクライアント上の作業
KDCサーバーからscpされた/etc/ssh-krb5.keytabをユーザーalphaからアクセス出来るようにオーナー変更する。Root権限でないと変更できないので注意。
# chown alpha /etc/ssh-krb5.keytab
次にalphaユーザーにてkinitを実行する
[alpha@h-client-1 ~]$ kinit alpha/kdc.pathpilot.jp@PATHPILOT.JP -kt /etc/ssh-krb5.keytab
---- 今日はここまで。
« Kerberosの旅 | トップページ | WordPress Cocoonに挑戦 »
「ソフトウエア導入」カテゴリの記事
- Windows10の起動不良対応の備忘録(2025.02.20)
- Chrome Remote DesktopでクライアントPCにて右シフトキーが使えない件(2024.12.30)
- 非Windows11対応PCをWindows11にアップグレードする方法(2023.03.21)
- ThonnyでPicoのVersion upで SSL: CERTIFICATE_VERIFY_FAILED, certificate has expired にハマった件(2022.11.23)
- UI-VIEW32のオリジナルマップの作製(2022.11.22)
コメント