Zimbra Collaboration Suite9オープンソースエディションでのシングルサインオンの構成

企業の内部ネットワークでユーザーの利便性と安全性を確保するための重要なテクノロジーの1つは、シングルサインオンテクノロジーです。このテクノロジーにより、従業員は認証手順を1回だけ実行し、正常に完了すると、すべての企業リソースに自動的にアクセスできます。 Zimbra Collaboration Suiteを使用している場合は、その中でSSOを構成できます。この記事では、これを行う方法を紹介します。



画像


この記事では、Active Directoryを使用してユーザーを認証し、シングルサインオンはKerberosを使用して実行され、ZimbraOSEのユーザーはADのユーザーに対応していることを前提としています。ADからZimbraOSEで自動ユーザー作成を設定する方法について以前に書いたことを思い出してください。



初期データ:Zimbra 9を搭載したサーバーは、madegirah.ruドメインにあり、AD認証タイプを使用します。ADサーバーはMADEGIRAH.LOCALにあります。



この場合のSSOの構成の原則は非常に簡単です。このフレームワーク内で、次のことを行います。



  1. 認証のためにユーザーにチケットを発行する、いわゆる「チケットテイカー」と呼ばれる特別なユーザーを作成しましょう。
  2. KerberosでKeytabファイルを作成しましょう
  3. Kerberosで動作するようにSPNEGOユーティリティとZimbraOSEサーバー自体を構成しましょう
  4. SSOで動作するようにブラウザと電子メールクライアントを構成しましょう。


ファイルに変更を加える場合は、すべてのファイルをバックアップする必要があることに注意してください。



まず、ADで新しいzimbraアカウントを作成し、パスワードが変更されないようにする必要があります。















その後、ドメインコントローラーで、一連のSPNレコードを作成します。私たちの場合、これらはhttp、pop、imap、smtpプロトコルのプリンシパルになります。それらをzimbraアカウントに追加するには、コマンドを1つずつ実行する必要があります



  • setspn -S HTTP / madegirah.ru zimbra
  • setspn -S POP / madegirah.ru zimbra
  • setspn -S IMAP / madegirah.ru zimbra
  • setspn -S SMTP / madegirah.ru zimbra


その後、setspn –L zimbraコマンドを使用して、必要なすべてのプリンシパルがユーザーに追加されていることを確認します。







その後、ドメインコントローラーにC:\ keysフォルダーを作成します。このフォルダーに、Kerberosを使用して生成されたkeytabファイルを配置します。次のコマンドを使用して、最初のキータブを生成しましょう



。ktpass-out c:\ keys \ jetty.keytab -princ HTTP / madegirah.ru@MADEGIRAH.LOCAL -mapUser zimbra -mapOp set -pass ******** -crypto RC4 -HMAC-NT -pTypeKRB5_NT_PRINCIPAL単一の



プリンシパルキータブを作成します次に、さらに3つのプリンシパルを追加する必要があります。これは、次のコマンドを使用して実行されます。



  1. ktpass -princ IMAP / madegirah.ru@MADEGIRAH.LOCAL -mapuser zimbra -pass ******** -crypto All -ptype KRB5_NT_PRINCIPAL -in c:\ keys \ jetty.keytab -out c:\ keys \ jetty。 new.keytab
  2. ktpass -princ POP/madegirah.ru@MADEGIRAH.LOCAL -mapuser zimbra -pass ******** -crypto All -ptype KRB5_NT_PRINCIPAL -in c:\keys\jetty.new.keytab -out c:\keys\jetty.new1.keytab
  3. ktpass -princ SMTP/madegirah.ru@MADEGIRAH.LOCAL -mapuser zimbra -pass ******** -crypto All -ptype KRB5_NT_PRINCIPAL -in c:\keys\jetty.new1.keytab -out c:\keys\jetty.new2.keytab






その結果、ファイルc:\ keys \ jetty.new2.keytabには、必要なすべてのプリンシパルが含まれます。 jetty.new2.keytabを除いて、命令の実行中に取得されたすべてのキータブを削除しましょう。名前をjetty.keytabに変更し、/ opt / zimbra / data /メールボックス/ spnego /および/ opt / zimbra / jetty /フォルダーにあるZimbraOSE9を使用してサーバーにコピーします。



chown zimbraコマンド

を使用して、keytabファイルへのアクセス権を変更します 。zimbra/ opt / zimbra / data / mailboxd / spnego / jetty.keytab chown zimbra:zimbra /opt/zimbra/jetty/jetty.keytab



