2006-09-19 Tue
surblhost - 記述されているURIによってスパム判別
- Summary
SURBL (Spam URI Realtime Blocklists) 方式のスパムフィルタ.
記述されているURIによってスパムかどうかを判別する.
- Reference
surblhost - program to identify spam-related websites
http://surblhost.sourceforge.net/
- via
MOONGIFT - Surblhost
http://oss.moongift.jp/intro/i-2414.html
MOONGIFT - Surblhost レビュー
http://oss.moongift.jp/review/i-2415.html
2005-12-14 Wed
全信協スパムクローラー対策
- mod_rewriteを利用
# For spambot <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_REFERER} ^$ RewriteCond %{REMOTE_HOST} marunouchi\.tokyo\.ocn\.ne\.jp$ RewriteCond %{HTTP_USER_AGENT} "^Mozilla/4.0 \(compatible; MSIE 6\.0; Windows 98\)$" RewriteCond %{SERVER_PROTOCOL} ^HTTP/1\.0$ RewriteRule .* - [F,L] </IfModule>
- [2006-04-17] 追記
World Wide Walker: 全信協spamクローラのフィルタ より引用
より多くの spam crawler 対策が可能に.
# For spambot <IfModule mod_rewrite.c> RewriteEngine On RewriteOptions inherit RewriteCond %{HTTP_REFERER} ^$ RewriteCond %{REMOTE_HOST} marunouchi\.tokyo\.ocn\.ne\.jp$ [OR] RewriteCond %{REMOTE_HOST} tokyo-ip\.dti\.ne\.jp$ [OR] RewriteCond %{REMOTE_HOST} odn\.ad\.jp$ [OR] RewriteCond %{REMOTE_HOST} tky\.mesh\.ad\.jp$ [OR] RewriteCond %{REMOTE_HOST} ap\.gmo-access\.jp$ RewriteCond %{HTTP_USER_AGENT} "^Mozilla/4\.0 \(compatible; MSIE 6\.0; Windows 98\)$" RewriteCond %{SERVER_PROTOCOL} ^HTTP/1\.0$ RewriteRule .* - [F,L] </IfModule>
- 注意
通常,RewriteRule は下層ディレクトリにも引き継がれる.
別途 RewriteEngine On による Rewrite 設定をしている場合には,
以下の記述がないとルールが上書きされるようだ.
RewriteEngine On RewriteOptions inherit
- Reference
KMsWiki: WiKicker - このWikiForumを提供しているWikiEngine
http://www.xdelta.net/wiki/WiKicker.html
羊堂日記 - 2005-06-27
http://sheepman.parfait.ne.jp/20040627.html#p01
羊堂本舗 ちょき - Rewrite Rule
http://sheepman.parfait.ne.jp/wiki/RewriteRule
void GraphicWizardsLair( void ); // - 2004-06-24
http://www.otsune.com/diary/2004/06/24.html
World Wide Walker: 全信協spamクローラのフィルタ
http://yoosee.net/d/archives/2006/04/04/002.html
2005-03-09 Wed
JCaptcha
- Summary
Java で captcha を作る.
- Reference
SourceForge - JCaptcha
http://jcaptcha.sourceforge.net/
- via
www.textfile.org - 2005-03-09
http://www.hyuki.com/tf/200503#i20050309134933
2005-03-02 Wed
Mew4 + bsfilter
- bsfilter のインストール
# aptitude install bsfilter
- spam の学習
$ bsfilter --add-clean $HOME/Mail/inbox/*
$ bsfilter --add-spam $HOME/Mail/spam/*
$ bsfilter --update
- .emacs の編集
mua/mew4/emacs.el を $HOME/.emacs に追加
(setq mew-spam: "X-Spam-Flag:")
- .mew.el の編集
mua/mew4/mew.el を $HOME/.mew.el に追加
; put "D" (defun mew-spam-bsfilter (val) (let ((case-fold-search t)) (if (string-match "yes" val) ?D))) ; put "o +spam" at inc ;(defun mew-spam-bsfilter (val) ; (let ((case-fold-search t)) ; (if (string-match "yes" val) "+spam"))) (setq mew-inbox-action-alist '(("X-Spam-Flag:" mew-spam-bsfilter))) ; for "ls" (learn-spam) (setq mew-spam-prog "bsfilter") (setq mew-spam-prog-args '("-C" "-s" "-u")) ; for "lh" (learn-ham) (setq mew-ham-prog "bsfilter") (setq mew-ham-prog-args '("-c" "-S" "-u")) ; for "bm" (mark-spam) (define-key mew-summary-mode-map "bm" 'mew-summary-bsfilter-mark-region) (defun mew-summary-bsfilter-mark-region (&optional arg) "study/judge the region and put the '*' mark onto spams. need to re-learn if judgment of bsfilter is wrong" (interactive "P") (mew-pickable (let ((func 'mew-summary-pick-with-cmd) (mew-inherit-grep-cmd "bsfilter -a --list-spam")) (mew-summary-pick-body func t nil 'nopattern)))) ; show X-Spam-Flag and X-Spam-Probability in message buffer (setq mew-field-spec (reverse (append (list (car (reverse mew-field-spec))) '(("^X-Spam-Probability:$" t) ("^X-Spam-Flag:$" t)) (cdr (reverse mew-field-spec)))))
- Reference
bsfilter - bsfilter with mew
http://bsfilter.org/mew.html
Debian パッケージディレクトリ検索 (バイナリ) - bsfilter
2005-03-02 Wed
A Plan for Spam - スパムへの対策
- Summary
Paul Graham 氏による文書.

- Reference
A Plan for Spam
http://www.paulgraham.com/spam.html
スパムへの対策 - A Plan for Spam (和訳)
http://www.shiro.dreamhost.com/scheme/trans/spam-j.html
本: ハッカーと画家 コンピュータ時代の創造者たち
2005-02-04 Fri
Project Honey Pot
- Summary
アドレス収集ロボットを利用したスパム業者を捕捉するための分散型システム.
個々の電子メールアドレスに固有のタグを生成し,電子メールアドレスが収集された時間,収集者を記録する.
- Reference
Project Honey Pot
http://www.projecthoneypot.org/
- via
Wired News - 2005-01-27 - スパム業者を捕捉する分散型システム『プロジェクト・ハニー・ポット』
http://hotwired.goo.ne.jp/news/culture/story/20050127204.html
2005-01-07 Fri
GD::SecurityImage
- Summary
計算機で解読困難かつ人には解読可能な文字の画像 (captcha) を作るモジュール.
- Reference
GD::SecurityImage
- via
www.textfile.org - 2005-01-06
http://www.hyuki.com/tf/20050106221944.html
2004-12-29 Wed
MovebleType のコメントスパム対策
- MT-Blacklist
Avoid Comment Spam の後継らしい.
MovableType のコメントスパムのブラックリスト
- scode
MovableType のコメントスパム対策プラグイン
画像に書いてあるセキュリティコードを入力しないとコメントを入力できないようにする.
- テンプレート と mt-comments.cgi の編集
コメントを書き込む際に,hidden で変数を埋め込む.
mt-comments.cgi で snoop に値が入っていなければ書き込めない.
snoop の部分は任意の文字列にしたほうが良さそう.
me-comments.cgi に直接アクセスするコメントスパムに対して有効.
コメント投稿フォームからの手動コメントスパムには対応できない.
- テンプレートの編集
Individual data entry
Comment Listing Template
Comment Preview Template
Comment Error Page
上記テンプレートの<form>タグの間に以下を追加
<input type="hidden" name="snoop" value="goaway" />- mt-comments.cgi の編集
mt-comments.cgi を開いて以下のように編集.
use strict; use CGI qw(:standard); if ($ENV{'REQUEST_METHOD'} eq "POST") { my $data = param('snoop'); die unless ($data); }
- Reference
MT-Blacklist - A Movable Type Anti-spam Plugin
http://www.jayallen.org/projects/mt-blacklist/
MT Extensions - Avoid Comment Spam
http://www.nonplus.net/software/mt/AvoidCommentSpam.htm
James Seng's Blog - 2003-10-09 - Solution for comments spams
http://james.seng.cc/archives/000145.html
Burningbird - 2002-10-29 - Comment Spam Quick Fix
http://weblog.burningbird.net/archives/2002/10/29/comment-spam-quick-fix
無印涼品 - 2004-12-17 - Movable Typeのコメントスパム対策
http://mujirushiryohin.com/archives/000139.html
- via
mixi - ブロガーコミュニティ
http://mixi.jp/view_bbs.pl?id=336113
2004-12-12 Sun
spam mail ban list
- Blacklist
domains banned from znet.com
http://www.znet.com/blocked-domains.html
サーバ管理者のスパム対策 - qmail - blacklist
http://spam.h1r.org/qmail/bl.txt
- Reference
サーバ管理者のスパム対策
http://spam.h1r.org/
2004-11-19 Fri
メールの不正中継を確認
- Summary
使えないサイトもアリ
http://www.rbl.jp/svcheck.php
http://www.abuse.net/relay.html
http://www.paladincorp.com.au/unix/spam/spamlart/
http://www.nanet.co.jp/rlytest/relaytest.html
telnet relay-test.mail-abuse.org
- Reference
kobitosan.net - postfix - Anti Spam on Postfix
http://www.kobitosan.net/postfix/antispam.html
2004-11-07 Sun
X-AntiAbuse
- Summary
spamと思われるメールにどこかで自動的に付加されるヘッダらしいが現在調査中.
Eximが付加しているらしいという報告も.
- Reference
Nano domain - 2004-05-25
http://www.hakusan.tsg.ne.jp/tjkawa/pdiary/200405.jsp#25
2004-10-19 Tue
DomainKeys
- DomainKeysとは
Yahoo!が提唱しているspam防止技術.
主にFrom詐称を防ぐことが目的の電子署名技術.
送信元を詐称していることを検知できるので,GMailを詐称したフィッシング詐欺が防止できる.
DomainKeysによる電子署名がされたメールはDomainKey-Signatureヘッダが埋め込まれている.
GMailがDomainKeysによる電子署名を開始したので,gmail.comを詐称するspamメールは正当性を検証することが可能になった.
- Reference
Yahoo! Anti-Spam Resource Center - DomainKeys
http://antispam.yahoo.com/domainkeys
- via
Slashdot Japan - GMailがDomainKeysによる電子署名を開始
http://slashdot.jp/article.pl?sid=04/10/18/0727205&topic=66
2004-10-14 Thu
悲しいかな…
- 阻止率99%のスパム対策方式の研究報告[2004-10-08-9]を試した
spamメールがぜんぜん届かなくなった!
友達からのメールもrejectされていた.
- 原因
Yahoo! BB (user@ybb.ne.jp) からのメールで
web10303.mail.mci.yahoo.co.jp が
[ルール2] 逆引きFQDNの最下位の名前が,5個以上連続する数字を含む
に適合してしまう.
2004-10-08 Fri
阻止率99%のスパム対策方式の研究報告
- Summary
Posftix以外の不可ソフトウェアを使用することなく,
spamメールとVirusメールを合わせた不正メールの約99%を阻止する方法.
不正メールを阻止するための Postfix の設定も記載.
- 従来のspam対策
送信者ドメインの検査
内容の検査
オープンリレーの禁止
クライアントのIP,ドメイン名の検査
- 新しいspam対策方式のコンセプト
メール中継サーバからのSMTPアクセスを受け入れ,直接のSMTPアクセスは拒絶する.
FQDN (Fully Qualified Domain Name - 完全修飾ドメイン名)の特徴を見ることで実現する.
- クライアント制限の規則
- 一般規則
逆引き失敗
[ルール1] 逆引きFQDNの最下位(左端)の名前が,数字以外の文字列で分断された二つの数字列を含む
[ルール2] 逆引きFQDNの最下位の名前が,5個以上連続する数字を含む
[ルール3] 逆引きFQDNの上位3階層を除き,最下位または下位から2番目の名前が数字で始まる
[ルール4] 逆引きFQDNの最下位の名前が数字で終わり,かつ下位から2番目の名前が,1個のハイフンで分断された二つの数字列を含む
[ルール5] 逆引きFQDNが5階層以上で,下位2階層の名前がともに数字で終わる
[ルール6] 逆引きFQDNの最下位の名前が「dhcp」,「dialup」,「ppp」,または「adsl」で始まり,かつ数字を含む
- ブラックリスト
末端ホスト名が十六進番号を含む
末端ホスト名が、番号を表す英字を含む
メール中継サーバであるかのようなFQDNである
ドメインを代表するメールサーバがスパムを送信する
- ホワイトリスト
逆引き失敗
逆引きFQDNが複数のIPアドレスに対応している
ホスト名が一般規則に引っかかる
エンドユーザー用回線を利用している
- その他のフィルタ
HELOコマンドの検査
送信者ドメインの検査
内容の検査
- 統計
| 拒絶条件 | 阻止率増分 | 阻止率累計 |
| 逆引き失敗 | 38.4 | 38.4 |
| [ルール1] | 44.5 | 82.9 |
| [ルール2] | 7.6 | 90.5 |
| [ルール3] | 6.5 | 97.0 |
| [ルール4] | 0.9 | 97.9 |
| [ルール5] | 0.3 | 98.2 |
| [ルール6] | 0.0 | 98.2 |
| ブラックリスト | 0.5 | 98.7 |
| HELOコマンド | 0.4 | 99.1 |
| 送信者ドメイン | 0.0 | 99.1 |
| 内容 | 0.0 | 99.1 |
一般規則のみで98.2%の効果.
- Posftix での設定
- /etc/postfix/main.cf に以下を追加
smtpd_client_restrictions = permit_mynetworks, check_client_access regexp:/etc/postfix/client_restrictions, reject_unknown_client
- /etc/postfix/client_restrictions に以下を記述
# Client restriction specifications for Postfix aiming at anti-UCE
# Contributed by ASAMI Hideo (Japan), Jun. 2004
# Refer to: http://www.gabacho-net.jp/en/anti-spam/
#
# To use this file, add following lines into the /etc/postfix/main.cf file:
#
# smtpd_client_restrictions =
# permit_mynetworks,
# check_client_access regexp:/etc/postfix/client_restrictions,
# reject_unknown_client
#
# where "client_restrictions" is the name of this file.
#
# *** WHITE LIST ***
#
# When you find a proper mail relay server which is rejected by the rules
# specified below, insert here a permission specification taking a leaf from
# the following examples. Note that the dotted decimal notation of an IP
# address is available only when reverse lookup fails.
#
#/^223\.123\.45\.67$/ OK
#/^223-123-45-67\.example\.net$/ OK
#
# *** BLACK LIST ***
#
# When you find a UCE sender's FQDN which is not rejected by the generic
# protection rules specified below, insert here a denial specification taking
# a leaf from the following practical examples. You should specify a subdomain
# name or a substring together with the domain name if possible so that you can
# avoid rejecting proper mail relay servers in the same domain.
#
# pD9E799A1.dip.t-dialin.net (hexadecimal used)
/\.dip\.t-dialin\.net$/ 450 domain UCE-blacklisted
#
# ool-43511bdc.dyn.optonline.net (hexadecimal used)
/\.dyn\.optonline\.net$/ 450 domain UCE-blacklisted
#
# zaq3d7d6ded.zaq.ne.jp (hexadecimal used)
/^zaq.+\.zaq\.ne\.jp$/ 450 domain UCE-blacklisted
#
# user-0cetcbr.cable.mindspring.com
# user-vc8fldi.biz.mindspring.com
/^user.+\.mindspring\.com$/ 450 domain UCE-blacklisted
#
# rt-dkz-1699.adsl.wanadoo.nl
# c3eea5738.cable.wanadoo.nl (hexadecimal used)
/\.(adsl|cable)\.wanadoo\.nl$/ 450 domain UCE-blacklisted
#
# pr86.internetdsl.tpnet.pl
# fq217.neoplus.adsl.tpnet.pl
# pa148.braniewo.sdi.tpnet.pl
/\.(internetdsl|adsl|sdi)\.tpnet\.pl$/ 450 domain UCE-blacklisted
#
# ACBBD419.ipt.aol.com (hexadecimal used)
/\.ipt\.aol\.com$/ 450 domain UCE-blacklisted
#
# *** GENERIC PROTECTION ***
#
# [rule 1]
# ex: evrtwa1-ar3-4-65-157-048.evrtwa1.dsl-verizon.net
# ex: a12a190.neo.rr.com
/^[^\.]*[0-9][^0-9\.]+[0-9]/ 450 may not be mail exchanger
#
# [rule 2]
# ex: pcp04083532pcs.levtwn01.pa.comcast.net
/^[^\.]*[0-9]{5}/ 450 may not be mail exchanger
#
# [rule 3]
# ex: 398pkj.cm.chello.no
# ex: host.101.169.23.62.rev.coltfrance.com
/^([^\.]+\.)?[0-9][^\.]*\.[^\.]+\..+\.[a-z]/ 450 may not be mail exchanger
#
# [rule 4]
# ex: wbar9.chi1-4-11-085-222.dsl-verizon.net
/^[^\.]*[0-9]\.[^\.]*[0-9]-[0-9]/ 450 may not be mail exchanger
#
# [rule 5]
# ex: d5.GtokyoFL27.vectant.ne.jp
/^[^\.]*[0-9]\.[^\.]*[0-9]\.[^\.]+\..+\./ 450 may not be mail exchanger
#
# [rule 6]
# ex: dhcp0339.vpm.resnet.group.upenn.edu
# ex: dialupM107.ptld.uswest.net
# ex: PPPbf708.tokyo-ip.dti.ne.jp
# ex: adsl-1415.camtel.net
/^(dhcp|dialup|ppp|adsl)[^\.]*[0-9]/ 450 may not be mail exchanger
- 拒絶記録抽出用シェルスクリプト
#!/bin/sh echo "Content-Type: text/plain" echo echo "Mail reject log" echo cat /var/log/maillog.4 /var/log/maillog.3 /var/log/maillog.2 /var/log/maillog.1 /var/log/maillog \ | grep 'reject:' \ | gawk ' BEGIN { count=0 } { printf "[%s %2d %s] %s\n", $1, $2, $3, substr($0, match($0, /reject:/)) ++count } END { print "\ncount =", count } '
- Reference
阻止率99%のスパム対策方式の研究報告
http://www.gabacho-net.jp/anti-spam/anti-spam-system.html
- via
cl.pocari.org - 2004-09-06
http://cl.pocari.org/2004-09.php#2004-09-06-3
2004-10-08 Fri
Using a Hosts File To Make The Internet Not Suck (as much)
- Summary
Web の広告をブロックする hosts ファイル
- Reference
Using a Hosts File To Make The Internet Not Suck (as much)
http://someonewhocares.org/hosts/
- via
Passion For The Future - 2004-09-12
http://www.ringolab.com/note/daiya/archives/002093.html
cl.pocari.org - 2004-09-13
http://cl.pocari.org/2004-09.php#2004-09-13-2
2004-02-26 Thu
メールアドレスをエンティティ化する
- Summary
Orbium: spamよけ! webでメールアドレスは公開したいけどspamはこまる. を参考にして,
[2004-02-24-6] をさらに強化.JavaScriptでメールアドレス出力 + メールアドレスエンティティ化
- Reference
Orbium - 2004-02-25
http://sasapanda.com/toshi/archives/000215.html
HTMLエンティティ化
http://hp.vector.co.jp/authors/VA022023/javascript/make_html_entity-ja.htm
2004-02-24 Tue
SpamよけJavaScript
- Summary
JavaScriptのdocument.writeでメールアドレスを表示することによりspamに対抗できるかも.
var a ="example"; var b ="example.com"; var c ="メールはこちら!"; document.write('<a href="mailto:' + a + '@' + b + '">' + c + '</a>');
- Reference
Red Wing - SpamよけJavaScript
http://homepage1.nifty.com/redwing/javasc/javasc.html
2003-10-21 Tue
制限付きサイトに指定したほうがよいサイトのリスト
- 設定方法
インターネットオプション - セキュリティ - 制限付きサイト
- 一覧
*.a8.net
*.advertising.com
*.avenueainc.com
*.bfast.com
*.brilliantdigital.com
*.custom-click.com
*.cyberclick.net
*.doubleclick.com
*.doubleclick.ne.jp
*.doubleclick.net
*.fastclick.co.jp
*.fastclick.com
*.fastclick.net
*.fistfuck.co.jp
*.fistfuck.com
*.hitbox.com
*.jword.jp
*.mediaplex.com
*.mylog.co.kr
*.offshoreclicks.com
*.porntrack.com
*.sexlist.com
*.sextracker.com
*.speedbit.com
*.textad.net
*.thecounter.com
*.trafficgate.net
*.ultraranking.com
*.valueclick.com
*.valueclick.jp
*.valueclick.ne.jp
*.valueclick.net
*.valuecommerce.com
*.valuecommerce.ne.jp
*.websponsors.com
*.webtrendslive.com
*.wtlive.com
*.x10.com
- Reference
2ch - スパイウェア削除ソフトSpybot 7 - 16,17
http://pc.2ch.net/test/read.cgi/sec/1066451915/16-17
2003-07-01 Tue
spam filter - スパムフィルタ
- SpamAssassin
Perl で書かれた spam filter
http://www.spamassassin.org/
- Bogofilter
SourceForge - Bogofilter
http://bogofilter.sourceforge.net/
- bsfilter
Ruby で書かれた spam filter
mew でも利用可能.日本製.
http://bsfilter.org/
http://bsfilter.org/mew.html
2003-01-18 Sat
Debian メーリングリストにおける広告のポリシー
- 目的
スパムに対抗すること
- 内容
Debianメーリングリストは,対価を支払えば商用広告を許可する.
広告料は "Software in the Public Interest" (SPI) への 1000 米ドル以上の寄付
広告を投稿した時点で広告を投稿した人は以下の意思が有るとみなされる
1. 料金に対する責務を負うことを受諾した.
2. あなたの広告に関する,あなたあるいは他者からのあらゆる法的な要求から,リストの管理者を免責する.
3. 延滞金の回収に要した法的・商的な費用を支払う.