web-dev-qa-db-ja.com

仮想エイリアスとsasldbのPostfix設定

SMTPサーバーがsasldb認証でこれらのドメインからの受信メールを受け入れるように、いくつかのドメインをエイリアスとして処理するようにpostfixを設定しようとしています。ドキュメントはかなり古く見え、多くの情報源が矛盾しているので、いくつかの構成項目の説明を探し、機能していないsasldb認証を解決します。私のOSはDebian8です。

まず、このsmptd.confファイルには、次のものが含まれています。

pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN

そしてそれはどこに行きますか?さまざまなチュートリアルで、/ usr/lib/sasl2/smtpd.conf、/ etc/sasl2/smtpd.conf、/ etc/postfix/sasl /smtpd.confの3つの異なるパスを見つけることができました。どちらが使用されているかをどうやって知ることができますか?構成変数smtpd_sasl_pathがありますが、そのドキュメントは存在しないのと同じくらい優れています。実際の構成とどのように関連していますか?この変数について 前の質問 がありましたが、実際には理解に役立ちませんでした。

このファイルを3つの場所に配置しましたが、smtpdによって指定された認証方法のリストに、$ 250-AUTH DIGEST-MD5 NTLM CRAM-MD5 PLAIN LOGINが表示されます。

saslpasswd2の領域は何ですか?ユーザー名[email protected]に使用するのは、-u doe.comを使用するjohnとは異なりますか?認証プロセスでユーザー名に完全な電子メールアドレスを使用できますか? このコメント からはどうやらそうですが、私はまだレルムが何であるかを理解していません。最後に、特に複数の仮想ドメインエイリアス構成では、これはsmtpd_sasl_local_domainとどのように関連していますか?空の値を受け入れるようです、それが私がしたことです。

sasldb認証の場合、salsauthdを使用する必要がありますか?私が読んだ ここ そしてそこでpostfixはを使用することができますsaslauthdをインストールせずにsasldb、 otherpeople および公式ドキュメントはそれが必要であることを示しています。正解は何ですか?

複数のドメインを管理する仮想ドメインエイリアスサーバーの場合、myorigin、myhostname、およびmydestinationにどの値を使用する必要がありますか?メールクライアントが適切なドメイン補完で構成されていると仮定した場合、localhost.localdomainは問題ありませんか?それは実際のマシンのホスト名とどのように関連していますか?

以下は私の現在のpostfix設定です。 saslpasswd2を使用してユーザーを追加しましたが、ドメインの有無に関係なく、常に認証に失敗します。 sasldblistusers2のユーザーのリストが表示され、sasldb2ファイルをpostfixのchroot(/ var/pool/postfix/etc/sasldb2)に移動しました ここ

saslfinger - postfix Cyrus sasl configuration Wed Dec  2 11:59:11 CET 2015
version: 1.0.4
mode: server-side SMTP AUTH

-- basics --
Postfix: 2.11.3
System: Debian GNU/Linux 8 \n \l

-- smtpd is linked to --
    libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007fb6d84b9000)

-- active SMTP AUTH and TLS parameters for smtpd --
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_path = sasl2/smtpd.conf
smtpd_sasl_security_options = noanonymous
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache


-- listing of /usr/lib/sasl2 --
total 20
drwxr-xr-x  2 root root 4096 Nov 30 00:12 .
drwxr-xr-x 44 root root 4096 Nov 14 23:39 ..
-rw-r--r--  1 root root    4 Nov 28 21:15 berkeley_db.active
-rw-r--r--  1 root root    4 Sep 25 10:54 berkeley_db.txt
-rw-r--r--  1 root root   70 Nov 30 00:12 smtpd.conf

-- listing of /etc/sasl2 --
total 12
drwxr-xr-x  2 root root 4096 Nov 30 00:41 .
drwxr-xr-x 77 root root 4096 Nov 30 01:19 ..
-rw-r--r--  1 root root   70 Nov 29 23:22 smtpd.conf

-- listing of /etc/postfix/sasl --
total 12
drwxr-xr-x 2 root root 4096 Nov 30 00:41 .
drwxr-xr-x 3 root root 4096 Nov 30 01:18 ..
-rw-r--r-- 1 root root   70 Nov 30 00:41 smtpd.conf




-- content of /usr/lib/sasl2/smtpd.conf --
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN

-- content of /etc/sasl2/smtpd.conf --
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN

-- content of /etc/postfix/sasl/smtpd.conf --
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN

