Greet Pauseを設定してみました

知らなかったのですがsendmailのバージョン8.13からGreet Pauseという手法が追加されていたそうです(オープンソースマガジン 2006年2月号 78ページ:第二特集 メール配送技術の最新事情、ソフトバンククリエイティブ株式会社発行)。ということでさっそくやってみました。

まえがき

最近のspammerは大量メールをさばくために専用ソフトを使っていて、メール配送のSMTPの手順を手抜きしてどんどん送りつけています。

普通であればメールサーバーにつなぐと、受け取り先はグリーティングメッセージといって
220 rep.rbl.jp ESMTP Sendmail 8.13.4/8.13.3; Fri, 13 Jan 2006 11:25:52 +0900 (JST)
のように送り元に応答を返します。送り元はそれを待って(ソフト的には頭の220という数値で判断しメールサーバーは正常だと判断して)次の手順に進みます。もちろん回線が混雑していてすぐにこのメッセージが来なければ来るまで待って、その後に自分のメッセージを送出します。

メールサーバーが過負荷だったときにはこれに代わって別の番号から始まる応答が返ります。そのような場合には送り元は障害があると判断して次回の送信タイミングまで待機します。

ところがspammerのバルクメール送信ソフトはこのメッセージが返る時間待つことをしないで、つないだら220の応答が来るという前提で、すぐ次のメッセージを(一通や二通届かなくてもいいやということで)送りにかかります。大量に送るために少しでも時間を節約しているわけです。プロバイダのメールサーバーなどは年がら年中忙しい状態なので数秒から数十秒もかかるところがたくさんあってそれを待っていたら数を稼げないわけですね。

これを利用して220番の応答をわざと遅らせておき、それを送る前に次のメッセージが来たらエラーとしてその先に進めないようにするテクニックがGreet Pauseです。

設定方法

この設定はsendmail 8.13以降でないとできないのにご注意ください。作業は管理者権限で行います。本作業はFreeBSD6.0で行った例でLinuxでは多少異なります。

1) sendmail.cfを作成
/etc/mail に移動し
(自分のホスト名).mc ファイルに以下を追加します。

FEATURE(`greet_pause',`5000')dnl

これはデフォルトで5000ms待つという設定です。このあと

make
cp (自分のホスト名).cf sendmail.cf
make restart

とすると新しいsendmail.cfで立ち上がります。
2)除外ホストなどの設定

これで全ての接続元からつないできたときに(上の例では)5 秒まってからグリーティングメッセージを出すようになります。
telnet (設定したホスト)  25 
として本当に5秒待ってから表示されるかチェックしてみてください。

この5秒は長過ぎもせず短すぎもせず、なかなかいい値だと思います。メールサーバーは大量のメールをさばいているときや、別の処理で負荷が大きいとき、あるいは途中の回線がちょっとおかしかったりしたときには5秒くらい遅れるのはざらですから普通の(正しい)メールは配送ソフトはしっかり待ってくれます。オープニングメッセージが遅れるだけで、そのあとは通常の速度で処理されます。

全部5秒でなく例外を記述することができます。
/etc/mail/access
に以下の構文で設定すると右側の数値だけ待って、グリーティングメッセージを出してくれます。
GreetPause:127.0.0.1    0
GreetPause:192.168.0      0     
GreetPause:hart.co.jp     0
GreetPause:spammer.com   30000
上の例では127.0.0.1(自分自身)192.168.0.XXX(社内のローカルアドレス) それに逆引きにhart.co.jp がつくホスト(たとえばmail.hart.co.jpとかmx.hart.co.jpとか)の場合には待ち時間ゼロでグリーティングメッセージを出すようになります。

最後の例は怪しいホストにはデフォルトより長く30秒待たせています。

設定したらいつものようにmakeとやってdbファイルに変換します。念のため本当にその時間になるか該当ホストから
telnet (設定したホスト)  25 
としてチェックしてみましょう。

実際にやった例

これは実際に仕掛けたときの/var/log/maillogから抽出した状況です。Jan 12 22:37に設定開始しJan 13 16:03までに464件あります。