次に、組み込みのZimbraコラボレーションの構成を開始しましょう。以前に作成された.keytabファイルで動作するSPNEGOユーティリティのスイート。次のコマンドを使用してSPNEGOを構成できます 。sudosu



--

zimbrazmprov mcf zimbraSpnegoAuthEnabled TRUE

MCF zimbraSpnegoAuthRealm MADEGIRAH.LOCAL zmprov

zmprov MSはHTTP / madegirah.ru zimbraSpnegoAuthTargetNameをmadegirah.ru

zmprov MSはHTTP / madegirah.ru zimbraSpnegoAuthPrincipalをmadegirah.ru

zmprov MSがTRUEにzimbraImapSaslGssapiEnabledをmadegirah.ru

zmprovのMS TRUEにzimbraPop3SaslGssapiEnabledをmadegirah.ru

zmprov MD madegirah.ru zimbraAuthKerberos5Realm MADEGIRAH。 LOCAL

zmprov md madegirah.ru zimbraWebClientLoginURL '/ service / spnego'

zmprov md madegirah.ru zimbraWebClientLogoutURL '../?sso = 1'




SPNEGOティンクチャーがグローバルであるという事実に注意を向けます。つまり、サーバー上のすべてのドメインがZimbraは、認証に同じActiveDirectoryを使用する必要があります。



次のステップは、設定ファイル/opt/zimbra/jetty/etc/krb5.iniを次の形式に変換することです。



[libdefaults]

default_realm = MADEGIRAH.local

dns_lookup_realm = no

dns_lookup_kdc = no

kdc_timesync = 1

ticket_lifetime = 24h



default_keytab_name = FILE:/opt/zimbra/data/mailboxd/spnego/jetty.keytab

default_tgs_enctypes = arcfour-rc4-md5 rc4-hmac des-cbc-crc des-cbc-md5

default_tkt_enctypes = arcfour-rc4-md5 rc4-hmac des-cbc-crc des-cbc-md5

permitted_enctypes = arcfour-rc4-md5 rc4-hmac des-cbc-crc des-cbc-md5



[realms]

MADEGIRAH.local = {

kdc = DC.MADEGIRAH.LOCAL

admin_server = DC.MADEGIRAH.LOCAL

default_domain = MADEGIRAH.LOCAL

}



[domain_realm]

madegirah.local = MADEGIRAH.LOCAL

.madegirah.local = MADEGIRAH.LOCAL

.local = MADEGIRAH.LOCAL



[appdefaults]

autologin = true

forwardable=true


これでサーバー側の構成は完了です。残っているのは、ユーザー側の設定にいくつかの変更を加えることだけです。特に、ブラウザはSPNEGOで動作するように構成する必要があります。 Firefoxの場合、アドレスバーにabout:configと入力し、検索ボックスにnetwork.negと入力します。名前にurisという単語が含まれている表示フィールドで、値madegirah.ruまたはを指定します https://











Internet Explorerの場合は、madegirah.ruをローカルイントラネットに追加し ます。グループポリシーを使用してこれを行うこともできます。 GoogleChromeはInternetExplorerの設定を取得します。







ThunderbirdメールクライアントでのSSO認証の場合、アカウントの設定時にGSSAPI認証タイプを指定する必要があります。これを機能させるために、以前にIMAP、POP、およびSMTPのプリンシパルを追加しました。クライアントの制限により、POP / IMAPおよびSMTPを使用する場合、Outlookはこのタイプの認証をサポートしないことに注意してください。







もう1つの不快なニュアンスは、ZimbraOSEで自己署名された証明書を使用する場合の安全でないページに関する警告です。このニュアンスは重要ではありませんが、定期的に表示される警告は、シングルサインオンテクノロジの利便性の原則と矛盾します。削除するには、ターゲットマシンにZimbraOSE証明書をインストールする必要があります。



これを行うためには、次のコマンドは、Zimbraのサーバー上で必要とされています。



sudoの秀

CDの/ opt / Zimbra社/ SSL / Zimbra社/ CA

のopensslのx509 -in ca.pem -outform DER -out〜/ zimbra.cer




その後、受信した証明書を転送する必要がありますターゲットマシンでダブルクリックします。開いたウィンドウで、[証明書のインストール]を選択し、証明書のインポートウィザードでインポートする必要があります。インストール時の唯一の注意点は、証明書のストアを選択するときに、「TrustedRootCertificationAuthority」ストアに配置する必要があることです。さらに、この証明書はグループポリシーからインストールできます。



この証明書が信頼できるものとして指定されると、Zimbra OSEWebクライアントに入るときおよびThunderbirdを使用するときの警告は表示されなくなります。



All Articles