記事の最後へ▼ 
< 質 問 >
SMTP認証でGreet Pauseを回避?

すいません、名前欄とタイトル欄を間違えました

最近ウイルス感染によるものらしく国内のプロバイダから2行spamが大量にくるようになり、
これにはGreetPouseがきくのでとりあえずGreetPouseの設定を下記の通り全IPアドレスにかけたのですが
0.0.0.0        0.0.0.0        -30
ユーザーがメールを送信するときも30秒待たされます、

SMTP認証されたユーザーだけGreetPauseを回避する方法や、もう一台smtpサーバを設置する方法など考えていたらわけがわからなくなってしまいました、

何か良い手段は無いでしょうか?

カマダ (11.05/06)


【 通りすがり (11.05/06) 】

問題の趣旨が解っていないかも知れませんが、

XMailCFG2.23のスパムホストの管理で、「SMTP認証に成功するならスパムホストから除外。」の設定で出来るのではないでしょうか。


【 カマダ (11.05/06) 】

通りすがりさんこんにちは

私も当初
0.0.0.0        0.0.0.0    1 SMTP認証は除外
0.0.0.0        0.0.0.0    -30 30秒遅延

で、SMTP認証を通らなければ30秒遅延するものと思っていましたが
SMTP認証を通らない時点でスパムホストとして接続拒否してしまいました。

遅延オプションはスパムホストじゃないIPアドレスに対して有効で、スパムホストとして判断されるとその時点で無効になるようです。


【 nakamura (11.05/06) 】

カマダさんこんにちは。

 利用の環境にもよるのだと思いますが、遅延自体は認証の前に効いてくるので、結構難しそうに思いました。今のところは以下のような運用で逃げるようにしています。

 ・一部の拠点で、IPアドレスが動かないところは当該のIPについて遅延をゆるめに設定。
 ・外部のISP内から送信の必要があるときは、契約ISPのSubmissionポート対応のSMTPサーバを利用して送信してもらう。
 ・一部のクライアントについてはVPNを利用して接続。

 今のところはこれで大丈夫なのですが、もし、どうしても業務関連のメール送信について記録をとらなければいけなくなれば、送信専用サーバを別に用意して、ドメインユーザーから送信はSMTP認証を通ったものだけ許可し、他のMTAからの通信はメインのサーバで受けるようにでもしようかと考えています。メインのサーバは適度にGreetPouseなどで対策をしてですが。


【 nakamura (11.05/06) 】

>0.0.0.0        0.0.0.0    1 SMTP認証は除外
>0.0.0.0        0.0.0.0    -30 30秒遅延

 Xmailは、動作を見る限り、上から順に評価していて、最初にマッチしたパターンで処理しているようです。これだと最初の1行目だけしか見ないことになるのではと思います。


【 nakamura (11.05/06) 】

カマダさんへ

もうじきXmail1.23の正式版が出るようです。あと1週間ぐらいとか。その中changelogを見ていると、SMTP認証の際に許可・不許可だけでなく遅延も設定できるようになるような感じです。(読み違いだったらごめんなさい。)

 うまく動いてくれれば、まずspammers.tabをみて問題のあるところは拒絶や大幅な遅延、問題のないところだとSMTP認証を通れば遅延なしで、通らなければ一定の遅延をかけるといった使い方ができるようになるかもしれませんね。

 案内はこちら。
http://xmailforum.homelinux.net/index.php?showtopic=3490


【 カマダ (11.05/06) 】

nakamuraさんこんにちは

そうですよね、順番に対応するのではなく、条件に合うものがあったらそこで処理して終わりでしたね。

ところで、Xmail1.23の情報ありがとうございます、
グッドタイミングなんでしょうか、SPAM対策関係というかSMTP認証関係のあたりがかなり手が入っているようですね、

とりあえず自動翻訳させて見ましたが、これからゆっくり中身を読まさせていただきます、
ありがとうございました。


【 nakamura (11.05/06) 】

 spam対策としてはGreylistingという方法もあります。

 Xmail用では、http://www.xmailserver.org/glst-mod.html
で紹介されていますが、これなども検討してみるといいかもしれませんね。


【 nakamura (11.06/06) 】

 とりあえずこんな感じではだめですか?そのうち試してみようと思っている構成です。

host1、host2があってそれぞれにXmailをインストール。
DNSのCNAME でhost1に mail、host2に smtp とでも定義したとします。MXレコードには mail を記述しておきます。