ユニークなホスト名として整理したものが以下です。当然メールは到達していません(拒絶しています)。
106.Red-83-49-82.dynamicIP.rima-tde.net
110.185.150.220.ap.yournet.ne.jp
111.Red-83-40-10.dynamicIP.rima-tde.net
116.Red-81-34-52.dynamicIP.rima-tde.net
133.Red-80-24-180.staticIP.rima-tde.net
139.Red-83-35-22.dynamicIP.rima-tde.net
145.net059085064.t-com.ne.jp
15-115.8-67.tampabay.res.rr.com
153.182.150.220.ap.yournet.ne.jp
16.Red-83-35-9.dynamicIP.rima-tde.net
169.red-82-158-122.user.auna.net
183.177.150.220.ap.yournet.ne.jp
184.Red-83-40-103.dynamicIP.rima-tde.net
197.168.244.43.fbb.ReSET.JP
200-112-153-50.bbt.net.ar
200-140-239-049.ctame7043.dsl.brasiltelecom.net.br
200-140-42-186.cbace702.dsl.brasiltelecom.net.br
200-158-240-173.dsl.telesp.net.br
200-158-39-218.dsl.telesp.net.br
200-161-166-61.dsl.telesp.net.br
200-168-105-137.dsl.telesp.net.br
200-206-195-252.dsl.telesp.net.br
201-010-087-177.pgosm7006.dsl.brasiltelecom.net.br
201-1-106-98.dsl.telesp.net.br
201-1-35-212.dsl.telesp.net.br
201-14-141-197.fnsce701.dsl.brasiltelecom.net.br
201-24-150-112.cpece705.dsl.brasiltelecom.net.br
201-255-111-168.mrse.com.ar
201-26-104-179.dsl.telesp.net.br
201-27-36-191.dsl.telesp.net.br
201-27-38-130.dsl.telesp.net.br
201-40-12-17.gnace703.dsl.brasiltelecom.net.br
201-42-184-239.dsl.telesp.net.br
201.12.181.158
201.12.187.150
201.18.94.2
201.244.209.8
201.244.254.99
201.34.163.250
202.149.200.7
203.128.255.105
204.50.190.171
207-255-119-107-dhcp.unt.pa.atlanticbb.net
210.22.15.66
210.78.148.166
211.139.218.154
211.36.241.185
211.43.213.51
212.Red-81-34-8.dynamicIP.rima-tde.net
217.196.164.217
218.196.249.82
218.80.72.173
218.82.84.189
218.83.212.203
218.Red-83-41-254.dynamicIP.rima-tde.net
219.147.143.18
219.154.130.126
22.net220148186.t-com.ne.jp
221.122.46.46
221.221.236.246
222.65.53.239
222.69.7.75
226.red-82-198-40.user.auna.net
234-255-224-80.user.auna.net
24-151-185-166.dhcp.kgpt.tn.charter.com
24-159-173-090.dhcp.spbg.sc.charter.com
32.Red-83-53-102.dynamicIP.rima-tde.net
33xhu279.resnet.neu.edu
34.38.44.61.ap.yournet.ne.jp
34.Red-83-32-242.dynamicIP.rima-tde.net
36.red-82-158-177.user.auna.net
40-11-231-201.fibertel.com.ar
44.212.244.43.ap.yournet.ne.jp
51-240.35-65.tampabay.res.rr.com
57.173.150.220.ap.yournet.ne.jp
59.38.32.8
59.42.91.123
59.59.144.62
60.176.168.132
60.31.133.109
61.153.193.122
61.171.36.208
61.94.238.105
62.176.150.220.ap.yournet.ne.jp
63.173.23.200
63.245.108.122
68-112-49-187.dhcp.hlrg.nc.charter.com
68-117-205-65.dhcp.opls.la.charter.com
68-188-6-221.dhcp.stls.mo.charter.com
69.79.6.36
76.228.75.202.west.bflets.alpha-net.ne.jp
82-76-116-157.rdsnet.ro
82-76-156-42.rdsnet.ro
82.181.150.220.ap.yournet.ne.jp
84.114.204.150
85.98.148.60
87.110.79.30
9.Red-83-58-194.dynamicIP.rima-tde.net
97.40.44.61.ap.yournet.ne.jp
CPE-70-92-140-154.mn.res.rr.com
FLH1Aas089.ehm.mesh.ad.jp
G033042.ppp.dion.ne.jp
OFSfb-09p2-174.ppp11.odn.ad.jp
PPPax2317.tokyo-ip.dti.ne.jp
S010600112f31c4ac.va.shawcable.net
ZL131083.ppp.dion.ne.jp
aarx249.neoplus.adsl.tpnet.pl
aawg106.neoplus.adsl.tpnet.pl
aawv32.neoplus.adsl.tpnet.pl
abee119.neoplus.adsl.tpnet.pl
abnw134.neoplus.adsl.tpnet.pl
aboi224.neoplus.adsl.tpnet.pl
abqy129.neoplus.adsl.tpnet.pl
abrw45.neoplus.adsl.tpnet.pl
abwf71.neoplus.adsl.tpnet.pl
abwq48.neoplus.adsl.tpnet.pl
abya61.neoplus.adsl.tpnet.pl
abyg193.neoplus.adsl.tpnet.pl
acgh72.neoplus.adsl.tpnet.pl
acrl105.neoplus.adsl.tpnet.pl
acsa223.neoplus.adsl.tpnet.pl
acwj208.neoplus.adsl.tpnet.pl
aczm123.neoplus.adsl.tpnet.pl
aczv13.neoplus.adsl.tpnet.pl
adsl-69-209-143-171.dsl.sfldmi.ameritech.net
aie152.neoplus.adsl.tpnet.pl
ajb140.neoplus.adsl.tpnet.pl
anu140.neoplus.adsl.tpnet.pl
anz126.neoplus.adsl.tpnet.pl
aon194.neoplus.adsl.tpnet.pl
arc68-1-82-231-138-122.fbx.proxad.net
aub244.neoplus.adsl.tpnet.pl
aue136.neoplus.adsl.tpnet.pl
axb154.internetdsl.tpnet.pl
axx35.neoplus.adsl.tpnet.pl
ays239.neoplus.adsl.tpnet.pl
bbe232.neoplus.adsl.tpnet.pl
bcj42.neoplus.adsl.tpnet.pl
bdo154.neoplus.adsl.tpnet.pl
bfb249.neoplus.adsl.tpnet.pl
bn253.internetdsl.tpnet.pl
bns206.neoplus.adsl.tpnet.pl
boy121.neoplus.adsl.tpnet.pl
bub135.neoplus.adsl.tpnet.pl
buf213.neoplus.adsl.tpnet.pl
bvt145.neoplus.adsl.tpnet.pl
bxa232.neoplus.adsl.tpnet.pl
bzv119.neoplus.adsl.tpnet.pl
c-24-0-38-43.hsd1.tx.comcast.net
c-24-125-8-52.hsd1.va.comcast.net
c-24-131-140-182.hsd1.ma.comcast.net
c-24-15-165-51.hsd1.il.comcast.net
c-24-4-140-177.hsd1.ca.comcast.net
c-66-177-142-65.hsd1.fl.comcast.net
c-66-177-212-209.hsd1.fl.comcast.net
c-67-174-17-118.hsd1.il.comcast.net
c-71-192-206-50.hsd1.ma.comcast.net
c5147698d.cable.wanadoo.nl
cbg56.neoplus.adsl.tpnet.pl
cbo161.neoplus.adsl.tpnet.pl
cc286599-b.hnglo1.ov.home.nl
cc910952-a.ws1.gr.home.nl
cet130.neoplus.adsl.tpnet.pl
chello084113213144.13.14.vie.surfer.at
chello212186088071.chello.pl
ckz159.neoplus.adsl.tpnet.pl
client-201.230.74.85.speedy.net.pe
cou93-3-82-230-202-86.fbx.proxad.net
cpc1-eswd2-6-0-cust46.renf.cable.ntl.com
cpc1-hudd7-5-0-cust96.hudd.cable.ntl.com
cpc1-warw5-0-0-cust753.brhm.cable.ntl.com
cpc2-hudd3-4-0-cust193.hudd.cable.ntl.com
cpc2-kemp2-3-0-cust193.lutn.cable.ntl.com
cpc2-nfds8-3-0-cust231.leic.cable.ntl.com
cpc2-oldh2-3-0-cust83.manc.cable.ntl.com
cpc2-roch2-3-0-cust44.manc.cable.ntl.com
cpc3-grim1-6-0-cust140.nott.cable.ntl.com
cpc3-lutn4-6-0-cust191.lutn.cable.ntl.com
cpc4-cmbg2-6-0-cust170.cmbg.cable.ntl.com
cpc4-stoc4-6-0-cust77.midd.cable.ntl.com
cpc5-rdng7-4-0-cust68.winn.cable.ntl.com
cpe-24-165-136-75.midsouth.res.rr.com
cpe-24-167-85-77.houston.res.rr.com
cpe-24-170-8-56.jam.res.rr.com
cpe-24-174-101-34.houston.res.rr.com
cpe-24-174-112-175.houston.res.rr.com
cpe-24-209-236-102.cinci.res.rr.com
cpe-24-210-29-129.columbus.res.rr.com
cpe-24-243-112-107.stx.res.rr.com
cpe-66-108-230-193.nyc.res.rr.com
cqd233.neoplus.adsl.tpnet.pl
cre222.neoplus.adsl.tpnet.pl
d47.zicom.pl
dib229.neoplus.adsl.tpnet.pl
dka66.neoplus.adsl.tpnet.pl
dsl.dynamic81213107175.ttnet.net.tr
dsl.dynamic859913513.ttnet.net.tr
dsl85-105-39192.ttnet.net.tr
dslb-084-056-245-233.pools.arcor-ip.net
dukklin.dukklin.co.uk
dxt45.neoplus.adsl.tpnet.pl
eca27.neoplus.adsl.tpnet.pl
ece76.neoplus.adsl.tpnet.pl
eeo156.neoplus.adsl.tpnet.pl
efq118.neoplus.adsl.tpnet.pl
efu16.neoplus.adsl.tpnet.pl
efw129.neoplus.adsl.tpnet.pl
emv165.neoplus.adsl.tpnet.pl
enn108.neoplus.adsl.tpnet.pl
epa101.neoplus.adsl.tpnet.pl
evx199.neoplus.adsl.tpnet.pl
ewy244.neoplus.adsl.tpnet.pl
fizz.visp.de
forum.wrx.org.au
host-217-172-239-192.gdynia.mm.pl
host-68-210-228-208.ags.bellsouth.net
host105-150.pool8255.interbusiness.it
host195-160.pool870.interbusiness.it
hoster900.com
hotwire-183-142-16-del.hotwireindia.com
lns-bzn-31-82-252-239-182.adsl.proxad.net
m70.net81-67-60.noos.fr
mail.corpseclothing.com
mail.worldtek.com
mx3.go2.pl
nttfba2-045.246.ne.jp
p1115-ipad83marunouchi.tokyo.ocn.ne.jp
p2237-ipad414marunouchi.tokyo.ocn.ne.jp
p3022-ipbffx01fukuokachu.fukuoka.ocn.ne.jp
p3070-ipad52marunouchi.tokyo.ocn.ne.jp
p3174-ipad68marunouchi.tokyo.ocn.ne.jp
p4254-ipad501marunouchi.tokyo.ocn.ne.jp
p508B67B6.dip.t-dialin.net
p6018-ipad72marunouchi.tokyo.ocn.ne.jp
p8205-ipad53marunouchi.tokyo.ocn.ne.jp
pc-105-41-214-201.cm.vtr.net
pc-193-53-239-201.cm.vtr.net
pcp0010267955pcs.indpnd01.mo.comcast.net
pcp0010347159pcs.indpnd01.mo.comcast.net
pcp0011558563pcs.anapol01.md.comcast.net
pcp03991352pcs.walngs01.pa.comcast.net
pcp04743749pcs.glstrt01.nj.comcast.net
pcp156750pcs.maysld01.nj.comcast.net
pl098.nas942.o-tokyo.nttpc.ne.jp
pl233.nas942.o-tokyo.nttpc.ne.jp
pl237.nas944.o-tokyo.nttpc.ne.jp
pl297.nas944.o-tokyo.nttpc.ne.jp
pl454.nas944.o-tokyo.nttpc.ne.jp
pool-151-197-232-84.phil.east.verizon.net
pool-70-108-103-107.res.east.verizon.net
pool-70-110-154-162.phil.east.verizon.net
pool-70-111-111-222.nwrk.east.verizon.net
pool-70-16-3-254.balt.east.verizon.net
pool-70-18-106-76.alb.east.verizon.net
pool-70-21-105-194.res.east.verizon.net
pool-71-248-129-201.dllstx.dsl-w.verizon.net
ppp-61-47-186.attla.net.ar
vil69-5-82-235-45-21.fbx.proxad.net
wipll-90-42-static.71c.kozienice.pilicka.pl
xdsl-120-231.wist.com.pl
worldtek.comとかcorpseclothing.comとかのメールサーバーらしきところから拒絶しているのにご注意ください。

