リファラスパム対策

最終更新日: 2017.02.18

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

■概要

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


■Apache設定

[root@centos ~]# 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
SetEnvIfNoCase Referer (\.|/)asapautos\.ca no_log
SetEnvIfNoCase Referer (\.|/)outlet-tipps\.de no_log
SetEnvIfNoCase Referer (\.|/)alecso\.net no_log
SetEnvIfNoCase Referer (\.|/)wie-abnehmen\.org no_log
SetEnvIfNoCase Referer (\.|/)rentor\.de no_log
SetEnvIfNoCase Referer (\.|/)xn--gebrauchtwagenhndler-pzb\.de no_log
SetEnvIfNoCase Referer (\.|/)rdbooks\.com no_log
SetEnvIfNoCase Referer (\.|/)xn--gnstig-fliegen-gsb\.de no_log
SetEnvIfNoCase Referer (\.|/)tourextreme\.ru no_log
SetEnvIfNoCase Referer (\.|/)\.kz no_log


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

[root@centos ~]# systemctl reload httpd ← Webサーバー設定反映※CentOS7の場合
[root@centos ~]# /etc/rc.d/init.d/httpd reload ← Webサーバー設定反映※CentOS6,5の場合
httpd を再読み込み中:                                      [  OK  ]

■メンテナンス

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

(1)Apacheログからリファラスパムを除去するスクリプトを作成
[root@centos ~]# 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
which systemctl > /dev/null 2>&1
if [ $? -eq 0 ]; then
    systemctl restart httpd
else
    /etc/rc.d/init.d/httpd restart
fi

(2)AWStatsログからリファラスパムを除去するスクリプトを作成
[root@centos ~]# vi awstatslogchk.sh ← AWStatsログリファラスパム削除スクリプト作成
#!/bin/bash

if [ $# -eq 0 -o ! -f /etc/awstats/awstats.${1}.conf ]; then
    log=`grep ^DirData /etc/awstats/awstats.model.conf|sed -e 's/^DirData="\([^ ]*\)"$/\1/p' -e d`/awstats*.txt
else
    log=`grep ^DirData /etc/awstats/awstats.${1}.conf|sed -e 's/^DirData="\([^ ]*\)"$/\1/p' -e d`/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
    count=`grep "${host}" ${log} | wc -l`
    if [ ${count} != "0" ]; then
        sed -i "/$host/d" $log
        echo "${host} ${count} deleted."
    fi
done


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

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

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

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



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

LPIロゴ Copyright© 2005-2017 fallenangels, All rights reserved.
ご自由にリンクしてください(連絡は不要です)
本ページへのご意見・ご要望、誤字・脱字・リンク切れ等のご連絡はこちらからお願いします