気まぐれSE日記

地方でエンジニアしてます

Apacheとmod_auth_kerb で認証

某所のシステムでWindows2003サーバ上のActiveDirectoryドメインに参加したクライアントがログインIDでApacheWebサーバの特定のURLを開く際に認証をかけようとしております。apacheにはmod_auth_kerbを使用してAD側でkeytabっていうファイルを作ってapacheサーバ側に持ってきてhttpd.confとkrb5.confを設定すると出来るというので動作検証をやっているのですが、いくらやってもapacheInternal Server Errorってエラーを出てきて動いてくれない環境と成功する環境が出てきていています。どうもmod_auth_kerbのバージョンによりうまく動いたり動かない環境が発生するようです。


↓具体的な設定手順はこの辺のページに書かれていますのでそちらを見てください
http://www.mylab.jp/diary/20071129.html#p03


わかったこと

環境1

ApacheサーバのOS: RHEL4 パッチなし

  • httpd-2.0.52-9.ent
  • mod_auth_kerb-5.0 (あとで修正パッチ当てて5.0-1.3でもNG)

この組み合わせだとNG

apacheのerrorログは

gss_import_name() failed: An invalid name was supplied (Hostname cannot be canonicalized)

こんなエラーを吐いてきます。kerberosの認証まで動く前にエラーとなっている模様です。
krb5.confやhttpd.confの設定変更、keytabをいろいろ試したけどすべてNG

環境2

ApacheサーバのOS: RHEL4 パッチなし

  • httpd-2.0.52-9.ent
  • mod_auth_kerb-5.3 (RHEL4に付属していた同パッケージをアンインストールした後、ソースから手動でコンパイルしてインストールした)

この組み合わせだとエラーもなく成功しました。


RHEL4に付属するmod_auth_kerbは古いためか動いてくれませんでした。確証は持てませんがバグかと思っています。それはネット上を探してもmod_auth_kerb5.0で認証できたという記事やblogは無く、mod_auth_kerb 5.3で動いたという情報しか載ってないからです。