ファイル転送のためのDovecot認証

ファイル転送のためのDovecot認証

現在、私はdovecotとファイル転送認証に関連するいくつかの問題に直面しています。

環境に関するいくつかの詳細は次のとおりです。

  • セントース7(3.10.0-042stab142.1)
  • サフィックス(2:2.10.1-9.el7)
  • ピジョンロフト(1:2.2.36-6.el7)

サフィックス部分は大丈夫に見えますが、ローカルでメールの送受信と外部ドメインへの転送が機能します。一部のユーザーでは、imap機能を有効にする必要があります。

"doveconf -n"からの抜粋:

auth_debug_passwords = yes
auth_mechanisms = plain login
first_valid_uid = 1000

mail_debug = yes
mail_location = maildir:/var/mail/vhosts/<mydomain>/
mbox_write_locks = fcntl

namespace inbox { 
  inbox = yes
   location =
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk 
  }
  mailbox Sent {
    special_use = \Sent 
  }
  mailbox "Sent Messages" {
    special_use = \Sent 
  } 
  mailbox Trash {
    special_use = \Trash 
  } 
 prefix = 
 } 

passdb { 
  args = scheme=SHA512-CRYPT username_format=%Lu /etc/dovecot/mydomain_passwd 
  driver = passwd-file 
} 

service auth { 
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0666
    user = postfix 
  } 
  unix_listener auth-userdb {
    group = vmail
    mode = 0666 
  }
 } 
service imap-login { 
  inet_listener imap {
    port = 143 
  } 
  inet_listener imaps {
    port = 993
    ssl = yes 
  }
 }
ssl = required 
ssl_cert = </etc/letsencrypt/live/mydomain/fullchain.pem

ssl_cipher_list = ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

ssl_dh_parameters_length = 2048
ssl_key =  # hidden, use -P to show it
ssl_prefer_server_ciphers = yes

userdb { 
  args = username_format=%Lu /etc/dovecot/mydomain_passwd 
  default_fields = uid=5000 gid=5000 home=/var/mail/vhosts/mydomain/%Ln 
  driver = passwd-file
}

コンテンツ "mydomain_passwd":

Zelestra@mydomain:{SHA512-CRYPT}$6$69/Qa2lPaBz3q6Gy$2zL7zAsgp6JckiziPUxJc927p.YSAyQlAYCKIJ2uvA.uR6pPfktEcHO4mbnAO3LEVVYT6jNrSPykO.STuTJJH0:5000:5000::/var/mail/vhosts/mydomain/zelestra::

「doveadm user」を使用してユーザーをテストしようとすると、次の結果が表示されます。

Jul  6 13:56:36 h2891775 dovecot: auth: Debug: master in: USER#0111#011zelestra#011service=doveadm
Jul  6 13:56:36 h2891775 dovecot: auth: Debug: passwd-file(zelestra): lookup: user=zelestra file=/etc/dovecot/mydomain_passwd
Jul  6 13:56:36 h2891775 dovecot: auth: passwd-file(zelestra): unknown user
Jul  6 13:56:36 h2891775 dovecot: auth: Debug: userdb out: NOTFOUND#0111
Jul  6 13:56:43 h2891775 dovecot: auth: Debug: master in: USER#0111#011zelestra@mydomain#011service=doveadm
Jul  6 13:56:43 h2891775 dovecot: auth: Debug: passwd-file(zelestra@mydomain): lookup: user=zelestra@mydomain file=/etc/dovecot/mydomain_passwd
Jul  6 13:56:43 h2891775 dovecot: auth: passwd-file(zelestra@mydomain): unknown user
Jul  6 13:56:43 h2891775 dovecot: auth: Debug: userdb out: NOTFOUND#0111

メールクライアントでテストする場合(テスト中に組み込まれたMac):

Jul  6 14:03:03 h2891775 postfix/smtpd[14258]: disconnect from tmo-081-218.customers.d1-online.com[<some IP>]
Jul  6 14:03:03 h2891775 dovecot: auth: Debug: client in: AUTH#0115#011PLAIN#011service=imap#011secured#011session=5GStp8SpXxJQu1Ha#011lip=<some IP>#011rip=<some IP>#011lport=143#011rport=4703#011local_name=mail.mydomain#011resp=AFplbGVzdHJhQGtvbnppbGRlcmFzcGVrdGUuZGUARDN2MWwuM3JheQ== (previous base64 data may contain sensitive data)
Jul  6 14:03:03 h2891775 dovecot: auth: Debug: passwd-file(zelestra@mydomain,<some IP>,<5GStp8SpXxJQu1Ha>): lookup: user=zelestra@mydomain file=/etc/dovecot/mydomain_passwd
Jul  6 14:03:03 h2891775 dovecot: auth: passwd-file(zelestra@mydomain,<some IP>,<5GStp8SpXxJQu1Ha>): unknown user
Jul  6 14:03:05 h2891775 dovecot: auth: Debug: client passdb out: FAIL#0115#011user=zelestra@mydomain#011original_user=Zelestra@mydomain
Jul  6 14:03:05 h2891775 dovecot: imap-login: Aborted login (auth failed, 5 attempts in 10 secs): user=<zelestra@kmydomain>, method=PLAIN, rip=<some IP>, lip=<some IP>, TLS: Disconnected, session=<5GStp8SpXxJQu1Ha>

「doveadm user *@mydomain」などの照会を実行すると、次の出力が表示されます。

Zelestra@mydomain

何か欠けているようですが、現在はどこを見なければならないのか、追加のトラブルシューティング方法がわかりません。

運がなくてもこれを何度も行いました。

  • 鳩のウィキ/ハウツーを読んでください。
  • fooを検索してfooを交換しても結果は出ません。この質問のバリエーションの助けを借りてください。

今私が答えたい質問は次のとおりです。

a)doveadmのワイルドカード検索では結果が表示されますが、特定の検索では結果がないのはなぜですか。

b)ハトのimap部分を操作し、クライアントの正しい認証を取得する方法のヒント

ありがとう

答え1

roaimaに感謝します。 「userdb/passwd」の内容を小文字の項目に変更したところ、正常に動作しました。

したがって、私が考える限り、これはuserdbとpassdbの「小文字で隠す」オプションです。データベース内の情報ではなく、入力された情報のみを変換します。残念ながら、ドキュメントにはこれについての言及はなく、これは私が期待する動作ではありません。

関連情報