-- content of /etc/postfix/sasl/smtpd.conf --
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN


-- active services in /etc/postfix/master.cf --
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
smtp      inet  n       -       -       -       -       smtpd
submission inet n       -       -       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=may
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_reject_unlisted_recipient=no
  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
smtps     inet  n       -       -       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
pickup    unix  n       -       -       60      1       pickup
cleanup   unix  n       -       -       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
tlsmgr    unix  -       -       -       1000?   1       tlsmgr
rewrite   unix  -       -       -       -       -       trivial-rewrite
bounce    unix  -       -       -       -       0       bounce
defer     unix  -       -       -       -       0       bounce
trace     unix  -       -       -       -       0       bounce
verify    unix  -       -       -       -       1       verify
flush     unix  n       -       -       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       -       -       -       smtp
relay     unix  -       -       -       -       -       smtp
showq     unix  n       -       -       -       -       showq
error     unix  -       -       -       -       -       error
retry     unix  -       -       -       -       -       error
discard   unix  -       -       -       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       -       -       -       lmtp
anvil     unix  -       -       -       -       1       anvil
scache    unix  -       -       -       -       1       scache
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix      -       n       n       -       2       pipe
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman   unix  -       n       n       -       -       pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}

-- mechanisms on localhost --
250-AUTH DIGEST-MD5 NTLM CRAM-MD5 PLAIN LOGIN^M


-- end of saslfinger output --

適切な構成を取得しようとして失った時間を考慮して、正しい説明を含む最新のチュートリアルを作成しようとします。 => [〜#〜]完了[〜#〜]

私を読んでくれてありがとう、そして答えが来るのをありがとう。

1
6trouille

このsmptd.confファイルには何が含まれていますか...そしてそれはどこに行きますか?

まず、Postfixには構成オプションがあり、このファイルをどこに置く必要があるか(cyrus saslを使用している場合)、およびその名前を指定します。そのオプションは次のとおりです。

smtpd_sasl_path = smtpd
cyrus_sasl_config_path = /etc/sasl2/

Postfixはそれらを結合し、/ etc/sasl2 /smtpd.confとしてcyrussaslに送信します

最後に、特に複数の仮想ドメインエイリアス構成では、これはsmtpd_sasl_local_domainとどのように関連していますか?

私の知る限り、ドメイン名が指定されていないユーザーのデフォルトドメインとして使用されます。

複数のドメインを管理する仮想ドメインエイリアスサーバーの場合、myorigin、myhostname、およびmydestinationにどの値を使用する必要がありますか?

あなたが望むようにしてください。私はそれらすべて(およびsmtpd_sasl_local_domain)をシステムホスト名に設定することを好みます。そのため、このホストで生成された電子メールは常にそのホストから送信されたものとして表示されます。これは、バックアップMXを使用して冗長システムを構築するのに役立ちます。バックアップMXは、同じ仮想ドメインのセットを持ちますが、システム名が異なるため、常にホストを区別できます。

あなたはもっと尋ねることができます、私は確かにこれらの質問のすべての側面をカバーしていませんでした。そしてもちろん、Postfixにはほとんどすべてが網羅された完璧なドキュメントがあります。

1

http://www.postfix.org/SASL_README.html は、serverfaultページではなく、最初の参照である必要があります。必要に応じて、より具体的なポイントについては、こちらのページにアクセスしてください。ただし、接尾辞サイトのドキュメントは一般的にかなり優れています。そのページが言うように、

PostfixはSASL自体を実装しませんが、代わりに既存の実装をビルディングブロックとして使用します。つまり、一部のSASL関連の構成ファイルはPostfixに属し、他の構成ファイルはPostfixが使用する特定のSASL実装に属します。このドキュメントでは、Postfixと非Postfixの両方の設定について説明します。

smtpd_sasl_application_nameを構成していないようです(古いバージョンのpostfixのため、smtpd_sasl_typeではなく有効になっています)。したがって、デフォルトのCyrusSASLが有効になっていると考えられます。 smtpd_sasl_pathにある値は、cyrus saslライブラリに渡され、おそらくそのベースパスに関連して解釈されます。 Cyrus SASL 2.xを使用していると思いますが、過去に1.xを使用したことがあり、構成ファイルが残っています。あなたのバージョンのpostfixを考えると、私は間違っているかもしれません。それを確認します。また、実際にインストールされているパッケージも確認してください。

smtpd_sasl_path = sasl2/smtpd.confはほぼ間違いなく間違っています。

0
mc0e