月曜日, 10月 27, 2014

拒絶ログソーティングスクリプトをバージョンアップ

 拒絶ログソーティングスクリプトをバージョンアップした。
 4XXで受信拒否した記録を全部拾い、受信拒否理由を符号で示すようにした。

CClient host rejected (S25Rによるもの)
B:Client host [...] blocked (DNSBLによるもの;maps_rbl_reject_codeを4XXに設定してreject_rbl_clientを使った場合)
SSender address rejected (reject_unknown_sender_domainを使った場合)
RRecipient address rejected (reject_unknown_recipient_domainを使った場合)
HHelo command rejected (reject_unknown_helo_hostnameを使った場合)
OOther (それ以外)

だから、S25R以外に、4XXを返す受信拒否を設定している場合も、リトライしているアクセスを容易に見つけることができる。
 最近のログの表示の一例を示す。

Oct 24 17:40:10 S web207.purelyhosting.com [192.64.178.136] from=<***@allaboutdiabete.com> to=<***@gabacho-net.jp> helo=<web207.purelyhosting.com>
Oct 25 12:48:41 B web207.purelyhosting.com [192.64.178.136] from=<***@allaboutdiabete.com> to=<***@gabacho-net.jp> helo=<web207.purelyhosting.com>
Oct 27 14:10:17 B web207.purelyhosting.com [192.64.178.136] from=<***@allaboutdiabete.com> to=<***@gabacho-net.jp> helo=<web207.purelyhosting.com>

1回目は、クライアントチェックを抜けた後、reject_unknown_sender_domainで蹴られていた。2回目からはSpamCopのチェックに引っかかった。
 受信拒否理由が一目でわかるのはなかなか便利である。
 なお、reject_unknown_recipient_domainとreject_unknown_helo_hostnameは設定していないので、これによる受信拒否がちゃんと表示されることの確認まではしていない。

火曜日, 10月 07, 2014

「導入者の皆様の声」をもう一つ追加

 前回、S25R方式の導入報告と謝辞をいただいて「導入者の皆様の声」に追加したことを述べた。これがきっかけで、非常に感動的な言葉で激賞してくださった方が他にもいたことを思い出した。もう7年近くも前になるが、2008年1月9日「また激賞された」で紹介した、国島丈生さんのブログ記事「某学会メールサーバのSPAM対策」である。
 今まで「導入者の皆様の声」には、私に連絡してきて賛辞を告げてくださった方々の声を掲載しており、私に連絡することなくブログなどに綴られた賛辞まで拾い集めて掲載することはしていなかった。しかし、国島さんの感動的な言葉は、S25R方式の良さをより強くアピールするにはありがたいもので、英訳して世界に発信するにもふさわしいと考えた。また、学会へのメールはほとんど会員の職場から送られてきて、S25Rに引っかからないことがほとんどであるという条件のもとで、qmailでのグレイリスティングよりも素のS25Rの方が驚くほどの効果が得られたという事例は、貴重な情報である。
 そこで、国島さんの許可をいただいて、ブログ記事からエッセンスの言葉を残して文章を圧縮し、掲載した。

 某学会のサーバを運用しているが、メールアドレスをウェブで公開している学会の連絡先メーリングリストには、Spam throttleを使ってもなお、一日に数百通のスパムが押し寄せてきてほとほと困っていた。
 S25Rという対策を見たことがあったのを思い出し、試してみる価値はあると考えた。
 正規のメールが受け取れないケースが多発しては問題なので、まず、誤って拒否をする可能性が少ないと予想されるQgreyを導入した。かなりのスパムを排除してくれたが、すり抜けてくるスパムがそこそこあった。
 Qgreyが阻止したSMTP接続は100%スパムであった。阻止された正規のメールは一日あたり1通もない。学会にメールを送るのは圧倒的に職場からの場合が多く、したがってS25Rの拒否条件に引っかからない場合がほとんどであろう。ならば、純粋なS25R方式を導入しても大丈夫ではないか。そこで、qmailにS25Rパッチを当て、運用を開始した。パッチ中の記述は少々古かったので、最新のものに書き換えた。
 結果はというと…まさに驚異的の一語に尽きる。受け取るスパムは一日10通程度にまで激減した。13時間の間にS25Rで一時拒否したSMTP接続数は2048。実に99%以上のスパムを、受け取ることなく排除していた。この間、誤って拒否したメールは1通もないし、学会への正規のメールはちゃんと配送している。正直、ここまで効果があるとは予想していなかった。
 すり抜けてくる10通については、個別にブラックリストパターンを書くなどして対処している。10通なら、日常の仕事の合間でも充分解析作業ができる。
 こんなすごい方法を編み出した浅見秀雄さんに大感謝である。
ブログ記事(2007/12/18)の要約;掲載許諾]

土曜日, 10月 04, 2014

「導入者の皆様の声」を追加

 医療機関を統括する組織で情報システム管理者を務めている方から、S25R方式の導入報告と謝辞をいただいたので、内容を編集して「導入者の皆様の声」に掲載した(掲載文は私が作り、その方の意図どおりであることをご確認いただいている)。

 複数の医療機関を統括する組織の情報システム管理をしています。
 月20,000通ほど殺到するスパムの排除にセキュリティソフトウェアGIDEONを使っていますが、すり抜けるスパムの検体をGIDEONに登録するのが手間でした。
 S25R方式を知ってPostfixに適用したところ、80%以上のスパムをGIDEONの前段で排除でき、検体の登録の手間が減りました。しかし、ホワイトリストとブラックリストのメンテナンスが大変でした。そこで、postgreyによるグレイリスティングをS25Rに組み合わせました。その結果、運用の手間が非常に少なくなりました。
 スパムの受信は月約800通と、殺到するスパムの4%にまで減りました(この中にはGIDEONがスパムの疑いありと判定した正当なメールも含まれるので、実際のスパムはもう少し少なくなります)。医師たちからのスパム申告はほとんどなくなりました。素晴らしいアイデアを無償公開していただき、感謝しています。
 唯一困っていることは、スパム対策のために毎日1時間費やしていた仕事がほぼなくなったので、私が“暇”しているように見られていることです。

 スパム対策製品には、送信元がエンドユーザーコンピュータである可能性を逆引き名に基づいて評価するというS25R方式のアイデアを取り入れたものがあることは知っていたが、GIDEONもそうらしい。しかし、高い効果を謳うスパム対策製品を使っても、それだけではスパムによる業務効率低下の問題を十分に解決できていなかったという証言である。これは貴重な情報だと思った。
 システム管理者が楽になっただけでなく、お医者様もスパムを捨てるという無駄な仕事が減った。それでできた余裕は医療の向上に振り向けることができるだろう。私のアイデアとそれを発展させたボランティアの皆さんのアイデアが医療従事者にも貢献し、ひいては病気で苦しむ人たちを救うことにもつながると思うと感慨深い。