• 締切済み

sendmail で受信制限をしたい

Sendmailを使用しております。 インターネット側からメールを受信する際に、存在するユーザー以外のメールは全て無条件に受け取らない設定は可能でしょうか? つまり、toの内容で存在するユーザー宛メールは受け取るが、それ以外は受けとならないとしたいのです。 access.dbでいろいろ試したのですがうまく行きませんでした。 よろしくお願い致します

みんなの回答

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.7

こんにちは。 その後、事態は解決しましたでしょうか。 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)
回答No.6

こんばんは。回答が盛り上がってますね。 さて、自宅のサーバはDebian/GNU Linuxでsendmailを動かしてますが、 自側・相手側どちらも不在ユーザを指定して送信してみると、user unknown で帰って来た後、自側のrootに配信されて終わってしまいます。ピンポン現象は 発生しません。 ちなみに、Debianではsendmailconfigコマンドでsendmail.cfを作成します。 どこでピンポン現象を中止してくれているのか調べてみます。 わからなかったらすみません。 (やっぱりDebianにしてよかった、とつくづく....)

musimusi
質問者

補足

かなり盛り上がってしまってます(笑) ピンポン現象の件ですが、相手側と自サイト側でドメインは存在しますがユーザーが存在しないのです。 となると、両方のサーバ間で、「うちにそのユーザーは居ないよ」と返しあってしまうのです。 当然、その場合Postmasterから管理者へメールも発行されるので、さらに管理者宛メールが増えるという悪循環が出ると言うものなのです。 この現象などもあり、今のところは全て来たメールは無条件REJECTしてますので、管理者宛にも相手側にもメールの発行は無いのです。しかし本来欲しいメールまでも削除してしまうので、いつまでもこの状態って訳にもいかないのですが・・・・ ちなみにOSは今時Solaris2.5.1(SPARCE)です。 これもハード保守がEOSLになるため、今年度で終了予定なのですが、今年度中はなんとかしないと・・・っというところなのです。 何か分かりましたら、よろしくお願い致します。

noname#6217
noname#6217
回答No.5

状況の誤認などは、ご勘弁ください。 >1つめのサーバに送信されたログを見て、大本の送信者を見つけるしか、あきらてくれるのを待つしかないのでは・・・という感じ …確かに、、、正論かもしれません。。。 >1つめのサーバ の管理者には、確認や対処依頼をされたのでしょうか? こちらが「踏み台」ということですよね? でもなかなか、確認や対処依頼は難しい面もありますので。 ワタシならどうするか、考えてみました。 取り敢えずREJECTではなくDISCARDとし、問題のメールは捨てます。 定義は、UserUnknownを送信してくるpostmaster(とか)の方ですかね。 偽メールアドレスと、両方定義しておけばと思いますが。 これで当分は自動的に対処できる(?)ので、時間がとれるかと。 空いた時間を利用し、ユーザのメーラ設定にて、自メールアドレスや返信メールアドレスの誤設定がないか確認します。 それと、自ホームページ上で(ユーザが作成したものの含む)、間違えたメールアドレスを公開していないか確認します。 掲示板などへ投稿する時に、メールアドレスを誤記入していたユーザはいないか?とか。 つまり故意か無意識かは別にして、存在しないメールアドレスをばら撒いていなかチェックします。 可能なら、OA担当者などやwebmasterに調査協力を依頼してみては? また、sendmail上でのユーザ転送設定もよく確認しましょう。 ワタシの経験では、これら誤メールアドレスを拾たウイルスの仕業ということもありました。 この当たりをツッツけば、何か突破口が開けるかもしれません。 文字のみでいろいろと推測させて頂いたレスですので、実行は自己調査および自己責任でお願いします。 ご参考です。

musimusi
質問者

補足

それが、そうも行かないのです。 自サイトの偽メールアドレスですが、毎回ユーザー名がころころ変わり、一定したアドレスではないのです。 そして、転送設定は運用上許してませんので、よほどの理由が無い限り設定することがないのです。 何かわかりましたら。よろしくお願いします。

noname#41381
noname#41381
回答No.4

#3補足より >自サイトのドメインを偽って勝手にメールを送信しまくり、 >そのエラー(UserUnknown)が自サイトに来るという感じなのです... > そういうことでしたか。読み取れなくてすみません。 >自サイトに存在しないユーザー宛メールは全てREJECTする設定は可能なのか? > ローカルユーザならaccess.dbでやっていましたが...。 sendmailはあまり詳しくないので全くの確信はありませんが、そういったルールセットを作ればできそうな感じではありますね。 ちょっと自分なりに調べてみます。 ただ、設定はできると思いますが、内部ユーザを全て登録することになるので運用が大変になるのでは? エラーメール程度のテキストを受信すること自体は回線を圧迫するものなのではないでしょうし、 仮にループしても通常のルールに基づいていれば15hop程度で止まると思いますが...。 今のところ、自分のところでは完全無視ですが、確かに回線を圧迫するほど頻繁に行われたら何らかの対応をとらないといけないでしょうね。 あと相手プロバイダから警告がくるかもしれませんしね。(くるのかな?1回目の送信は防ぎようがないのに...) 回答になっていなくてすみません。

