- ベストアンサー
postfix 存在しない自ドメイン宛メールを受信しない設定について
postfix2.0.16を使用しています。 存在しない自ドメイン宛メールが届き、延々と ループしてしまいます。 例 自分のドメイン名 moge.com 宛先メールアドレスが ***@aaa.moge.com のメールがループします。 尚、aaa.moge.comというドメインもホストも存在しません。 外部からシステム内に入ってきて、自分が最終到達点 でないと判断するのか、moge.comの公開IPアドレス にpostfixが投げてしまいます。 smtpd_recipient_restrictionsなどを設定してみましたが ループしなくなったら、他が投げれなくなったりと、うまく 行きません。 恐れ入りますがお勧めの回避方法をご教授下さい。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
もう、参考程度の話でしかありませんが。。。 >すみません、ANO.3に記載しました通り、現在MXレコードの >アスタリスクをやめているので、存在するmoge.comのホスト >以外の宛先には到着しようがないと思うのですが。 >この場合は、クライアントにて名前解決ができないと思う >ので、当方への通信接続は行われないと思います。 私が >別にDNSによる名前解決して送られてきたとは限らないわけで と書いたのは、SPAM屋くん達は(存在しない)サブドメイン宛のメールを 親ドメインのMXレコード宛に送るぐらいのことはしますという意味です。 だからサブドメインのMXレコードやAレコードの存在有無には関係ありません。 最近は、UCEなんだか攻撃だか分からないようなことをしてくるんですよ、彼らは。 なので間違えてサブドメインをつけてしまった等の場合であれば 質問者様のおっしゃる通りです。 なのでそんなこともあるんだな程度に思って下さい。
その他の回答 (4)
- anights
- ベストアンサー率72% (35/48)
まず、#2の設定でサブドメインはリレーしません。これは実際テストしてみました。 なのでsmtpd_recipient_restrictionsの設定とテスト方法を確認した次第です。 >セキィリティ上の理由等~ そもそも存在していないサブドメイン宛のメールが来ているわけですよね。 そういった場合、別にDNSによる名前解決して送られてきたとは限らないわけで であればレコードを修正したところでメールが送られてきます。 不達になるとはいえキューに入ってしまえば負荷なり余計な通信なりが発生するので そういった事は避けるべきです。 smtpd_recipient_restrictionsによる制限であればRCPTコマンド時に拒否しますので。。。
補足
ご返答がおそくなりまして申し訳ございません。 いつも回答ありがとうございます。 > まず、#2の設定でサブドメインはリレーしません。 他のパラメータとの兼ね合いでしょうか、これは当方で 再度確認してみます。 > そもそも存在していないサブドメイン宛のメールが来ているわけですよね。 > そういった場合、別にDNSによる名前解決して送られてきたとは限らないわけで > であればレコードを修正したところでメールが送られてきます。 > 不達になるとはいえキューに入ってしまえば負荷なり余計な通信なりが発生するので > そういった事は避けるべきです。 すみません、ANO.3に記載しました通り、現在MXレコードの アスタリスクをやめているので、存在するmoge.comのホスト 以外の宛先には到着しようがないと思うのですが。 この場合は、クライアントにて名前解決ができないと思う ので、当方への通信接続は行われないと思います。 IPアドレスの場合ですが、サブドメインの指定のしようが ないので、smtpd_recipient_restrictionsの設定は関係なく なると思うのですが... 後は、外部から、moge.comドメインを偽って、SMTP接続できない ように smtpd_client_restrictions = permit_mynetworks, reject とすれば良いかなと思っています。
- anights
- ベストアンサー率72% (35/48)
>ループは止まりませんでした。 smtpd_recipient_restrictionsの設定はどうなっていますか? mynetworks内のシステムから接続してテストしているような気がするのですが。。。 >メールの宛先記入ミスなどで~ ということであればMXレコードのアスタリスクをやめてレコードを整理し smtpd_recipient_restrictionsでreject_unknown_recipient_domainあたりを 使わなければならないでしょう。もしくはcheck_recipient_accessを使うかです。
補足
> smtpd_recipient_restrictionsの設定はどうなっていますか? 今は設定をしていないのでデフォルト値の permit_mynetworks, reject_unauth_destination です。 > mynetworks内のシステムから接続してテストしているような気がする mynetworks内のシステムは、内部ネットワークアドレスでアクセスでき るのですが、個人でプロバイダ契約している外部のSMTPサーバを指定す ることで、インターネット経由で接続してテストしています。 > ということであればMXレコードのアスタリスクをやめてレコードを整 > smtpd_recipient_restrictionsでreject_unknown_recipient_domain > 使わなければならないでしょう。もしくはcheck_recipient_accessを MXレコードのアスタリスクを止めました所、Host not foundで不達にな りました。 システム内からもテストしましたが、やはりHost not foundで不達にな ります。 このbindの設定だけでOKかなと思いましたが、セキィリティ上の理由等 でsmtpd_recipient_restrictionsを指定したほうが良い理由がございま したらご教授下さい。恐れ入ります。
- anights
- ベストアンサー率72% (35/48)
postfixのdefaultの設定では relay_domains = $mydestination となっています。 また、parent_domain_matches_subdomainsのdefault値には relay_domainsが含まれているので $mydestination = example.comとすれば リレー対象にはexample.comのサブドメインが含まれてしまいます。 ただし、この場合$mydestinationはサブドメインは含みませんから 「リレー対象ではあるが最終到達点ではない」 と判断し、DNSを用いてリレー先を決定するため質問のような現象となっていると思われます。 リレー拒否するためには、parent_domain_matches_subdomainsから relay_domainsを除外するのが一般的かと思います。
補足
早速のご回答ありがとうございます! 動作についてはおっしゃる通りかと思います。 parent_domain_matches_subdomainsはデフォルト値なので ここからrelay_domainsとfast_flush_domains(= $relay_domains) を取ってテストしてみましたが、ループは止まりませんでした。 relay_domains = $mydestinationでありますが、この$mydestination にはこのサブドメイン(aaa.moge.com)のリストはないからでしょうか? メールの宛先記入ミスなどで、aaa.moge.comやaab.moge.comなどが 指定されてもループさせないようにしたいので、moge.comの前は 任意の値を想定しています。 ---------------------------------------- そもそもDNS(BIND)のMXレコードに * IN MX 10 dns.moge.com. にあるのが間違いでしょうか? この行を取ってしまえば、厳密にmoge.comまたはdns.moge.com 宛てしかメールが入ってこなくなるかなと思います。
- FoggyMountain
- ベストアンサー率21% (79/372)
>尚、aaa.moge.comというドメインもホストも存在しません。 なのに、メールが飛んでくると言うことは、aaa.moge.comが DNSに登録されてるんじゃないの?
お礼
RFC1537 Common DNS Data File Configuration Errors 日本語訳のページ http://www5d.biglobe.ne.jp/~stssk/rfc/rfc1537j.html というのを見つけまして、設定を外す事を推奨している ことがわかりました。取ってしまおうと思います。 ご指摘大変感謝しております。 ありがとうございました。
補足
早速のご回答ありがとうございます! 良く調べてみました。DNS(BIND)のMXレコードに * IN MX 10 dns.moge.com. という指定があるのですが、この'*'せいで aaa.moge.com宛もdns.moge.comで受けてしまう のかなと思います。 この場合、不要なので取ってしまいたい気がするのですが、 どんな用途で使用する為に指定しているのか良くわからない ので、ちょっと不安です。
お礼
ご返答が大変遅くなりまして本当に申し訳ございません。 浅はかな考えで、ご指摘頂きました所まで考えが及び ませんでした。 今後はその点も考慮していきたいと思います。 ご回答ありがとうございました。