つないでみると以下のグリーティングメッセージが出るので普通と違うメールサーバーのようです。でもそもそもここからメールが来る覚えが無いんですけどね。後者はDMくさいですが。
220 WK09005.worldtek.com ESMTP MailEnable Service, Version: 0--1.04 ready at 01/13/06 03:08:23
220 PARIDAEDESIGNS.corpseclothing.com ESMTP MailEnable Service, Version: 1.91-- ready at 01/13/06 08:10:01


さらにjpで終わるホスト名は以下です。プロバイダのメールサーバーらしきものは1つもありません。

末尾に「登録無し」となっているホストはどこのRBLにも登録されていないもの、その他は http://www.rbl.jp/ckdb/ で調べるとどれかに登録されていました。
110.185.150.220.ap.yournet.ne.jp
145.net059085064.t-com.ne.jp
153.182.150.220.ap.yournet.ne.jp
183.177.150.220.ap.yournet.ne.jp  登録無し
197.168.244.43.fbb.ReSET.JP
22.net220148186.t-com.ne.jp
34.38.44.61.ap.yournet.ne.jp
44.212.244.43.ap.yournet.ne.jp 登録無し
57.173.150.220.ap.yournet.ne.jp
62.176.150.220.ap.yournet.ne.jp
76.228.75.202.west.bflets.alpha-net.ne.jp
82.181.150.220.ap.yournet.ne.jp
97.40.44.61.ap.yournet.ne.jp 登録無し
FLH1Aas089.ehm.mesh.ad.jp
G033042.ppp.dion.ne.jp 登録無し
OFSfb-09p2-174.ppp11.odn.ad.jp
PPPax2317.tokyo-ip.dti.ne.jp 登録無し
ZL131083.ppp.dion.ne.jp 登録無し
nttfba2-045.246.ne.jp
p1115-ipad83marunouchi.tokyo.ocn.ne.jp
p2237-ipad414marunouchi.tokyo.ocn.ne.jp
p3022-ipbffx01fukuokachu.fukuoka.ocn.ne.jp 登録無し
p3070-ipad52marunouchi.tokyo.ocn.ne.jp
p3174-ipad68marunouchi.tokyo.ocn.ne.jp
p4254-ipad501marunouchi.tokyo.ocn.ne.jp 登録無し
p6018-ipad72marunouchi.tokyo.ocn.ne.jp
p8205-ipad53marunouchi.tokyo.ocn.ne.jp
pl098.nas942.o-tokyo.nttpc.ne.jp
pl233.nas942.o-tokyo.nttpc.ne.jp 登録無し
pl237.nas944.o-tokyo.nttpc.ne.jp 登録無し
pl297.nas944.o-tokyo.nttpc.ne.jp
pl454.nas944.o-tokyo.nttpc.ne.jp

通常RBLはspamが送られると登録され、そのデータを参照して拒絶するのですがこのGreet Pauseであれば初めて送られくるホストであっても拒絶してくれるという大きなメリットがあります。

繰り返し述べますが、この方法は動的アドレスからのメールを拒絶するのではなく、正しい手順で送って来ていないメールを拒絶する方法なのでダイナミックDNSサービスを使って動的アドレス領域にサーバーを立ち上げている人にも迷惑をかけません。

ということでかなり効果があるのではないでしょうか。しかしながら設定するときはあなたの責任で。

追記:デフォルトの待ち時間は現在サーバーによって5秒(5000)から60秒(60000)の間で異なった設定にしています。

「Greet Pause 0としたほうがいいISP」
「GreetPauseをゼロにするISPのホスト一覧」
「GreetPauseその後」
「GreetPauseで拒絶したアドレスを抽出」
「企業向けに適したGreetPauseの使い方」
同じアドレスにREJECTと GreetPauseを指定
もご覧ください。

Nikki Top