案外SPAMにダマされる人がいるのか?


先週、以下のようなSPAMメールが来ているのに気がついた。

It Is Our New Low Float Sub-Penny Special! And Our Next
Trading Idea!!!

Symbol to buy: HA I_R
Long Term Target Price: $1.50
Name: Biostem Corp.
Last Trade: 0.045
Trading Date: Jul 22

Mega Bagger Announcement! 10 Trading Rules!!!

意味がわかんなかったので、検索してみると、どうやら、現在$0.045のBiostem社の株を買っとくと長期保有してりゃ最終的には$1.5あたりまで値上がるぜ!という意味っぽい。
確認してみると現状は「Last Trade」にある値段ではあるものの、ここんところどんどん価格が下落しているような株だった。

「ふ~ん」という感じで放置していたら、また同様のメールがいくつか・・・

This Company has legs! This is on High Alert After Yesterday`s Big News
Day; Full Details Inside!!!

Trade Date: Jul, 29
To buy: H_A IR
Last Trade: .035
Short Term Target Price: $1.15
Company Name: Biostem U.S.

This stock is perfectly positioned for HUGE growth! This Company Releases
Breaking News This Morning!

こっちは短期で$1.15になるぜ、とか言ってたりする。

で・・・もしかして、これって、結構前からこの種のメールが来てたのでは無いか?と思い当たって検索してみると、2013年6月8日に以下のようなメールが来ていたのが最古だった。

Trading Tip: HA I_R. Biostem US Corp. To Soar! Add on Immediately. As
Stem Cell Industry Skyrockets In 2013 Biostem U.S. Corp is rolling out a
hair restoration process referred to as: The Biostem Method. This
technique involves the usage of platelet rich plasma injections, low
level laser solution. This mix has proven highly effective in fixing
growth of hair in women and men. This will gonna go skyrocket this
undervalued company as headlines circulate. Buyers who trade fast could
get big profits… Our rd shows this stock is about to trade big. As much
as 1300%. Getting brokers, who be in now to cash amazing gains. Now,
company insiders reported buying up shares in the firms stock. Why is
this important?! Thinking that stock is at all-time lows, this became a
brilliant and planned move. According to financers, when firms insiders
grab a ton of stock, the price of that stock jumps up over twelve months.
Conservatively… Much of Its latest value. A smaller USD 8’000 purchase
must come to… $70’000. Buy HA I_R on Mon, June 10th.

このメールが来たJun 8の時点では「0.2ドル」近辺。
biostem
その後のJun 20ぐらいから取引数が増加している。

そして、最近の取引数はすごいことに・・・
いままでの動きからすると異常なぐらいですね。

というあたりを考えると、このSPAMメールって、株を動かしたい人が送信してるんだなぁ、と感じる次第で。

メールアカウント乗っ取り系のSPAM送信


ある日、メールの送信失敗率が急上昇した。
qmailsend-week-mod
(上記画像は対処して落ち着いた後に取ったもの)

慌ててメールキューを確認するとエラーメールが大量に・・・

調べてみると、全てある1ユーザに関するもの。
ログを確認していくと、そのユーザが、さまざまなIPアドレスからSMTP認証をかけてきて、認証に成功した上でSPAM送信が行われているじゃないですか。

Jul 22 18:47:21 mailserver qmail: 1374486441.012502 starting delivery 77399: msg 90220 to local example.com-hello@example.com
Jul 22 18:47:21 mailserver qmail: 1374486441.012529 status: local 2/100 remote 0/50
Jul 22 18:47:21 mailserver spamd[937]: spamd: connection from localhost.localdomain [127.0.0.1] at port 43120
Jul 22 18:47:21 mailserver spamd[937]: spamd: handle_user unable to find user: 'hello@example.com'
Jul 22 18:47:21 mailserver spamd[937]: spamd: processing message <201307220947.r6M9lLNe013087@mailserver.example.com> for hello@example.com:109
Jul 22 18:47:26 mailserver spamd[937]: spamd: clean message (0.0/18.0) for hello@example.com:109 in 5.9 seconds, 2050 bytes.
Jul 22 18:47:26 mailserver spamd[937]: spamd: result: . 0 - AWL,BAYES_20,CONTENT_TYPE_PRESENT,INVALIDYAHOOJP,ISO2022JP_BODY,ISO2022JP_CHARSET,SUBJECT_NEEDS_ENCODING,SUBJ_ILLEGAL_CHARS,URI_HEX scantime=5.9,size=2050,user=hello@example.com,uid=109,required_score=18.0,rhost=localhost.localdomain,raddr=127.0.0.1,rport=43120,mid=<201307220947.r6M9lLNe013087@mailserver.example.com>,bayes=0.090684,autolearn=disabled
Jul 22 18:52:46 mailserver vpopmail[17115]: vchkpw-submission: (PLAIN) login success hello@example.com:83.242.101.27
Jul 22 18:52:57 mailserver qmail: 1374486777.611039 new msg 90219
Jul 22 18:52:57 mailserver qmail: 1374486777.611077 info msg 90219: bytes 1364 from <hello@example.com> qp 17121 uid 103
Jul 22 18:52:57 mailserver qmail: 1374486777.638528 starting delivery 77421: msg 90219 to remote ~@~
Jul 22 18:52:57 mailserver qmail: 1374486777.638582 status: local 0/100 remote 1/50
Jul 22 18:52:57 mailserver qmail: 1374486777.641128 starting delivery 77422: msg 90219 to remote ~@~
Jul 22 18:52:57 mailserver qmail: 1374486777.641155 status: local 0/100 remote 2/50
Jul 22 18:52:57 mailserver qmail: 1374486777.641173 starting delivery 77423: msg 90219 to remote ~@~
Jul 22 18:52:57 mailserver qmail: 1374486777.641192 status: local 0/100 remote 3/50
Jul 22 18:52:57 mailserver qmail: 1374486777.641314 starting delivery 77424: msg 90219 to remote ~@~
Jul 22 18:52:57 mailserver qmail: 1374486777.641339 status: local 0/100 remote 4/50
Jul 22 18:52:57 mailserver qmail: 1374486777.641518 starting delivery 77425: msg 90219 to remote ~@~
Jul 22 18:52:57 mailserver qmail: 1374486777.641543 status: local 0/100 remote 5/50

そう、そのユーザのメールアカウント情報がどこかで漏れ、SPAMシステムに投入されたようなのです。

とりあえず、該当アカウントのパスワード変更し、メールキュー内のエラーメール群を消去したあと、対処開始。

確認すると、約24時間の間に、880のIPアドレスからSMTP認証のloginが行われているという事態。
また、ほとんどのIPアドレスからは1回しかアクセスがなかったので、相当大規模なシステムである模様。

# cat /var/log/maillog.? |grep vchkpw-submission|grep hello@example.com|grep succ|awk '{ print $10 }'|awk -F: '{ print $2 }' |sort|uniq -c|sort|wc
    880    1760   19476
# cat /var/log/maillog.? |grep vchkpw-submission|grep hello@example.com|grep succ|awk '{ print $10 }'|awk -F: '{ print $2 }' |sort|uniq -c|sort | tail
      2 93.85.128.230
      2 94.156.244.75
      2 94.170.246.170
      2 94.180.194.222
      2 95.52.132.238
      3 178.125.185.161
      3 46.118.66.80
      3 93.175.125.67
      3 93.78.3.92
      3 95.42.37.153
#

そんな確認を行っていると、30分が経過。
すると、いままで出ていた「password fail」のログが消えた。
そう、どうやらSPAM送信システム側で、このサーバでは送れない、という認識がされたようだ。

これで終わりかな?と思ったのですが、その後も12時間ごとに10回のメール送信を試みてる形跡が確認されています。

Jul 24 07:11:42 mailserver vpopmail[32749]: vchkpw-submission: password fail hello@example.com:91.225.163.32
Jul 24 07:16:21 mailserver vpopmail[1287]: vchkpw-submission: password fail hello@example.com:89.74.114.28
Jul 24 07:20:57 mailserver vpopmail[2147]: vchkpw-submission: password fail hello@example.com:192.162.224.10
Jul 24 19:13:23 mailserver vpopmail[8339]: vchkpw-submission: password fail hello@example.com:94.139.211.248
Jul 24 19:18:54 mailserver vpopmail[9449]: vchkpw-submission: password fail hello@example.com:178.120.193.67
Jul 24 19:24:18 mailserver vpopmail[10359]: vchkpw-submission: password fail hello@example.com:178.127.107.5
Jul 24 19:29:58 mailserver vpopmail[11422]: vchkpw-submission: password fail hello@example.com:114.41.229.41
Jul 24 19:35:23 mailserver vpopmail[13866]: vchkpw-submission: password fail hello@example.com:178.122.175.143
Jul 24 19:40:48 mailserver vpopmail[14894]: vchkpw-submission: password fail hello@example.com:46.211.194.44
Jul 24 19:46:03 mailserver vpopmail[16036]: vchkpw-submission: password fail hello@example.com:91.230.30.142
Jul 24 19:56:39 mailserver vpopmail[18000]: vchkpw-submission: password fail hello@example.com:176.115.59.82
Jul 24 20:02:02 mailserver vpopmail[19925]: vchkpw-submission: password fail hello@example.com:37.215.9.145
Jul 24 20:12:06 mailserver vpopmail[21887]: vchkpw-submission: password fail hello@example.com:115.187.55.14

いまさらqmailのパッチ情報収集 2012/02/17


新しい情報があったので「qmailの情報収集 2019/08/26」で更新しました。
なお、うちはqmail+vpopmailからpostfix+iredmailに移行しました。


実はqmail+vpopmail環境をまだ運用していたりする。
久々に使っているパッチを見直してみているところ。

netqmail-1.06_qregex_spf_auth_badremote-patch
うちで使ってるqmailのパッチ集。

netqmail-qregex-20040601-vrt.patch
qmail-1.03-concurrencydomain.patch
qmail-103-dns.patch
qmail-badremotehost.patch
qmail-date-localtime.patch
qmail-spf-rc5.patch

上記のうち、netqmail-qregex-20040601-vrt.patchは以下のパッチから構成されている。

smtpd-auth
qrefex-20040601
validrcptto

で、この環境に当たってるパッチを最新の状況に合わせようかな、と思って調査開始。

qmail-1.03 & Netqmail-1.06 / DomainKeys Integration Howto v20081001.02
DomainKeysに対応させるための手順

qmail-isp
上記ページの作者が公開しているqmail-1.03に対するいろんな修正パッチ集
最新は 2010062801版。
netqmail-1.06と同等のパッチも含まれている。
このパッチ集には qmail-dkは含まれない。

qmail-1.03.errno.patch   (netqmail-1.0.6同等)
qmail-local-sjoelund.patch  (netqmail-1.0.6同等)
qmail-1.03-0.0.0.0-0.2.patch  (netqmail-1.0.6同等)
qmailqueue-patch  (netqmail-1.0.6同等)
qmail-sendmail-flagf.patch  (netqmail-1.0.6同等)
qmail-isoc.patch  (netqmail-1.0.6同等)
qmail-bounce.patch
oversize-dns.patch
qmail-1.03-maildir-uniq.patch
doublebounce-trim.patch
qmail-smtpd-relay-reject
patch-qmail-1.03-rfc2821.diff
qmail-smtpd.c.size.diff
nullenvsender-recipcount.patch 1.5 with Sami Farin fix
netscape-progress.patch
outgoingip.patch
tarpit.patch
qmail-smtpd-maxrecipients.patch
ext_todo-20030105.patch (silly qmail syndrome)
qmail-smtpd-auth-0.4.3
qmail-1.03-mfcheck.4jk.patch
qmail-smtpd-chkusr-1.0.patch (with several customizations)
qmail-spf-rc5.patch
qregex-20060423.patch
qmail-1.03.originip-field.patch

内容を比較したところ、うちで使っているnetqmail-1.06_qregex_spf_auth_badremote-patchよりqregexのバージョンが新しかった(20040601→20060423)。
qmail-todoというプログラムを追加するパッチが含まれているようだが、とりあえず、それはスルー。

qmail 1.03 all in one (aio) patch version 16 [2008-08-11]
いろいろ含んでいる修正パッチ集 qmail-aio
glaylistとか、遅延応答とかをサポートしているようなので気になるところ。
ただし、2012/02/17現在、パッチ本体がダウンロードできないため、細かいパッチ情報が不明。

HDE Controller
以前、HDE Controller 6.0評価版を入手したところ、qmailを使用していた。
qmail-1.03-34HDE.src.rpm

auto_uids.c                           qmail-default-delivery
badrcptto.patch                       qmail-dk.patch
brand.c                               qmail-linux.csh
ctype.c                               qmail-linux.sh
dot-forward-0.71.tar.gz               qmail-maildir++.patch.fixed
fastforward-0.51.tar.gz               qmail-maildir.patch
patch-qmail-1.03-rfc2821.diff         qmail-smtpd-auth-0.30-iwm.patch
qmail-1.03-linux.init                 qmail-smtpd-auth-0.31-smtpauth.patch
qmail-1.03-message_id.patch           qmail-smtpd-auth-0.31.tar.gz
qmail-1.03.errno.other-program.patch  qmail-smtpd-auth-degrade.patch
qmail-1.03.errno.patch                qmail-smtpd-newline.patch
qmail-1.03.ids.patch                  qmail-smtpd-relay-reject
qmail-1.03.install.patch              qmail-smtpd.init
qmail-1.03.tar.gz                     qmail-smtpd.init.pl
qmail-103-bigdns.patch                qmail-smtpd.init.sub
qmail-aliases                         qmail-spf.patch
qmail-date-localtime.patch            qmail.spec
qmail-default                         qmailqueue-patch

基本、他のパッチで見たことあるやつばかりだった。
qmail-dk.patchもqmail-dk-0.54-auth.patch同等品のようだ。

・玉川大学ICT基盤推進課 DKIM運用情報
qmail-1.03.tar.gz + spamcontrol-216_tgz.binをベースに、DKIM運用を行っている。
IndiMailで配布しているdkimパッチを使用している。

IndiMailnetqmailパッチ群
玉川大のサイトに情報があったので調べてみて発見。
IndiMail自体はメール統合システム。雰囲気としてはqmail-ispと同じような機能を持っていそう。
単独では、qmail-dkim, qmail-greydが利用できそう。
2011/07に更新があったりするので、まだメンテナンスされているようだ。

・Brandon’s Blog: DKIM and DomainKeys for qmail
DomainKeysとDKIMの両方に対応するパッチ。2009年リリース。
qmailタグを見ると、いろんなパッチを作成している。

qmail Combined Patch Details
パッチ集。2010/02/14リリース。
vpopmail環境でDovecotを使えるらしい
その場合の動作概念図(pdf)。
他の人も手順を書いていたりする。Dovecot IMAP Server and Daemontools

Dovecot側を調べてみるとAuthDatabase-VPopMailという情報が出てくる。

現状、courier-imap/pop3を使っているが、最新バージョンではvpopmail環境に対応していないので、乗り換えを検討してもようかと考え中。

とりあえず、そんな状況

— 2012/06/06 追加 —
・fehcomのSPAMCONTROL
玉川大学で使ってる「spamcontrol」部分のこと
netqmailに対するパッチではなく、オリジナルのqmail-1.03に対するパッチとしている。
ESMTP、badmailfrom,badrcptto,
SMTP auth, SMTPS/STARTTLS
QMAILQUEUEに対応らしい

— 2019/08/26 追加 —

notqmail

すっかり更新が止まってしまったnetqmailをもう一度やり直してる感じのもの。

netqmailがv1.0.6だったので、このnotqmail はv1.0.7を名乗っている。

courier-imapをアップデートしようと思ったら・・・



今使っているqmail+vpopmail+courier-imapを最新版にしようと、依存性とか確認してみた。

すると・・・courier-imapが内部的に使う認証モジュールcourier-authlibにて問題発生。
現状は「0.63.0」ですが、「0.60.4よりvchkpwモジュールが削除」とのこと・・・
vchkpwモジュールというのがvpopmailと連動するためのモジュールなのでアップデート不可。

・・・・・・・・そういえば、そうでした。
すっかり忘れていましたよ^^;;;

しっかし、そうなると、代替策をどうするかなぁ・・・
LDAPモジュール or mysqlモジュールを使うようにいろいろシステム変更をする、ということになるのかな

自ホスト宛のメールだけど他のメールサーバに飛ばしたい


自ホスト宛の、通常だとローカル配送になるようなメールだけど、自分では受け取らず、他のメールサーバに飛ばしたい、という時に、sendmailにする設定内容。

sendmailの場合

/etc/mail/sendmail.mc の最後に以下を追加する。

define(`LOCAL_RELAY',`smtp:送付先サーバ名')
dnl LOCAL_USER(`root')
dnl define(`MAIL_HUB',`smtp:送付先サーバ名')
dnl FEATURE(`stickyhost')dnl

この設定にした場合
・ユーザ名@自ホスト のメールは送付先サーバ名に指定したところに送付
・ユーザ名@他ドメイン のメールは、普通にDNSのMXを見て配送

gmailとかにメールを委託している時にも使えることかと思われる。