ユーザ認証

手引き

Cyrus IMAPサーバは、ユーザ認証に、Cyrus SASLライブラリを使用します。 Cyrus SASL の SASL機能詳細に関するドキュメントを参照してください。 このセクションは、IMAPサーバの特徴に焦点をあてています。

認証メカニズム

これを書くとき、Cyrus SASLライブラリは、 以下のSASLメカニズムを根底でサポートしています。 CRAM-MD5, DIGEST-MD5, KERBEROS_V4,and GSSAPI。 Cyrus IMAP,POP,LMTPサーバはもまた、クライアントサイドの認証および、 外部認証手段に、STARTTLS を使用します。

GSSAPIは、Kerberos V5に特化しています。 STARTTLSクライアントサイド認証は、実際にはテストしていません。

STARTTLSが有効なとき、 PLAIN SASLメカニズム(導入されている場合)も利用可能になります。 なぜなら、接続が暗号化されていない場合、線上にクリアテキストのパスワードを通すべきではないからです。

IMAPプロトコルは、SASLを使用しないユーザ認証もサポートしています。 これは、'LOGIN'コマンド経由によるものです(LOGIN SASLメカニズムと間違えないでください)。 IMAP LOGINコマンド(PLAINと同じ)は、パスワードをクリアテキストで、サーバに送信します。

認証の推奨

認証の設定

/etc/sasldb

最も簡単なユーザ認証方法は、libsasl認証データベースを使用し、 "saslpasswd"ユーティリティを使用してユーザを生成することです。 "sasl_pwcheck_method:sasldb" をセットします。 Make sure Cyrus can read "/etc/sasldb": Cyrusが"/etc/sasldb" を確実に読めるようにします:

   chown cyrus /etc/sasldb*

シャドウパスワード

"/etc/shadow"から、ユーザを認証したい場合、 cyrusユーザがシャドウパスワードを読むことができないため、事態はさらに複雑化します。 それは、libsaslをpwcheckをサポートするように設定し、 また、"sasl_pwcheck_method: pwcheck" をセットすることを暗示します。 SASLライブラリは、ユーザ認証する際、外部ユーティリティをrootとして呼び出します。

Kerberos

Kerberos v4 を設定する

Cyrus IMAP は、SASLライブラリがKERBEROS_V4 サポートでコンパイルされた場合、 Kerberos v4 をサポートします。

サーバのKerberos v4アイデンティティを生成し、 "srvtab"ファイルにサーバのキーを追加します。 ファイルは、cyrus ユーザが読めるようになっていなければなりません。 サーバのKerberosアイデンティティは、"imap.HOST@REALM"で、 この、"HOST" は、マシンホスト名の最初のコンポーネントで、 "REALM"は、マシンのKerberos領域です。

  1. ここは、サンプルセッションで、srvtabファイルを 名前が"foobar"のホスト用に生成します:
       ksrvutil -f /var/imap/srvtab add
    

    ここは、"ksrvutil"リクエストの情報です。 値を埋めるか、RETURN を押して応答します。 この例では、ホスト名が、"foobar"で、領域が、"ANDREW.CMU.EDU"です。

       Name: imap
       Instance: foobar
       Realm: ANDREW.CMU.EDU
       Version number: 
       New principal: imap.foobar@ANDREW.CMU.EDU; version 0
       Is this correct? (y,n) [y] 
       Password: 
       Verifying, please re-enter Password: 
       Key successfully added.
       Would you like to add another key? (y,n) [y] n
    
  2. Kerberized POP の導入を検討しているなら、Kerberosアイデンティティ"pop.HOST@REALM" を作成し、"srvtab"ファイルにキーを追加します。

  3. "srvtab" ファイルをcyrus ユーザの所有にします:

       chown cyrus /var/imap/srvtab
    
  4. /etc/imapd.confにsrvtab オプションを追加します:
       srvtab: /var/imap/srvtab
  5. imtest -m KERBEROS_V4を使用してテストします。 imtest は、現在持っているチケットを気にせず、現行のUnixユーザとしての認証を試みます。 -u オプションは、これを無効にします。

Kerberos_V4 の問題をトラブルシュートする

IMAPサーバ上のcyrusユーザで、 "krbck"(imapディレクトリ内で見つかる)プログラムを実行する。 このプログラムは、いくつかのKerberos v4共通の設定間違いを診断します。

Kerberos v5 を設定する

SASLライブラリがGSSAPIをサポートしてコンパイルされている場合、 Cyrus IMAP は、Kerberos v5 をサポートします。

サーバ用Kerberos v5 アイデンティティを生成します。 Kerberos v5 キーは一般的に "/etc/krb5.keytab" に保存されます。

  1. "kadmin"を使用して、"imap/hostname" キーを追加します。
  2. cyrus user が "/etc/krb5.keytab": user: を読めるようにします。
       chown cyrus /etc/krb5.keytab
    
  3. imtest -m GSSAPI を使用してテストします。 imtest は、現在持っているチケットを気にせず、現行のUnixユーザとしての認証を試みます。 -u オプションは、これを無効にします。


最終更新: $日付: 2000/05/28 19:48:59 $