- 締切済み
sendmail で受信制限をしたい
Sendmailを使用しております。 インターネット側からメールを受信する際に、存在するユーザー以外のメールは全て無条件に受け取らない設定は可能でしょうか? つまり、toの内容で存在するユーザー宛メールは受け取るが、それ以外は受けとならないとしたいのです。 access.dbでいろいろ試したのですがうまく行きませんでした。 よろしくお願い致します
- みんなの回答 (7)
- 専門家の回答
みんなの回答
- xjd
- ベストアンサー率63% (1021/1612)
こんにちは。 その後、事態は解決しましたでしょうか。 Unknownユーザ間のメールは以下のようになり、ピンポン現象は発生しません。 sendmailでは標準的動作です。 ご参考になるようでしたら幸いです。 (1) Unknown@自ドメインがUnknown@他ドメイン宛にメールを出します。 「envelope from」は「Unknown@自ドメイン」 「envelope to」は「Unknown@他ドメイン」 (2) 他ドメインから自ドメインへUnknown Userメールが返ってきます。 「envelope from」は「<>」 「From:」は「MAILER-DAEMON@他ドメイン」 「envelope to」は「Unknown@自ドメイン」 (3) 自ドメイン側もunknownなのでsendmailはエラーメールを返そうとするが 「<>」から来たメールなので、メールを送り返さずに破棄する。 (4) sendmail.cfの「PostmasterCopy」で指定されているユーザ宛に エラーメールを送信する。(たいていはPostmaster)
- xjd
- ベストアンサー率63% (1021/1612)
こんばんは。回答が盛り上がってますね。 さて、自宅のサーバはDebian/GNU Linuxでsendmailを動かしてますが、 自側・相手側どちらも不在ユーザを指定して送信してみると、user unknown で帰って来た後、自側のrootに配信されて終わってしまいます。ピンポン現象は 発生しません。 ちなみに、Debianではsendmailconfigコマンドでsendmail.cfを作成します。 どこでピンポン現象を中止してくれているのか調べてみます。 わからなかったらすみません。 (やっぱりDebianにしてよかった、とつくづく....)
状況の誤認などは、ご勘弁ください。 >1つめのサーバに送信されたログを見て、大本の送信者を見つけるしか、あきらてくれるのを待つしかないのでは・・・という感じ …確かに、、、正論かもしれません。。。 >1つめのサーバ の管理者には、確認や対処依頼をされたのでしょうか? こちらが「踏み台」ということですよね? でもなかなか、確認や対処依頼は難しい面もありますので。 ワタシならどうするか、考えてみました。 取り敢えずREJECTではなくDISCARDとし、問題のメールは捨てます。 定義は、UserUnknownを送信してくるpostmaster(とか)の方ですかね。 偽メールアドレスと、両方定義しておけばと思いますが。 これで当分は自動的に対処できる(?)ので、時間がとれるかと。 空いた時間を利用し、ユーザのメーラ設定にて、自メールアドレスや返信メールアドレスの誤設定がないか確認します。 それと、自ホームページ上で(ユーザが作成したものの含む)、間違えたメールアドレスを公開していないか確認します。 掲示板などへ投稿する時に、メールアドレスを誤記入していたユーザはいないか?とか。 つまり故意か無意識かは別にして、存在しないメールアドレスをばら撒いていなかチェックします。 可能なら、OA担当者などやwebmasterに調査協力を依頼してみては? また、sendmail上でのユーザ転送設定もよく確認しましょう。 ワタシの経験では、これら誤メールアドレスを拾たウイルスの仕業ということもありました。 この当たりをツッツけば、何か突破口が開けるかもしれません。 文字のみでいろいろと推測させて頂いたレスですので、実行は自己調査および自己責任でお願いします。 ご参考です。
補足
それが、そうも行かないのです。 自サイトの偽メールアドレスですが、毎回ユーザー名がころころ変わり、一定したアドレスではないのです。 そして、転送設定は運用上許してませんので、よほどの理由が無い限り設定することがないのです。 何かわかりましたら。よろしくお願いします。
#3補足より >自サイトのドメインを偽って勝手にメールを送信しまくり、 >そのエラー(UserUnknown)が自サイトに来るという感じなのです... > そういうことでしたか。読み取れなくてすみません。 >自サイトに存在しないユーザー宛メールは全てREJECTする設定は可能なのか? > ローカルユーザならaccess.dbでやっていましたが...。 sendmailはあまり詳しくないので全くの確信はありませんが、そういったルールセットを作ればできそうな感じではありますね。 ちょっと自分なりに調べてみます。 ただ、設定はできると思いますが、内部ユーザを全て登録することになるので運用が大変になるのでは? エラーメール程度のテキストを受信すること自体は回線を圧迫するものなのではないでしょうし、 仮にループしても通常のルールに基づいていれば15hop程度で止まると思いますが...。 今のところ、自分のところでは完全無視ですが、確かに回線を圧迫するほど頻繁に行われたら何らかの対応をとらないといけないでしょうね。 あと相手プロバイダから警告がくるかもしれませんしね。(くるのかな?1回目の送信は防ぎようがないのに...) 回答になっていなくてすみません。
補足
補足したのに、ちゃんと反映されてないようなのでもう一度書いてみました。 いろいろな本やWEBを参照し下記のような、access.dbを作ってみたのです。 to:aaa@abc.xyz.jp REJECT しかし、意図する動きにはぜんぜんならなかったのです。なぜ成らないかも不明ですが・・・ この設定をするために、cfの一部も書き換えてます(本見ないと分からないので省きます) そして運用面での手間ですが、ほとんどユーザーの追加削除の発生はないので、手間はかからないので大丈夫です。 さらに、このドメインは来年度廃止、もしくはユーザー数が減るのでそれまでの間なんとか出来れば良いという考えも私個人の中ではあるのです。 他のプロバイダから、お前はスパムだ!というメールは3通ほどしか来てませんので、やはり他のサイトへは1通程度しか送ってないのかと思うのです。だから他のサイトとしては無視してるのだろうと思います。 以上、何かわかりましたらよろしくお願い致します。
非常に興味ありますね。 不正中継チェックにひっかからないルールでspamを送る技術があるということになりますよね? パケットキャプチャまでしているのであれば、 どういったSMTPコマンドを実行しているか確認して、 musimusiさんも実際に外部から同様のテストをしてみてはいかがでしょうか? それで本当に第3者中継ができるのであれば、mcを補足して確認してみるとか...xjdさんに(おいっ^ ^;;)
補足
ご回答ありがとうございます。 私も非常に前例のない事で、興味もあるのですが正直困ってもいるのです。 他の管理者の協力も得て解決しようとしたのですが、意見は同じで外部で勝手に行われている現象なので1つめのサーバに送信されたログを見て、大本の送信者を見つけるしか、あきらめてくれるのを待つしかないのでは・・・という感じです。 そして、この現象は不正中継ではなく、自サイトのドメインを偽って勝手にメールを送信しまくり、そのエラー(UserUnknown)が自サイトに来るという感じなのですので、自サイトに到達したときのパケットは正常な動作なのです。 その昔送信元IPを偽ってSPAM行為をするという技がありましたが、その拡張版でドメインを偽って送信するという新技のような気もするのです。 つまり最初に送られたメールサーバがMX値を参照し、本当にその送信者がそのIPから送られてきたものか?をチェックしていないサーバを狙い。自サイトに対しDDOSを行っているのではないかと思うのです。(推測) そこで、自サイトに存在しないユーザー宛メールは全てREJECTする設定は可能なのか?また、可能な場合の設定を知りたかったのです。 なにか分かりましたらよろしくお願い致します。
- xjd
- ベストアンサー率63% (1021/1612)
ようするに、踏み台にされているということでしょうか。 不正送信者は外部から?内部から? sendmailのバージョンは? sendmail.cfはWIDE-CFかm4で作ってるか? 外部からの不正中継なら sendmail8.9xならWIDE-CFでsmtp-checkをすればよいですし、 sendmail最新8.12.xなら第三者不正中継できないようになってます。 内部からなら POPbeforeSMTPなどで不正送信者をはじくとか。 ちなみに以下のページで第三者不正中継のチェックができます。 http://www.rbl.jp/svcheck.php
補足
御回答有難うございます。 不正中継では無いのです。 Sendmailのバージョンは8.12.3(?)にアップしてあります。cfはm4にて作成です。 当然、不正中継のチェックにて確認もしましたが問題ありませんでした。 また、トロイの木馬などが仕掛けられてもいません。 この問題が出たときに、該当のドメインを別サーバを新規構築(OSも全て再インストール)し、他のドメインに影響が出ないようにと移してます。 そして内部からの可能性ですが、内部サーバのログを確認しても、その形跡はありません。また、パケットキャプチャにて動作を確認しても外部から送信されてくるメールと判明してます。 DNSの設定不備によりドメインが乗っ取られているのでは?と思い設定を確認したのですが、問題ないようです。 そして、該当のドメインですがJPNICでは管理しない、各サイトにて管理してくださいと言う感じの第3レベルドメインを使われてるのです。 非常に分りにくいとは思いますが、何か心当たりがありましたら、宜しくお願い致します。
- xjd
- ベストアンサー率63% (1021/1612)
存在しないユーザ宛にメールしたら、user unknown で受け取りを拒否してくれるよう になっていますが。 >access.dbでいろいろ試したのですがうまく行きませんでした。 具体的にどんなユーザ名で受信できているのですか? aliasesに登録されている名前なら、アカウントに無くても受信できますが。
補足
ご回答ありがとうございます。 普通に使うのであれば、UserUnknownを送信者および管理者に通知してくれるのですが、自サイトのドメイン及び存在しないユーザーを偽り他のサイトへ無差別にゴミメールを送信している人がいるのです。 そして、無差別に送ったサイト側としても存在しないユーザーらしく、そのサイトからのUserUnknownメールが自サイトに戻ってくるのですが、自サイトとしても存在しないユーザーですので、UserUnknownで返してしまいピンポン現象が発生するのです。 そこで対策として、存在しないユーザー宛に来たメールを全てREJECTしようと思うのです。 他にもっと良い方法があれば、その方法でも良いのですが、私の知識ではこの辺が限界で正直困ってるしだいです。 そして、具体的なユーザ名ですが、これはPostmasterなどのユーザーではなく、任意に作成したユーザ名の事です。 ※現在この問題のあるドメイン宛のメールは全て、REJECTしピンポン現象にならないようにしてます。
補足
かなり盛り上がってしまってます(笑) ピンポン現象の件ですが、相手側と自サイト側でドメインは存在しますがユーザーが存在しないのです。 となると、両方のサーバ間で、「うちにそのユーザーは居ないよ」と返しあってしまうのです。 当然、その場合Postmasterから管理者へメールも発行されるので、さらに管理者宛メールが増えるという悪循環が出ると言うものなのです。 この現象などもあり、今のところは全て来たメールは無条件REJECTしてますので、管理者宛にも相手側にもメールの発行は無いのです。しかし本来欲しいメールまでも削除してしまうので、いつまでもこの状態って訳にもいかないのですが・・・・ ちなみにOSは今時Solaris2.5.1(SPARCE)です。 これもハード保守がEOSLになるため、今年度で終了予定なのですが、今年度中はなんとかしないと・・・っというところなのです。 何か分かりましたら、よろしくお願い致します。