- PR -

Postfix 自ドメン宛てのメールも認証が必要となる

1
投稿者投稿内容
yajima
会議室デビュー日: 2005/11/25
投稿数: 18
投稿日時: 2005-12-02 00:15
こんにちは、

PostfixでPOP Before SMTPの設定をしたら、自ドメイン宛てのメールも認証
必要となってしまいました。
自ドメンン宛てのメールは無条件で許可したいのですが、どうすればいいのか
分からず困っています。
分かる方いらっしゃいましたら、教えて下さい。

OS:RedHat Linux 9
postfix バージョン:postfix-2.2.3-2.rh9
Pop Before SMTPはdracを使用
drac:すいません。バージョンの調べ方が分かりませんでした。
ftp.cc.umanitoba.caから最新のソースを落しました。
POP:teapop 0.3.8

main.cfをつけます。
=========================================================================
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
myhostname = ziong.example.com
mydomain = example.com
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
unknown_local_recipient_reject_code = 550
mynetworks = 127.0.0.0/8
home_mailbox = Maildir/
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = /usr/share/doc/postfix-2.2.3-documentation/html
manpage_directory = /usr/share/man
sample_directory = /etc/postfix
readme_directory = /usr/share/doc/postfix-2.2.3-documentation/readme
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
smtpd_recipient_restrictions = permit_mynetworks,
check_client_access btree:/etc/postfix/dracd,
reject
=====================================================================

よろしくお願いします。
zume
ベテラン
会議室デビュー日: 2003/06/05
投稿数: 93
投稿日時: 2005-12-02 01:35
こんばんは。

smtpd_recipient_restrictions = permit_mynetworks,
   check_client_access btree:/etc/postfix/dracd,
reject

となっているので、まずは、mynetworksパラメータにご自身の
ネットワーク(例えば192.168.0.0/24など)を追加してみては
どうでしょうか?

それで駄目なら/etc/postfix/dracdの中身を教えてもらえますか?
yajima
会議室デビュー日: 2005/11/25
投稿数: 18
投稿日時: 2005-12-02 02:41
早速の返信ありがとうございます。

すいません。
出かけなくてはならなくなり、帰りが2日後になってしまいます。
質問しておいて申し訳ありません。

帰ったら、ご指摘の方法試して報告します。
kalze
ぬし
会議室デビュー日: 2003/10/23
投稿数: 406
お住まい・勤務地: 東京・東京
投稿日時: 2005-12-02 02:44
(1)クライアントが自ドメイン宛のメールを送る際には、認証しないようにしたい
(2)LAN内のクライアントがメールを送信する際には、認証しいないようにしたい
のどちらでしょうか?
自分は(1)のように感じたのですが。

もし(2)であれば、zumeさんが書かれている方法が一般的だとおもいます。

もし(1)であれば、無理なんじゃないでしょうか?
サーバに接続する際に認証されるので、認証する時にはMTAにはあて先がどこかなんてわかりようもないわけですし。

もしも、そういう話ではないなど検討違いなことだったらゴメンナサイ

yajima
会議室デビュー日: 2005/11/25
投稿数: 18
投稿日時: 2005-12-07 00:35
kalzeさんありがとうございます。
やりたいことは(1)です。

ただ、私の知識不足があると思われ、補足します。
外部から、自ドメイン宛てのメールは受け取り、
クライアントからメールを送信する時には、認証を必要としたい。
としたいのです。

現在の設定では、外部メールサーバから受信しなければ行けないメールも
Rejectしてしまうのです。
そのエラーが
Recipient address rejected
と表示されており、POP Before SMTPで引っかかっていると思ったのです。

補足させていただいた真意は、
クライアントがメールを送るのと、外部からメールを受信するのでは、
設定等異なるのでしょうか?
もし、異なる部分での設定であれば、ご教授いただければと思います。

今までは、Sendmailの場合、
accessファイルを使って、
受信したいドメインを
TO:****.co.jp と記載すると、自ドメインあてのメールは無条件に
受信していました。
(ただ、この時は、POP Before SMTPを使っていなかったので比較にはなりませんが)

zumeさんありがとうございます。
zumeさんがおっしゃるとおりで自ドメインのメールを受け取れるのですが、
Kalzeさんからのご指摘の通りであり、現状は上記した状態です。

よろしくお願いします。
zume
ベテラン
会議室デビュー日: 2003/06/05
投稿数: 93
投稿日時: 2005-12-07 23:16
引用:

現在の設定では、外部メールサーバから受信しなければ行けないメールも
Rejectしてしまうのです。




一番最初に下記の情報を書かれたと思います。
myhostname = ziong.example.com
mydomain = example.com
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

現在は@マーク以降がzinong.example.com、localhost.zinong.example.com、
localhost、example.comのメールが受け取れるようになっています。
これ以外に例えば、@マーク以降がaaa.example.comというメールを受け取りたいので
あればmydestinationにその@以降の部分を追記すれば受け取れます。
(このサーバが中継サーバではなくメールの最終到着地?のサーバであれば、
例えばexample.netをmydestinationに追記する事で、これも受け取れるように
なります。ただし、この方法だとaaa@example.comとaaa@example.netのメールの
格納される場所に同じ所になります。)

後はいまさらですが。。。
メールを送信する時に認証を必要としたいとの事でPOP Before SMTPを
選択されていますが、最近良く聞くようになったボットが仕込まれていた場合、
認証が通ると無条件でSPAMを送信されてしまう危険性があります。
なので、SMTP認証などを検討された方が良いと思いますよ。
kalze
ぬし
会議室デビュー日: 2003/10/23
投稿数: 406
お住まい・勤務地: 東京・東京
投稿日時: 2005-12-07 23:50
あーっと、自分うそばっかり書いてましたね

引用:

現在の設定では、外部メールサーバから受信しなければ行けないメールも
Rejectしてしまうのです。
そのエラーが
Recipient address rejected
と表示されており、POP Before SMTPで引っかかっていると思ったのです。



これでわかりました。
当該サーバが最終地点になっているRCPT TOなら認証いりませんね。

単にmain.cfの設定がやりたいことと異なるだけですね。

コード:
smtpd_recipient_restrictions = permit_mynetworks,
                check_client_access btree:/etc/postfix/dracd,
                reject 



これが元凶だとおもいます。
1行目は、$mynetworks に設定されているIPアドレスからのSMTPの接続の許可
2行目は、dracによる認証通過したIPアドレスからのSMTPの許可
3行目は、後は破棄

つまり、$mydestination とRCPT TOとのマッチンッグ調査をしていません。
下記のようにpermit_auth_destinationあたりを追加してやればよいかとおもいます。

コード:
smtpd_recipient_restrictions = permit_mynetworks,
                permit_auth_destination
                check_client_access btree:/etc/postfix/dracd,
                reject 



これで、あて先(RCPT TO)が$mydestination するなら、
認証なしでSMTP使えることになります。
1

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