2015年6月11日木曜日

Google Analyticsのスパム対応 nginxを使ったrailsアプリでスパムボットに対応する

  • 公開日:2015年06月11日
  • 最終更新日:2015年06月11日

記事概要


マウンテンチャンネル」のwebアプリを公開して二か月が経過しました。
そろそろサイトのグロースハックを開始しようとGoogle Analyticsを起動したところ、流入元にスパムボットアドレスがずらりと並んでいました。
これでは解析をするのが大変です。というわけで、スパムボットの対策をすることにしました。

スパムボットの対策方法


スパムボットの対策方法は以下の二通りです。

  • Google Analyticsでフィルターの設定をする
  • ウェブサーバで除外する

Google Analyticsでフィルターを設定するのは、性質の悪いスパムボッドが存在するからです。
それは、Google AnalyticsのUA-XXXXXXXX-XのトラッキングIDを拾って、直接Google Analyticsのセッションを偽装しにやってくるスパムボッドです。

なので、万全を期すためにGoogle Analyticsとウェブサーバの両方の対策をしておくべきです。

今回はウェブサーバ(nginx)を使ってリファラスパムボットを除外する対策方法説明します。


環境

  • centos6.5(vagrant)
  • nginx1.6.1
  • ruby2.2.2, rails4.2.1

リファラスパムボットの調査


アナリティクスを利用したところ、以下のリファラスパムボットを発見しました。


free-social-buttons.com
best-seo-offer.com
buttons-for-your-website.com
www4.free-social-buttons.com
www2.free-social-buttons.com
100dollars-seo.com

上位10件中6件がスパムとか、何も分析できませんね...。

『/etc/nginx/conf.d/spambot.conf』の生成


リファラスパムボットを除外するspambot.confを用意します。


# リファラスパムボットのアクセスでない場合は「0」を維持する
set $spambot 0;
 
# リファラスパムボットそれぞれの判定
if ($http_referer ~* (4webmasters.org) ) {
  set $spambot 1;
}
if ($http_referer ~* (76brighton.co.uk) ) {
  set $spambot 1;
}

# 中略

# 最後に403を返すif文を追加する
if ($spambot = 1) {
  return 403;
  break;
}

リファラスパムボットはこちらのサイトの一覧を利用させていただきました。
『100dollars-seo.com』だけは存在しなかったので追加しました。

また、せっかくなのでこの記事にspambot.confの全コードを記載しました。
こちらは私がリファラスパムボットを増やす対応をしたときに、逐一更新していきます。

『/etc/nginx/conf.d/spambot.conf』の読み込み


nginx.confのロケーション部で読み込むように設定します。



    # Load config files from the /etc/nginx/conf.d directory
    # The default server is in conf.d/default.conf
    include /etc/nginx/conf.d/*.conf;

if文があるので、ディレクティブの中にファイルを置きます。上記のサンプルではhttpディレクティブの中でファイルを読み込ませています。

nginxの再起動


上記の設定を終えたら、nginxの再起動をして設定を反映させます。


sudo nginx -s reload

エラーなしで再起動に成功すれば設定は成功です。
また、スパムボット対策は基本イタチごっこなので、なるべくchefを使って自動化することをおすすめします。
chefなら以下のように設定します。


template "spambot.conf" do
  path "/etc/nginx/conf.d/spambot.conf"
  source "spambot.conf.erb"
  notifies :reload, "service[nginx]"
end

以上

次はGoogle Analyticsの設定方法を記載します。

関連記事
参考サイト

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...