host2のXmailには
 0.0.0.0        0.0.0.0    1 SMTP認証は除外  のように記述し、port25と587を開けておきます。あわせてフォワードでhost1にリレーするようにします。

 host1のXmailでは、現行のルールを設定しますが、あわせて、host2からのリレーについては(たとえば)無条件で受け入れるようにします。小規模ならPOPもたとえばここでサービスするようにします。

 クライアント側はSMTPサーバに smtp.yourdomein.jpを、POP3サーバにmail.yourdomein.jpをそれそれ設定してもらいます。外出先などでも使う必要があればSubmissionポートを使用してもらいます。

 これならローカルユーザーには不便をかけないと思います。もっとも、管理者はユーザーアカウントの管理が面倒になるかもしれません。Xmailが外部のディレクトリサービスと連携してユーザ管理できるようにでもなれば別でしょうが・・。


【 カマダ (11.07/06) 】

サーバ二台は考えていたのですが、XMailの新バージョン出るまで様子見することにします。


【 matsu (11.10/06) 】

1.23ベータ11を試用してみましたが、smtp.ipmap.tabで接続拒否する範囲のIPでもSMTP認証が通れば遅延なしで利用できるようになっていることを確認しました。

ただ、server.tabに新しい変数SMTP-IpMapDropCodeの設定が必要です。

XMailCFGのサンプルサイトを見ると、1.23対応はすでに済んでいるようです。(フライング?)


【 matsu (11.10/06) 】

すみません、上のコメント、質問の趣旨を勘違いしました。撤回します。


【 カマダ (11.10/06) 】

matsuさん、私も早とちりしてうれしがってました(^_^;)

ところで、nakamuraさんのおっしゃっている部分ってこの部分ですよね?

- Added a new SERVER.TAB variable "SMTP-IpMapDropCode" to control the drop code to be used for IPs listed inside the SMTP.IPMAP.TAB. Like other codes inside XMail, 1 means drop now, 0 means allow if auth, and -N means add N seconds delay. An immediate drop will emit a "SNDRIP=EIPBAN"  log entry.

翻訳サイトで翻訳しながら意味を考えているところです。


【 nakamura (11.10/06) 】

 そうなんですけど、Xmaolで用意されているspam-address.tab、spammers.tab、CustMapsList、SMTP-RDNSCheckなどの設定を含め、どの時点で、それぞれが効いてくるのか、あまりよくわかっていないの1.23がでてからゆっくり確かめてみようかなと思っています。

 ソースを見ればいいんでしょうけどね。


【 nakamura (11.10/06) 】

カマダさん

 今見ていたら、copさんがXMailCFG2.24の 改版履歴に説明を用意いただいているようです。matsuさんも書いていますが、このサイトのTOPページの XMailCFG のサンプルページは2.24用に書き換わっているようですからそちらも参考にされるといいかと思います。


【 カマダ (11.11/06) 】

nakamuraさん情報ありがとうございます、matsuさんお言われるサンプルサイトの意味もわかりました(^_^;)

SMTP関係のIPアドレスによる制御が多段にわたり私も何が何だが良くわからなくなっています、

これは一旦フローチャートにでもして考え直さないといけないですね。


【 カマダ (11.12/06) 】

色々考えてみたのですが、
「SMTP認証がない場合はその後のセッションは遅延」
という機能がつかないと私の思った使い方は出来ないみたいですね、

紹介していただいたGLSTもコンパイル方法がわからず前に進みません(^_^;)

私にとって簡単なのはport25を別のサーバで受けgreetpauseを実施して
ローカルユーザーにはport587で既存のXMailに接続してもらう事でしょうか。


【 カマダ (11.18/06) 】

XMail1.23のセキュリティ関係がややこしくなった感があったのでフローチャート風にまとめてみました。

SMTPホワイトリスト
メールサーバに自由に接続できるIPアドレスを設定する
ここで設定されたIPアドレスは以下の設定全ての制限を受けない

 不正中継データベースの参照
  不正中継データベースに登録されたIPアドレスからのメールは以下の三つから選ぶことが出来る

   SMTP認証が通れば受け取る
   切断
   遅延

  ここをパスしたメールはSMTPアクセス許可に処理が移る

 SMTPアクセス許可
  ここでメールを受け取るIPアドレスと受け取らないIPアドレスを設定する
  通常は全て受け取るようにする
  たとえば不許可にしてもSMTP-IpMapDropCodeの設定で以下の三つから選ぶことが出来る

   SMTP認証が通れば受け取る
   切断
   遅延

  またこの場合リレー許可されているIPアドレスからも受け取る

  ここを通ったメールはさらにスパムホストの管理で制限をつけることが出来る

  スパムホストの管理
   ここではIPアドレス別に以下の三つの設定が出来る

    SMTP認証が通れば受け取る
    切断
    遅延

 SMTPリレー許可
  SMTPアクセス許可を通っても通らなくてもここでリレーが許可されないと外部にメールは送信できない
  ただしSMTP認証で接続してきたIPアドレスはここの設定に関係なく外部にメールを送信できる設定がある
  通常ここではリレーを全て禁止にする、そしてSMTP認証を通ったメールだけリレーするように設定する


