« 模様かえ | トップページ | LibvirtdのKerberos化(2) »

2011年1月 5日 (水)

libvirtdのkerberos化

さて、KVMというかlibvirtですが、毎回パスワードを入れるのに疲れました。

せっかくFreeIPAもあることだし、認証をsasl(kerberos)にすることにします。なぜ、kerberos?え、私の中ではシングルサインオンといえばkerberosですがなにか。

まず、事前準備。ログインユーザをFreeIPAに登録していなければそれを作ります。
注意が必要なのは、一度コマンドでログイン(kinit)しておかないとPreferenceのNetwork Authenticationが設定できません。kinitでログインすると、新しいパスワードを求められます。それまでは暫定パスワードなので認証には使用できません。

作業はipa-clientが導入されていればどこでやってもいいのですが、話を簡単にするため、libvirtdが導入されているマシンでやることにします。なお、ここの例ではkvm.example.comがlibvirtd、ipa.example.comがFreeIPAのサーバです。我が家の構成ではIPAはKVMの中のVMですが、この際細かいことは気にしないことにします。

まず、adminのTGTをとります
# kinit admin
Password for adin@EXAMPLE.COMパスワード

で、ユーザを作ります
# ipa-addgroup -g 500 foo
# ipa-adduser foo
First name: Foo
Last name: Bar
foo successfully added

とりあえず、パスワードなんかも設定したとして、次にサーバ側の設定です。libvirtdのSPNはWikiによればlibvirtらしいので、この名前で登録します。ついでにkeytabもつくりましょう。
# ipa-addservice libvirt/kvm.example.com
# ipa-getkeytab -s ipa.example.com -p libvirt/kvm.example.com -k /etc/libvirt/krb5.tab

そして、諸々の設定ファイルを書き換えます。
# vi /etc/sysconfig/libvirtd
LIBVIRTD_ARGS="--listen"を有効に。他も趣味にあわせてどうぞ。

# vi /etc/libvirt/libvirtd.conf
listen_tcp = 1を有効に。auth_tcp="sasl"に。

# vi /etc/sasl2/libvirt.conf
mech_list:gssapiの行を有効に。

で、必要ならiptablesの設定も変えて、libvirtdを再起動します。

デスクトップにログインし、Network Authenticationを設定したら、Vartual Machine Managerを起動し、新しいコネクションを作ります。
コネクションの種別にSASLを指定してサーバを選択すれば出来上がりです。

これで、画面開くたびにパスワードを入れる煩わしさから開放されます。

参考サイト
http://freeipa.org/docs/1.2/Administration_Guide/en-US/html/
http://ja.wikipedia.org/wiki/Libvirt
http://www.asahi-net.or.jp/~aa4t-nngk/kvm4.html

とりあえず、外から使わないならTLSは必要ないので当面これで行ってみたいと思います。FreeIPAの証明書が片付いたらTLSも設定したいと思います。なので、次回は昨日拾った情報から素敵なジュークボックスの作り方の予定です。

次回予告
scsi-target-utilとmtxでつくるCD/DVDジュークボックス

« 模様かえ | トップページ | LibvirtdのKerberos化(2) »

コメント

コメントを書く

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

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/60027/50503357

この記事へのトラックバック一覧です: libvirtdのkerberos化:

« 模様かえ | トップページ | LibvirtdのKerberos化(2) »