musimusi
質問者

補足

補足したのに、ちゃんと反映されてないようなのでもう一度書いてみました。 いろいろな本やWEBを参照し下記のような、access.dbを作ってみたのです。 to:aaa@abc.xyz.jp REJECT しかし、意図する動きにはぜんぜんならなかったのです。なぜ成らないかも不明ですが・・・ この設定をするために、cfの一部も書き換えてます(本見ないと分からないので省きます) そして運用面での手間ですが、ほとんどユーザーの追加削除の発生はないので、手間はかからないので大丈夫です。 さらに、このドメインは来年度廃止、もしくはユーザー数が減るのでそれまでの間なんとか出来れば良いという考えも私個人の中ではあるのです。 他のプロバイダから、お前はスパムだ!というメールは3通ほどしか来てませんので、やはり他のサイトへは1通程度しか送ってないのかと思うのです。だから他のサイトとしては無視してるのだろうと思います。 以上、何かわかりましたらよろしくお願い致します。

noname#41381
noname#41381
回答No.3

非常に興味ありますね。 不正中継チェックにひっかからないルールでspamを送る技術があるということになりますよね? パケットキャプチャまでしているのであれば、 どういったSMTPコマンドを実行しているか確認して、 musimusiさんも実際に外部から同様のテストをしてみてはいかがでしょうか? それで本当に第3者中継ができるのであれば、mcを補足して確認してみるとか...xjdさんに(おいっ^ ^;;)

musimusi
質問者

補足

ご回答ありがとうございます。 私も非常に前例のない事で、興味もあるのですが正直困ってもいるのです。 他の管理者の協力も得て解決しようとしたのですが、意見は同じで外部で勝手に行われている現象なので1つめのサーバに送信されたログを見て、大本の送信者を見つけるしか、あきらめてくれるのを待つしかないのでは・・・という感じです。 そして、この現象は不正中継ではなく、自サイトのドメインを偽って勝手にメールを送信しまくり、そのエラー(UserUnknown)が自サイトに来るという感じなのですので、自サイトに到達したときのパケットは正常な動作なのです。 その昔送信元IPを偽ってSPAM行為をするという技がありましたが、その拡張版でドメインを偽って送信するという新技のような気もするのです。 つまり最初に送られたメールサーバがMX値を参照し、本当にその送信者がそのIPから送られてきたものか?をチェックしていないサーバを狙い。自サイトに対しDDOSを行っているのではないかと思うのです。(推測) そこで、自サイトに存在しないユーザー宛メールは全てREJECTする設定は可能なのか?また、可能な場合の設定を知りたかったのです。 なにか分かりましたらよろしくお願い致します。

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.2

ようするに、踏み台にされているということでしょうか。 不正送信者は外部から?内部から? sendmailのバージョンは? sendmail.cfはWIDE-CFかm4で作ってるか? 外部からの不正中継なら sendmail8.9xならWIDE-CFでsmtp-checkをすればよいですし、 sendmail最新8.12.xなら第三者不正中継できないようになってます。 内部からなら POPbeforeSMTPなどで不正送信者をはじくとか。 ちなみに以下のページで第三者不正中継のチェックができます。 http://www.rbl.jp/svcheck.php

musimusi
質問者

補足

御回答有難うございます。 不正中継では無いのです。 Sendmailのバージョンは8.12.3(?)にアップしてあります。cfはm4にて作成です。 当然、不正中継のチェックにて確認もしましたが問題ありませんでした。 また、トロイの木馬などが仕掛けられてもいません。 この問題が出たときに、該当のドメインを別サーバを新規構築(OSも全て再インストール)し、他のドメインに影響が出ないようにと移してます。 そして内部からの可能性ですが、内部サーバのログを確認しても、その形跡はありません。また、パケットキャプチャにて動作を確認しても外部から送信されてくるメールと判明してます。 DNSの設定不備によりドメインが乗っ取られているのでは?と思い設定を確認したのですが、問題ないようです。 そして、該当のドメインですがJPNICでは管理しない、各サイトにて管理してくださいと言う感じの第3レベルドメインを使われてるのです。 非常に分りにくいとは思いますが、何か心当たりがありましたら、宜しくお願い致します。

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.1