【 nakamura (11.22/06) 】

 あまり自信はないのですが、手順は大まかに以下のような感じではないでしょうか。

最初の接続の際の処理
 1)ホワイトリストに該当すれば2)のチェックを除外
 2)IPベースのチェックを行う
SMTPセッションに入ってからの処理
 3)SMTPセッション内で所定の制限を行う

 具体的な設定との関係では以下のような動作かなと思えます。

1)SMTPホワイトリスト(smtp.ipprop.tab)のチェック
 このチェックを通れば以下の制限を受けない

2)IPベースのチェック
2−1)スパムホストの管理(spammers.tab)
 SMTP認証が通れば受け取る/直ちに切断/遅延
2−2)不正中継データベースの参照 (CustMapsList)
 直ちに切断/遅延/保留してSMTP認証が通れば受け取る
2−3)クライアントドメインの逆引き (SMTP-RDNSCheck)
 直ちに切断/遅延/保留してSMTP認証が通れば受け取る

3)SMTPセッション内の処理
3−1)SMTPアクセス許可(smtp.ipmap.tab)
 Xmail 1.22 までは 許可/拒否
 Xmail 1.23 以降は 許可/拒否/遅延/SMTP認証が通れば許可
3−2)クライアントドメインをチェック (CheckMailerDomain)
 MAIL FROMのドメインについてMXレコードが得られなければ拒否
3−3)ユーザー認証
3−4)SMTPリレー許可(smtprelay.tab)


【 nakamura (11.22/06) 】

 あと、IPベースのチェックでは、環境に合わせてそれぞれチェックが実行され、遅延があった場合、それぞれのチェックで得られた遅延秒数のうち、もっとも大きな値が採用されるようですね。チェックの順番に気をつかわなくてすむのでありがたいです。


【 nakamura (11.22/06) 】

カマダさんへ

 とりあえず思いつきで、
spammers.tabでの
0.0.0.0        0.0.0.0    -30 30秒遅延
といった設定をやめて、代わりに新しく使えるようになったSMTP-IpMapDropCodeで遅延を許すようにし、
smtp.ipprop.tabにデフォルトでの遅延をいれるという方法を考えてみました。
 これならユーザー認証を通ったものについては遅延が無くなり、あわせてspammers.tabで遅延を多めに入れるのも有効そうに思ったのですが、逆に外部からのメール配送のすべてデフォルトの遅延がかかってしまいそうですね。

 長い遅延を設定しなければいいのでしょうが、どうも、うまくはいかないようですね。


【 みけにゃん (11.28/06) 】

nakamura様
SMTP-IpMapDropCodeというのは、
[SMTP アクセス許可](smtp.ipmap.tab)に
対する制約ですよね。

smtp.ipprop.tabにデフォルトでの遅延を
いれるという方法・・・とおっしゃられるのが
わからないんですが、そういった
パラメータってsmtp.ipprop.tabに
ありましたでしょうか?

うちの場合、環境的に、
smtp.ipmap.tab
0.0.0.0     0.0.0.0       DENY 1
127.0.0.0    255.255.255.0 ALLOW 2
192.168.0.0  255.255.255.0 ALLOW 3
で定義してるんで配送元の外部ユーザの
SMTP認証があったとしても遅延が
かかってしまいます。


【 カマダ (11.28/06) 】

私もその件コメントしようとして忘れていました、

SMTP認証を通っても設定している遅延はスルーできなくて
必ず設定したとおりの遅延がかかってしまいますね。


【 nakamura (11.28/06) 】

 みけにゃんさんの示された設定のようなものを考えていました。で、

>逆に外部からのメール配送のすべてデフォルトの遅延がかかってしまいそうですね。
>長い遅延を設定しなければいいのでしょうが、どうも、うまくはいかないようですね。

 と、みけにゃんさんやカマダさんの指摘通りになってしまい、やはり”思いつき”の範囲を出ない提案でしたね。お騒がせしました。

記事の先頭へ▲ 
SUPER LABORATORY