Kerberos
ナビゲーションに移動
検索に移動
Kerberos はネットワーク認証システムです。詳しくは krb5 のドキュメント を見てください。
サーバー
krb5 パッケージをインストールして、必要に応じて設定してください。例:
/etc/krb5.conf
[libdefaults] default_realm = EXAMPLE.COM permitted_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 camellia256-cts-cmac camellia128-cts-cmac [realms] EXAMPLE.COM = { admin_server = kerberos.example.com supported_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 camellia256-cts-cmac camellia128-cts-cmac } [domain_realm] example.com = EXAMPLE.COM .example.com = EXAMPLE.COM [logging] kdc = SYSLOG:NOTICE admin_server = SYSLOG:NOTICE default = SYSLOG:NOTICE
DNS レコードを追加:
db.example.com
kerberos A 1.2.3.4 _kerberos TXT "EXAMPLE.COM" _kerberos._udp SRV 0 0 88 kerberos.example.com. _kerberos-adm._udp SRV 0 0 750 kerberos.example.com.
逆引きを忘れないで下さい。
ファイアウォールを使用している場合 tcp と udp のポート 88 と 750 を使用許可するルールを追加してください。
データベースを作成:
# krb5_util -r EXAMPLE.COM create -s
krb5-kdc
サービスを起動・有効化してください。
ケルベロス認証の代わりにローカルの root ユーザーを使って kadmin を起動:
# kadmin.local
Authenticating as principal root/admin@EXAMPLE.COM with password. kadmin.local:
基本コマンド
プリンシパル (ユーザー) を追加:
kadmin.local: add_principal myuser@EXAMPLE.COM
WARNING: no policy specified for myuser@EXAMPLE.COM; defaulting to no policy Enter password for principal "myuser@EXAMPLE.COM": *** Re-enter password for principal "myuser@EXAMPLE.COM": *** Principal "myuser@EXAMPLE.COM" created.
サービスプリンシパルを追加:
kadmin.local: add_principal -randkey nfs/someserver.example.com@EXAMPLE.COM
SSH の認証
SSH サーバーとクライアントの設定に以下の行を追加して、サーバーを再起動してください:
GSSAPIAuthentication yes
サービスプリンシパルを生成:
kadmin.local: add_principal -randkey host/someserver.example.com@EXAMPLE.COM
サーバーのキータブを生成:
kadmin.local: ktadd -keytab /root/someserver.krb5.keytab
# scp kerberos.example.com:/root/someserver.krb5.keytab /etc/krb5.keytab # chmod 600 /etc/krb5.keytab
SSH クライアント側でチケット発行許諾チケット (TGT) を取得:
$ kinit myuser@EXAMPLE.COM
Password for myuser@EXAMPLE.COM: ***
テスト:
$ ssh someserver.example.com -v