リファラスパム対策

最終更新日: 2014.02.19

<<トップページ <<新着情報 <<サイト内検索 <<CentOSで自宅サーバー構築 <<Scientific Linuxで自宅サーバー構築

■概要

AWStatsでは、Apacheアクセスログに含まれているReferer(リンク元)情報を集計してアクセス数の多い順に表示してくれる機能があり、この機能により自分のサイトをリンクしてくれているサイトの統計がわかるが、この機能を悪用してアダルトサイト等のアドレスをリンク元として上位に表示させるため、リンク元を偽装した不正なアクセスが大量に行われる場合がある。これをリファラスパムという。
ここでは、AWStatsやwebalizerの解析結果で、リンク元にリファラスパムアドレスが表示されないようにするため、リンク元がリファラスパムからのアクセスはログに記録しないようにする。


■Apache設定

[root@fedora ~]# vi /etc/httpd/conf.d/referer_spam.conf ← リファラスパムアクセスログ破棄用設定ファイル作成
Refererがリファラスパムアドレスからのアクセスの場合は環境変数no_logを設定するようにする
※下記リファラスパムアドレスは当サイトログに記録されたアドレスで、主にアダルトサイトのアドレスである
SetEnvIfNoCase Referer (\.|/)1marketingguru\.com no_log
SetEnvIfNoCase Referer (\.|/)\.ru no_log
SetEnvIfNoCase Referer (\.|/)\.su no_log
SetEnvIfNoCase Referer (\.|/)aawebmastesr\.com no_log
SetEnvIfNoCase Referer (\.|/)admax-express\.com no_log
SetEnvIfNoCase Referer (\.|/)asianpornclips\.t35\.com no_log
SetEnvIfNoCase Referer (\.|/)ask-the-songwriter\.com no_log
SetEnvIfNoCase Referer (\.|/)assfuckdolls\.com no_log
SetEnvIfNoCase Referer (\.|/)blogspot\.com no_log
SetEnvIfNoCase Referer (\.|/)caindifest\.com no_log
SetEnvIfNoCase Referer (\.|/)cerfdom\.com no_log
SetEnvIfNoCase Referer (\.|/)com\.ar no_log
SetEnvIfNoCase Referer (\.|/)congregationdc\.com no_log
SetEnvIfNoCase Referer (\.|/)deweight\.com no_log
SetEnvIfNoCase Referer (\.|/)doktor-info\.de no_log
SetEnvIfNoCase Referer (\.|/)edringtonoptical\.com no_log
SetEnvIfNoCase Referer (\.|/)fialf\.cn no_log
SetEnvIfNoCase Referer (\.|/)formspring\.me no_log
SetEnvIfNoCase Referer (\.|/)gamehram\.ru no_log
SetEnvIfNoCase Referer (\.|/)global-wealth-management\.com no_log
SetEnvIfNoCase Referer (\.|/)haarpoint\.net no_log
SetEnvIfNoCase Referer (\.|/)harfordweb\.com no_log
SetEnvIfNoCase Referer (\.|/)heartsdesireconcerts\.com no_log
SetEnvIfNoCase Referer (\.|/)hp-www\.com no_log
SetEnvIfNoCase Referer (\.|/)ilpharm\.com no_log
SetEnvIfNoCase Referer (\.|/)inet-d\.com no_log
SetEnvIfNoCase Referer (\.|/)inspiringwebs\.com no_log
SetEnvIfNoCase Referer (\.|/)interracial.porn.c13a\.com no_log
SetEnvIfNoCase Referer (\.|/)jilview\.com no_log
SetEnvIfNoCase Referer (\.|/)joncard\.com no_log
SetEnvIfNoCase Referer (\.|/)krankenpflegedeutschland\.wordpress\.com no_log
SetEnvIfNoCase Referer (\.|/)kwiz\.biz no_log
SetEnvIfNoCase Referer (\.|/)ler-bochka\.ru no_log
SetEnvIfNoCase Referer (\.|/)lericettedicucina\.it no_log
SetEnvIfNoCase Referer (\.|/)locketech\.com no_log
SetEnvIfNoCase Referer (\.|/)mathesoninteractive\.com no_log
SetEnvIfNoCase Referer (\.|/)mckmac\.com no_log
SetEnvIfNoCase Referer (\.|/)milcard\.com no_log
SetEnvIfNoCase Referer (\.|/)mp3ll\.net no_log
SetEnvIfNoCase Referer (\.|/)mygardenlink\.com no_log
SetEnvIfNoCase Referer (\.|/)netvibes\.com no_log
SetEnvIfNoCase Referer (\.|/)neumannsouthey\.com no_log
SetEnvIfNoCase Referer (\.|/)newsexphone\.com no_log
SetEnvIfNoCase Referer (\.|/)ohab-accounting\.com no_log
SetEnvIfNoCase Referer (\.|/)pharlo\.com no_log
SetEnvIfNoCase Referer (\.|/)phenterminert\.com no_log
SetEnvIfNoCase Referer (\.|/)planettoyko\.com no_log
SetEnvIfNoCase Referer (\.|/)plumper.hardcore.e13a\.com no_log
SetEnvIfNoCase Referer (\.|/)pornstars\.name no_log
SetEnvIfNoCase Referer (\.|/)portalconference\.com no_log
SetEnvIfNoCase Referer (\.|/)pqgraphica\.com no_log
SetEnvIfNoCase Referer (\.|/)prophotorestoration\.com no_log
SetEnvIfNoCase Referer (\.|/)qlporn\.com no_log
SetEnvIfNoCase Referer (\.|/)rak-economic-dept\.com no_log
SetEnvIfNoCase Referer (\.|/)raska-kaffiya\.com no_log
SetEnvIfNoCase Referer (\.|/)removed\.com no_log
SetEnvIfNoCase Referer (\.|/)rubanke\.ru no_log
SetEnvIfNoCase Referer (\.|/)seawolfmm\.com no_log
SetEnvIfNoCase Referer (\.|/)sekwebdesign\.com no_log
SetEnvIfNoCase Referer (\.|/)senauka\.ru no_log
SetEnvIfNoCase Referer (\.|/)slouchco\.com no_log
SetEnvIfNoCase Referer (\.|/)spectronixresearch\.com no_log
SetEnvIfNoCase Referer (\.|/)spiraltouch\.com no_log
SetEnvIfNoCase Referer (\.|/)stlmortgageconsultants\.com no_log
SetEnvIfNoCase Referer (\.|/)sweetplace\.de no_log
SetEnvIfNoCase Referer (\.|/)taskflex\.com no_log
SetEnvIfNoCase Referer (\.|/)technologyevangeslist\.com no_log
SetEnvIfNoCase Referer (\.|/)thebraincell\.net no_log
SetEnvIfNoCase Referer (\.|/)treatstreet\.net no_log
SetEnvIfNoCase Referer (\.|/)tumblr\.com no_log
SetEnvIfNoCase Referer (\.|/)tuning-tech\.de no_log
SetEnvIfNoCase Referer (\.|/)usall\.de no_log
SetEnvIfNoCase Referer (\.|/)videoseighteen\.com no_log
SetEnvIfNoCase Referer (\.|/)visionecon\.com no_log
SetEnvIfNoCase Referer (\.|/)web-prose\.com no_log
SetEnvIfNoCase Referer (\.|/)wfpearsonatgmail\.com no_log
SetEnvIfNoCase Referer (\.|/)xoweight\.com no_log