存在しないユーザ宛にメールしたら、user unknown で受け取りを拒否してくれるよう になっていますが。 >access.dbでいろいろ試したのですがうまく行きませんでした。 具体的にどんなユーザ名で受信できているのですか? aliasesに登録されている名前なら、アカウントに無くても受信できますが。

musimusi
質問者

補足

ご回答ありがとうございます。 普通に使うのであれば、UserUnknownを送信者および管理者に通知してくれるのですが、自サイトのドメイン及び存在しないユーザーを偽り他のサイトへ無差別にゴミメールを送信している人がいるのです。 そして、無差別に送ったサイト側としても存在しないユーザーらしく、そのサイトからのUserUnknownメールが自サイトに戻ってくるのですが、自サイトとしても存在しないユーザーですので、UserUnknownで返してしまいピンポン現象が発生するのです。 そこで対策として、存在しないユーザー宛に来たメールを全てREJECTしようと思うのです。 他にもっと良い方法があれば、その方法でも良いのですが、私の知識ではこの辺が限界で正直困ってるしだいです。 そして、具体的なユーザ名ですが、これはPostmasterなどのユーザーではなく、任意に作成したユーザ名の事です。 ※現在この問題のあるドメイン宛のメールは全て、REJECTしピンポン現象にならないようにしてます。

