これを行う方法について、IBM の InfoCenter に適切な記事があります。
タム 6.0:
http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/topic/com.ibm.itame.doc_6.0/rev/am60_webseal_admin211.htm?path=5_8_1_6_0_6_0_2_1_10_1_2#spnego-cfg-unix
タム 6.1.1:
http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/topic/com.ibm.itame.doc_6.1.1/am611_webseal_admin709.htm?path=5_8_1_3_1_11_1_2#spnego-cfg-unix
サム 7.0:
http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/topic/com.ibm.isam.doc_70/ameb_webseal_guide/concept/con_config_win_desktop_sso_unix.html
必ず:
- WebSEAL 用の IBM Kerberos クライアントをインストールする
- Linux サーバーが認証するためのエントリを AD に作成します。
- Kerberos プリンシパルをその AD ユーザーにマップします (最も難しい部分)
- WebSEAL で SPNEGO を有効にする
ここに役立つかもしれない私のメモのいくつかがあります。ただし、InfoCenter サイトの説明はほぼ正しいので、順を追って説明することを強くお勧めします。
ステップ 1 では、linux_i386
ディレクトリーで、以下を使用して IBM Kerberos クライアントをインストールします。
rpm -i IBMkrb5-client-1.4.0.2-1.i386.rpm
ステップ 2 では、AD コントローラーで実行する ktpass コマンドは次のようになります。
ktpass -princ HTTP/WEBSEAL_SERVER_NAME_NOTFQDN@ad-domain.org -pass new_password -mapuser WEBSEAL_SERVER_NAME_NOTFQDN -out c:\WEBSEAL_SERVER_NAME_NOTFQD_HTTP.keytab -mapOp セット
そのキータブ ファイルを Linux サーバーに転送します。
また、Linux サーバー上の keytab ファイルが chown ivmgr.ivmgr であることも確認してください。chmod 600。それ以外の場合、WebSEAL プロセスはそれを読み取ることができません。
/etc/krb5/krb5.conf
ステップ 3 では、KDC、AD レルム、およびローカル DNS 名を編集して構成する必要があります。mkkrb5clnt
ユーティリティを使用して、これを支援できます。
config.krb5 -r AD-DOMAIN.ORG -c ad-domain.org -s ad-domain.org -d AD-DOMAIN
編集krb5.conf
および変更:
[libdefaults]
default_tkt_enctypes = des-cbc-md5 des-cbc-crc
default_tgs_enctypes = des-cbc-md5 des-cbc-crc
私のメモから、次を使用して Kerberos 構成をテストできるようにしました (これはすべて、infocenter の記事に記載されています)。
/usr/krb5/bin/kinit webseal@AD-DOMAIN.ORG
WebSEAL ユーザーのパスワードを入力し、klist
確認に使用します。
ステップ 4 では、WebSEAL 構成ファイルを編集して以下を変更します。
[spnego]
spnego-auth = https
[authentication-mechanisms]
kerberosv5 = /opt/PolicyDirector/lib/libstliauthn.so
クライアントが正しく構成されている場合、AD アカウント名が TAM アカウント名と一致していれば機能します。TAM ユーザーにマッピングするときに、@DOMAIN.ORG を先頭に WebSEAL を追加することもできます。これは、SSO 用に複数のドメインをセットアップする場合に便利です。ただし、マッピング先のディレクトリ内に user@domain.org の TAM アカウントが必要です。
[authentication-levels]
WebSEAL 構成ファイル内のセクションを変更することにより、SPNEGO が入る認証レベルを指定できます。そのレベルだろうlevel = kerberosv5
頑張って、忍耐を持ってください。Linux ボックスで Kerberos クライアントをセットアップするのが最も難しい部分でした。大文字の DNS ドメイン名、小文字の DNS ドメイン名、または単なる普通の AD ドメイン名が必要な場合は、少し注意が必要です。