memo.xight.org

日々のメモ

カテゴリ : Anti-spam

1ページ目 / 全2ページ

今日の form spam

List

2009-11-01 01:40:01 beagle.monkeybrains.net
2009-11-01 01:55:39 amontpellier-152-1-67-248.w83-201.abo.wanadoo.fr
2009-11-01 02:05:18 beagle.monkeybrains.net

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

全信協スパムクローラー対策

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

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

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

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

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

悲しいかな…

阻止率99%のスパム対策方式の研究報告[2004-10-08-9]を試した

  spamメールがぜんぜん届かなくなった!
  友達からのメールもrejectされていた.

原因

  Yahoo! BB (user@ybb.ne.jp) からのメールで
  web10303.mail.mci.yahoo.co.jp が

[ルール2] 逆引きFQDNの最下位の名前が,5個以上連続する数字を含む

  に適合してしまう.

阻止率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

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

メールアドレスをエンティティ化する

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

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

制限付きサイトに指定したほうがよいサイトのリスト

Internet Explorer での設定方法

インターネットオプション - セキュリティ - 制限付きサイト

一覧

*.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