[root@fedora ~]# vi /etc/httpd/conf/httpd.conf ← Apache設定ファイル編集
CustomLog logs/access_log combined env=!no_log ← 環境変数no_logが設定されている場合はログに記録しないようにする

[root@fedora ~]# /etc/rc.d/init.d/httpd reload ← Apache設定反映
Reloading httpd configuration (via systemctl):             [  OK  ]

■メンテナンス

AWStatsの解析結果からリファラスパムを監視し、発見したら以下の手順で対処する

(1)Apacheログからリファラスパムを除去するスクリプトを作成
[root@fedora ~]# vi refererlogdel.sh ← Apacheログリファラスパム削除スクリプト作成
#!/bin/bash
for host in `cat /etc/httpd/conf.d/referer_spam.conf|awk '{print $3}'|sed -e 's/^(.*)\([^ ]*\)/\1/p' -e d`
do
    grep "http://.*${host}" /var/log/httpd/access_log > /dev/null
    if [ $? -eq 0 ]; then
        echo "${host} `grep "http://.*${host}" /var/log/httpd/access_log|wc -l`"
        sed -i "/http:\/\/.*${host}/d" /var/log/httpd/access_log
    fi
done
/etc/rc.d/init.d/httpd restart

(2)AWStatsログからリファラスパムを除去するスクリプトを作成
[root@fedora ~]# vi awstatslogchk.sh ← AWStatsログリファラスパム削除スクリプト作成
#!/bin/bash
if [ $# -eq 0 ]; then
    log=/var/lib/awstats/awstats*.txt
else
    log=/var/lib/awstats/awstats${1}*.txt
fi

for host in `cat /etc/httpd/conf.d/referer_spam.conf|awk '{print $3}'|sed -e 's/^(.*)\([^ ]*\)/\1/p' -e d`
do
    grep "$host" $log > /dev/null
    if [ $? -eq 0 ]; then
        echo "$host delete"
        sed -i "/$host/d" $log
    fi
done

(3)リファラスパム除去
例としてweb-prose.comをリファラスパムアドレスとして追加する。
[root@fedora ~]# echo "SetEnvIfNoCase Referer (\.|/)web-prose\.com no_log" >> /etc/httpd/conf.d/referer_spam.conf
 ← リファラスパムアドレスを追加※アドレス内の「.」の前に「\」を挿入すること

[root@fedora ~]# sh refererlogdel.sh ← Apacheログリファラスパム削除スクリプト実行

[root@fedora ~]# sh awstatslogchk.sh ← AWStatsログリファラスパム削除スクリプト実行

[root@fedora ~]# /root/awstatsreport.sh fedorasrv.com /var/www/awstatsreport ← AWStats実行



■関連コンテンツ




▲このページのトップへ戻る

プライバシーポリシー