• 締切済み

メールサーバの無限ループを対策する方法

メールサーバの無限ループを対策する方法について教えてください。 環境:Linux メールサーバ:sendmail とあるサイトでsendmailで無限ループを対策する方法として ヘッダに識別できるIDなどを追加してループしてるかを判断すると書かれておりました。 この設定はどうのようにすればよいのでしょうか。 m4マクロで形式でヘッダの項目を記入したいとおもってます。 sendmail.cfに直接書くことでヘッダに追加されることは確認しましたが sendmail.mcでの書き方がわかりません。 また、ヘッダに追加した識別IDをどのようにループと判断するように設定すればよいか わかりません、なにか参考になるサイトや設定方法などわかる方教えて頂けますか?

みんなの回答

  • pakuti
  • ベストアンサー率50% (317/631)
回答No.2

メールを受けた時に、ヘッダに挿入し削除するとした場合 ユーザーが自動転送して同じメールサーバーを通過したらメールが削除されません??? sendmailにはホップ数が25を超えた場合にメールループとして、bounceするはずですが これではダメなのでしょうか??

nicostars
質問者

お礼

回答ありがとうございます。 SaKaKashiさんの補足に回答しましたが リレーのみのため、ユーザがforwardなどをすることはありません。 最大hop数は設定にいれておりますが ループというのが少々気に入らなかったため 対応を考えておりました。

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

これのこと?

参考URL:
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=9420&forum=10
nicostars
質問者

補足

ご回答頂きありがとうございます。 aliasを使って無限ループしているわけではないので ちょっと違いますがありがとうございます。 調べててprocmailを使用してレシピにX-loopを設定することで無限ループを止める方法を見つけたのですが これでも解決できない点がありました。 procmailはどうもspoolにはいった時点で処理がされるみたいで やりたいことはリレーされてきたメールをメールスプールに入る前に dropするメールなのかそれともリレーしてよいメールなのか判断したいのです。 無限ループなら(x-loopヘッダがついていれば)drop、そうでなければmailertableでリレーといったように。 このメールサーバはリレーのみとして使うためメールボックスはもっていません。 そのため、ユーザディレクトリに.forwardによる受信前処理等の対応もできない状態です。 他に案があればお願い致します。