関連するQ&A

  • sendmailのvirtusertableが有効になりません。

    sendmailのvirtusertableの設定で質問があります。 sendmail.cfには、 # Virtual user table (maps incoming users) Kvirtuser hash -o /etc/mail/virtusertable.db と記述があり、 /etc/mail/virtusertable に ユーザ1@ドメイン名 ユーザ2 と記述し、 # makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable を実行してsendmailを再起動したのですが、 ユーザ1にメールが届いてしまい、virtusertableの設定が有効になっていないように思います。 (# sendmail -bv ユーザ1@ドメイン名 を実行しても、ユーザ1に届いた旨が回答されます。) virtusertableの設定を有効にするにあたり、気をつける箇所などございますでしょうか。 アドバイスを頂けませんでしょうか。 よろしくお願いいたします。 OS:RedHat EL4 sendmail-8.13.1-3.2.el4 sendmail-cf-8.13.1-3.2.el4

  • sendmailの仕様について。

    sendmailの設定でユーザー毎のメールボックスの容量を設定することは可能でしょうか?可能であれば、メールボックスの容量制限に達した場合、受信メールはどうなりますか?古いメールから削除されますか?それとも、手動で削除しないとメールは受信出来ませんか?よろしくお願いします。

  • sendmailで他のアカウントから送信できない

    以前質問したのですがうまく解答がされない為再度質問しました。 sendmail8.11とimap2001-aの環境です。 m4を使ってsendmail.cfを作成しました。しかしながらどうやっても他人のメールからのメールを受信できません。 何度も書籍を見て最初からやりなおしたのですがうまくいかないのです。 例えばLan内(192.168.0.2)クライアントからメールテストをしてみました するとuser1@mydomain.jpからuser1@mydomain.jpへの送信・受信ができました。 その際/var/mail/user1もメールが保存されました。 しかし、わたしの携帯電話のメール(***@docomo.ne.jp)やプロバイダからもらったメールから送信した場合/var/mail/user1に保存されることなく当然受信もできません。 sendmail.mcの設定でなにかやるべきことはあるのでしょうか? また、それ以外のファイル設定があるのでしょうか? バーチャルドメイン設定などもひつようですか? 転送制限として/etc/mail/accessの標準設定に 192168.0 RELAY を追加しました。/etc/mail/local-host-namesに mydomain.jpを追加 他アカウントから受けつけないようにすることってあるんでしょうか? 大変困ってます。宜しくお願いします

  • Sendmailの設定で

    Sendmail for NT2.5からメールを送信した際、 ドメイン名が存在しない場合は「Host unknown」 のエラーメールが、 ユーザ名が存在しない場合は 「User unknwon」のエラーメールが 返ってくる のですが、このとき、fromに何も入ってきません。 (from<>となる) fromに文字を入れたいのですが(from<errormail@aaa.com>とか) どこの設定を変更したらいいのでしょうか?おしえてください。

  • RedHat7.2 sendmail について

    はじめまして。RedHat7.2をインストールするとデフォルトで起動しているsendmailを使用としています。/etc/sendmail.cfをデフォルトのままいじらない場合他のLAN上のマシンからはsendmailが使えないので、いろいろ調べてaccess.dbやrelay-domainsなどいじってみたのですがやはりつながりません。 どのファイルをどう設定すればいいのでしょうか?

  • Sendmail メールをドメイン名のみで受信する

    お世話になります、初めて投稿します。 現在メールサーバの更新を行っています。 旧サーバがSolaris&Sendmail8.9.3 新サーバがRHEL&Sendamail8.13.1 旧サーバはCFを使っており、新サーバはsendmail.mcを使っています。 一通りの設定が完了したのでテストを始めているのですが、 1つだけ旧サーバと挙動が違う点が発生しており、その解決方法を 知っている方がいれば教えていただけたらと思います。 旧サーバでは外部からユーザ名@FQDNのアドレス宛にメールを 送信するとRelay operation rejectedで戻ってきます。 ユーザ名@ドメイン名のみであれば問題なく送信できています。 これが新サーバになるとユーザ名@FQDN、ユーザ名@ドメイン名のみ 両方に送信できてしまいます。 新サーバでユーザ名@FQDNでのメールの受信をできなくすることは 可能なのでしょうか? CFを使った設定からsendmail.mcへの設定の対応がいまいち よくわかっていないのが原因かもしれません。 すいませんが知見のある方よろしくお願いします。

  • RedHat7.3で受信メールを制限したいのですが

    Redhat7.3sendmail8.11を使っています。 現在、***.comというドメインで設定しているとして考えてください。 @***.comがつくメールはすべて受信するようになっています。 これを制限して info@***.com webmaster@***.com だけを受信できるようにしたいのですがどうすればよいのでしょうか? お手数かけますが、どなたか宜しくお願いします。

  • sendmail設定について

    現在、フリーソフトのbindとsendmailを使用した、顧客あてのインターネット構築を考えています。環境構築のテストを行っていますが、問題点からいうと、メールの受信ができません・・・泣 bindでDNS設定をして、sendmailで各種設定を行った後、実際は内側にあるのですが外側にあると仮定した仮想クライアント(1)からメールを内側にある仮想クライアント(2)へ送信テストを行うのですが、送信できても(2)で受信されません。特にエラーもでてこないのですが、どこが悪いのでしょうか?? ちなみに、現在使用している会社のメールへ送ってみると、受信はできるのです。 おそらくsendmailをインストールしたrelay serverに問題があると思われるのですが・・・ よろしくお願いします。

  • Linux 複数ドメインのSendmailの設定について

    現在、バーチャルドメインにおいてのsendmailの設定で 非常に困っています。 どなたか教えていただけませんでしょうか(;_;) ------------------------------------------- 複数ドメインの場合 ドメイン違い同じアカウント名が発生します。 例えば *a*という会社のドメインと*b*という会社のドメインの管理 をしている場合に、*a*という会社にも*b*という会社にも userさんという人がいて 内部的にはユーザー管理を番号などでしているとしても 外部的には同じアカウントをドメイン違いで使用したいのです。 【例】 ユーザー:User1  ドメイン:*a*.co.jp ユーザー:User2  ドメイン:*b*.co.jp user@*a*.co.jp は user1のmailboxへ配信 user@*b*.co.jp は user2のmailboxへ配信 【現在設定内容】 Sendmail.defファイルの[usertable]にて 以下のように設定しております。 ((sendmail.def)) USERTABLE_MAPS='*a*.co.jp=hash:/etc/mail/mail.*a*.db \ *b*.co.jp=hash:/etc/mail/mail.*b*.db' ((dbの内容)) (1)mail.*a*.dbの内容 user:maildrop user1@*a*.co.jp (2)mail.*b*.dbの内容 user:maildrop user2@*b*.co.jp ※Sendmail.defはCfファイルに変換し、dbファイルも hashをかけて ・・・というような処理は必ず実行しているものとします。 OFFICIAL_NAMEには*a*.co.jp MY_ALIASには*b*.co.jp ALIAS_REWRITE=no ACCEPT_ADDRには*b*.co.jpと設定しています。 いろんな方のHP等をご拝見させていただいたのですが なんだか上手く行かなくって・・・ 上手く行かないというのは どちらのドメインでテストしても 結局Official_Nameに設定している*a*のuser1のmailboxに いっちゃうのです。 Procmail?の設定は全くしていません。 もしかして必要なのでしょうか。。。

  • sendmailもしくは、クライアントの設定を教えてください

    sendmailもしくは、クライアントの設定を教えてください 突然、stat=Deferred: 403 4.7.0 TLS handshake failed とsendmail のログが出るようになって、特定のクライアントにメールが届かなくなりました。 OS:redhatでsendmail 8.12.11です。 ユーザ側のメーラーはbeckyなのですが、どなたかご教示頂けませんでしょうか? よろしくお願いいたします。