Re: Broken Subject in Japanese Spam
山田邦博です。
Masamichi Takatsu <taka2@doga.jp> writes:
> 今回、
>
>> elsif(/[\200-\377]/io) { &refile(__LINE__,"junk",$n); last;}
>
> これをやろうかどうしようか悩んでたわけですが、手元のメールをちょっと調べて
> みたら、cron の実行結果で、日本語なメッセージ(EUC)を出してたのがそのまま、
> 8bit目が立った EUC で届いてるのがありました。
>
> crontab からの報告は white list に入れておけとか、crontab に「| nkf」 って
> 入れとけ、とか、まあ対策はありますが抜けがあると怖いので、結局、
> [\x80-\x9f\xe0-\xff] として、EUC は通して、Shift_JIS のみ没にすることに
> しました。
LANG=C を入れておけば良いような。(それでもダメなのが私の所にもあるな。)
私は、自分のサイトからの管理用のメイルは専用のアカウントとして、ノーチェッ
クです。 qmail だと簡単。
> ちなみに、私はメール処理の流れとして、
>
> ・ClamAV で、virus チェック
> ・自前の perl script で、日本語じゃないメールなどを除外
> ・ベイジアンフィルタ(bsfilter)でチェック
私のやり方とはずいぶん違いますね。 私は、基本的に virus チェックはしな
い。 Virus メイルが来たら、必ず 開く 事にしています。 MUA が mew なの
で問題になりません。(実行ファイルをいきなり実行するような馬鹿なソフト
は使いません。) 開いたら、binary を保存して、strings で除いてみる。 記
念に取っておく。(ちなみに、当サイトには Windows マシンがない。)
私の(個人の)サイトでのメイル処理は;
Router で特別しつこい IP をはねる。
qmail (ソース書き換えあり)で;
IP を paranoia チェック(追加)
bad remote host(追加)
HELO
bad mail from/to 等
good mail to(追加)
IP によってはこれらの全部あるいは一部が省略されます。
これで受け取ってしまったメイルは perl script で;
文字コード
サイズ
Bcc
添付ファイルの内実行形式のもの
ついでに HTML メイル
等などを、基本的に個別アカウント毎に拒否設定するよ
うにしています。(何を拒否するかはアカウントによる)
個人の小さいサイトならではの技で、大きなサイトでは使えないかも。例外設
定がやたら多くなりそうで。
実行形式と HTML を全面拒否にしたら virus メイルはゼロになりました。
ベイジアンフィルタなんぞ糞食らえ。
> 感じです。iso-2022-jp を名乗る Shift_JIS なメールは、文字コードの認識や
> 単語分解がちゃんと出来てなかったのでしょうか。
もし、私が spammer だったら、そんな面倒なことはせんな。 単純に挿入。
charset も決め打ち。 どうせ ゴミ メイルなんだから。
>> もっとも IP 逆引きの手段は MUA でやるのは無理かな?
>
> 私のとこは sendmail を使ってるのですが、Received: を見れば、MUA でも
> 逆引きできるところからかどうかチェックできそうです。
>
> Received: from ほげほげ (逆引き名 [IPアドレス]) by 自分とこのメールサーバ
>
> ってところで、逆引き名が空のを探せばOK。
qmail だと 最初の行に Return-Path: <hogehoge@foo.bar> が付いて来るので
もっと簡単かも。
> 調べてみたら、スパムじゃないメールには、確かに逆引きできないとこからの
> メールはほとんどありません。とはいえ、0 じゃないのが難しいところ。
この例外設定がやらしい所です。 よほど小さいサイトでないとサーバレベル
ではやりにくいでしょう。 私のような個人のサイトでも相当の期間をかけて
(時間はたいしたことないが)地道にやっています。
> 文科省の科学技術週間 ポスタークイズ http://stw.mext.go.jp/20060301/ への
> 応募で届いた「応募受け付けましたメール」が逆引き出来ませんでした。
> ( stw.mext.go.jp → 210.175.225.214 の正引きはできるけどねぇ…)
>
> ダメじゃん文科省。
私に言わせれば、管理の基本が出来ていないだけ。 情報漏洩問題等のレベル
以前でしかないという事。
こんなレベルの管理の所では、何が起こっても不思議ではない。
-...-
先の router での spam IP チェックですが、iptables を使ったパケットフィ
ルタとして以下のようなものを使っています。(抜粋)
外部から smtp が来たら別チェイン(ckspam)に分岐してつかいます。
結構強力です (.cn からと思われるものが多い。) が、地道な設定が必要です。
---
SPAMMERS="/etc/spammers.ip" # File of IP list of Spammers
...
######################
### Check spammers ###
######################
echo -n ".Check SPAMMERS."
if [ -r $SPAMMERS ]; then
while read ip cmt; do
ip=${ip##\#*} # remove comment
if [ -n "$ip" ]; then
# iptables -A ckspam -s $ip -p tcp --dport smtp \
# -m limit --limit 5/min -j LOG --log-prefix "SPAMMER: "
iptables -A ckspam -s $ip -p tcp --dport smtp -j DROP
fi
done < $SPAMMERS
fi
iptables -A ckspam -j RETURN
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735