- PR -

SMTP-Authが動きません 【Redhat 9+Postfix+PostgreSQL+cyrus-sasl+Courier IMAP】

1
投稿者投稿内容
流しのエンジニア
常連さん
会議室デビュー日: 2003/10/17
投稿数: 48
投稿日時: 2005-09-15 12:08
下記の構成でバーチャルドメインのメールシステムを構築しました。

OS:Redhat 9 + Fedora Legacy レポジトリ

下記のパッケージは全てRPMとしてインストール
Postfix:postfix-2.2.5-3.src.rpm (SPECはsasl, PostgreSQL使用可能に変更)
Courier IMAP:courier-authlib-0.57.tar.bz2+courier-imap-4.0.4.tar.bz2
cyrus-sasl:cyrus-sasl-2.1.10-4.2.legacy.i386.rpm
PostgreSQL:postgresql-8.0.3-1PGDG.src.rpm

メールボックスはバーチャルドメイン化されて、配送とIMAPでのアクセスも成功してメールも読めました。しかしながらSMTP-Authに失敗します。

同一サーバで、DBを使用する前にlinuxのIDベースで、システムを構築してテストした時は、SMTP-Authも正常稼動を確認できております。

失敗している状態のログを見ると
postfix/smtpd[6691]: connect from 192.168.100.10
postfix/smtpd[6691]: warning: 192.168.100.10: SASL LOGIN authentication failed
postfix/smtpd[6691]: lost connection after AUTH from 192.168.100.10
postfix/smtpd[6691]: disconnect from 192.168.100.10
のようになっている状況でした。

PostgreSQLのログおよび「tcpdump -i lo port 5432」の結果を見る限りでは、PostgreSQLへのアクセスすら、おこなわれていないようでした。
ちなみに、IMAPのメールボックスへのアクセス時はPostgreSQLへの通信(アクセス)がおこなわれていることは確認できました。

/usr/lib/sasl2/smtpd.confの設定としては、IMAP認証・saslのDB認証を含め下記の3パターンを調べましたが、どの場合もPostgreSQLにアクセスしている気配はありませんでした。

# PostgreSQL Try 1(Not work)
pwcheck_method: authdaemond
authdaemond_path: /var/spool/authdaemon/socket
mech_list: PLAIN LOGIN
log_level: 3

# PostgreSQL Try 2 (Not work)
pwcheck_method: saslauthd
auxprop_plugin: sql
mech_list: PLAIN LOGIN cram-md5 digest-md5
sql_engine: pgsql
sql_hostnames: localhost:5432
sql_user: postfix
sql_passwd: XXXXX
sql_database: postfix
sql_select: select password from mailbox where username = '%u@%r'

# PostgreSQL Try 3 (Not work)
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
authdaemond_path: /var/run/saslauthd/mux

また、/etc/groupには下記のようにpostfixのdaemonグループへの追加もおこなっております。
daemon:x:2:root,bin,daemon,postfix

main.cfのSMTP-Authの設定は下記の通りで、この設定でlinuxのIDベースでの動作は確認できています。

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination

なお、バーチャルドメインのpostfixadminにPostgreSQL用のパッチを当てたものでおこなっております。

どなたかこの件に関しておわかりの方がいらっしゃいましたら、よろしくお願いいたします。
1

スキルアップ/キャリアアップ(JOB@IT)