関連するQ&A

  • 無限ループをkill

    無限ループが実行された時、サーバー上で、自動的にkillするには、どういう設定をしたらよいでしょうか。

    • ベストアンサー
    • Perl
  • 無限ループ対策について

    私が管理しているCentOS5.4のサーバに各種プログラムを作成した上でアップロードし動作させた所、私のプログラムミスが原因で無限ループしてしまう事がたびたびあります。 その際は、http://chain.main.jp/weblog/archives/2005/06/post_40.htmlのような方法で対応しているのですが、レンタルサーバーなどをみていると、このような手動の方法ではなく、自動で止めているのではと思いました。 その為、そのような方法を私が管理しているCentOS5.4のサーバに適用したいと思ったのですが、どのようにすればそのような事が出来るのかわからなかったので、アドバイスいただける方がいらっしゃいましたら、ご教示の程よろしくお願いします 以上、よろしくお願いします。

  • PHPで301転送をかけた時に無限ループをさせない方法はありますか?

    PHPで301転送をかけた時に無限ループをさせない方法はありますか? SEO対策でindex.html付きのURLを無しに301転送をかけて統一したいのですが無限ループが起こります。 302転送だとループは起こりません。 .htaccessで制御するしか無限ループを抑える方法はないのでしょうか。

    • 締切済み
    • PHP
  • 無限ループ??

     携帯にきたメールはPCにコピーを転送  PCにきたメールは携帯にコピーを転送したいんですが方法ってありますか 普通にしたら 無限ループになるかと・・・・

  • メールの無限ループ?助けてください!!

    職場のメールアドレスからhotmailに転送設定をしているのですが、 今日職場のメールアドレスから職場のメールアドレス宛にメールを送りました。 職場のメールはWEB上でメールが見られるグループウェアを使用しており、 自宅でダウンロードしようと思っていた添付ファイル(約2MB)を添付しました。 hotmailの容量では受信できないので、 エラーメールが帰ってきたのですが、 エラーメールがいつまでたっても送られてきます。 システム管理者なので、普段からこのようなエラーメールが届く設定になっています。 どうやって、この無限ループをとめることができるのでしょうか? 誰か教えてください!!

  • ループしている?メール接続を消す方法

    Solaris2.6を使用しています。 bind8.2.4にバージョンアップしたのですが、 以前の設定ファイル(bind8.2)をそのまま つかっていますが、うまく動作してないよう です。 あるサーバ(Aとします)から、dns兼mail サーバに、メールを出したら、ループしている ようで、延々とsmtpの接続が続いてしまいます。 どんどんキューがたまっていくので、双方の sendmailを停止中です。 しかし、停止後も、このsmtpの接続は延々と ネットワーク上をさまよっているのか、 出続けます。(間にあるFWサーバの接続ログで確認) 尚、Aサーバ、DNS兼メールサーバとも、他に SMTPのデーモンは動いていません bind8.2.3以降から、いろいろ制限が厳しくなって エラーが出やすくなったと聞きました。 思うに、送信者と受信者が同じメールがループして いるように見えます。 とりあえず、bindは旧バージョンに戻すとして、 Q1.このパケットたちに消えていただきたいの    ですが、どのような契機で消滅するのでし    ょうか? Q2.この状態でsendmailを起動すると、メール    がどんどんでてしまうと思います。    メールの送信キューを消す方法を教えてく    ださい。 情けないことに、公開運用中のサーバで起きている ので、少しでもヒントをいただければ助かります。 よろしくお願いいたします。

  • MS Exchangeの転送が無限ループに

    お世話になっております。 現在、社内でMS Exchangeを使用しており、そのメールを携帯電話に転送しております。そこで問題が起こったのですが、配信不能レポートが戻ってきた時に、設定した送信先に送信せずにサーバ側で自動的にアドレスを削除する方法(もしくは送信しない方法)はありますでしょうか。それができずにメールが無限にループしてしまい、サーバダウンすることがあります。 お手数をおかけしますが宜しくお願いいたします。

  • どkWEBサーバーとメールサーバーでformmai

    お世話になります。 現在、固定IP環境下でメールサーバーのみを立ち上げて 社内・社外へのメールが出来るようにしてあります。 このたび、会社の方針で別にWEBサーバーを設置しWEBサイトを立ち上げる事になりました。 現在ルーターから25、110ポートについてメールサーバー宛に設定をしてありますので 新しいWEBサーバーあてに、80ポートを割り当てれば良いのだろうと思うのですが、 立ち上げるWEBサイトには、お問い合わせ用のFormMailのCGIを使用したページがあり CGIには、sendmailの場所を指定する必要があります。 通常、WEBサーバーとメールサーバーを一つのサーバーとして運用する場合には ルーターから25,110,80ポートをサーバーに割り当てていれば、sendmailの場所を指定するのは 一つのサーバーしかない場合には問題なく思うのですが、 WEBサーバーとメールサーバーが別の場合には、formmailのCGIで使用するsendmailの 指定はどうすればよいのでしょうか? 素人の私からすると、sendmailはメールに関わるものだから、ポートをWEBサーバーに割り当て なければならない・・・でも、別にメールサーバーがあり、25,110ポートは既に割り当てられている。 ここが理解できないのです・・・ sendmailは、80ポートを使用するのでしょうか? できましたら、詳しく設定の手法などを教えて頂ければ幸いです。 サーバー構築の本を読んでも、私の疑問と設定方法が書かれていないようで 困っています。 何卒よろしくおねがいいたします。

  • メールフォームからくる迷惑メール対策

    自作でメールフォームを設定しております。 CGI(Perl)を使い、サーバーのsendmailで メールが転送されるようにしております。 最近、わざわざメールフォームに 入力して迷惑メールを送ってこられる状況が 発生しつつあります。 完全な対策は無理かと思いますが せめて、フォーム内のテキストエリアに記載されている内容が 英語だけなら、送信できません、といった 対策を講じたいのですが、何かよい方法を ご存知の方、またそういったことについて 詳しく記載されているサイトをご紹介いただけませんでしょうか? よろしくお願いします。

    • ベストアンサー
    • CGI
  • 無限ループについて(while true~)

    たびたびお世話になります。 管理しているサーバーとデータベースの接続確認を、30分に一度行っているのですが、この際に入力していたコマンドが無限ループから抜け出すことができなくなってしまいました。 入力していたコマンドは、while true; do ./aaa.sh ; sleep 1800; doneです。 30分に一度、aaa.shを起動させて接続を確認する、というつもりで入力していたものなのですが…。 無限ループに気付き、プロセスをrootからkill(-kill) しても復活(?)してしまうようです。 このままでは問題があるため、なんとか無限ループを抜け出したいのですが、いい方法はありませんでしょうか? OSはLinuxです。 申し訳ありませんが、初心者中の初心者のため、必要な情報があまりわかりません。不足がありましたら、補足要求お願いします。