永遠の新入社員

永遠の新入社員でいたいITエンジニア。自称賢約家の日常生活、趣味等について幅広くつぶやきます。

WordPressを使ってアフィリエイトをしている人の注意点〜脆弱性対応〜

忘れがちなWordPress脆弱性対応

自身でWordPressレンタルサーバ等を用いてサイトを立ち上げてアフィリエイトなどをしている皆さんが忘れがちなのが脆弱性への対応です。 SEO対策や記事の内容など、収益を上げるための努力だけでなく、収益を下げないためのリスク対策も考えておく必要があります。

ここでは、WordPress脆弱性が引き起こすリスクとその対策を簡単にまとめてみましたので、是非参考に対策を実行してみてください。

目次

脆弱性を放置すると何が怖いのか

ほとんどの人は考えもしない脆弱性対応ですが、自身でサイトを立ち上げている限り、脆弱性を利用して攻撃者に悪さをされる可能性は誰しもが持っています。

例えば2017年1月頃に発覚した脆弱性は、誰でも特定の文字列を入力するだけでコンテンツの書き換えが可能なもので実際に100万件以上のサイトで被害が発生していました。

f:id:aquariumch:20200326160946p:plain

出典元:WordPress の脆弱性対策について:IPA 独立行政法人 情報処理推進機構

他にもサイトを訪れた人のPC上で不正なプログラムが動作させられるような脆弱性も多数発見されています。このような攻撃を受けると具体的に以下のような被害が考えられます。

  • サーバ自体がマルウェア感染し、別のサイトに大量のアクセス100リクエスト/秒などを行うことで別サイトをダウンさせるような動作を行った → あなたが攻撃者であるとサイト管理者から訴えられる
  • コンテンツが書き換えられ、著作権違反の内容を含んだ記事が投稿される → 著作権者から損害賠償請求
  • 個人情報が漏洩する → 個人情報保護法に基づき是正勧告・改善命令がなされ、知らないうちに放置していると罰金などの措置が下る

もちろん悪さをしたのはあなたではなく攻撃者なのですが、「○○日○○時に脆弱性を突かれたことでこのようなことが起きた、私がやったものではない」ことが明確で証明できれば、自身が裁かれることはないですが、対応には多くの時間がかかりますし、実際に閲覧者離れは避けられないことになってしまいます。

今からできる脆弱性への対策

定期的に最新バージョンにアップデートする

WordPress本体はもちろん、プラグインやテーマにも脆弱性はひそんでいます。定期的にバージョンアップされているか確認し、最新にするようにしてください。バージョンアップは機能面の追加などだけでなく、脆弱性の修正なども行われていることが多いです。 WordPressダッシュボードでも通知があるので無視せず必ず確認するようにしましょう。

プラグインやテーマはメジャーなもののみ利用する

利用者数の少ないテーマやプラグインは、作成以降放置されていることがあります、そうなると脆弱性の修正が行われないままになってしまうので、なるべく利用者数の多いものを選びましょう。

「Akismet」プラグインをアンインストールしない

デフォルトでインストールされている「Akismet」プラグインはスパムコメントの対策ができるプラグインです。スパムコメントを契機に脆弱性を悪用する例は多いため必ず有効にしておきましょう。

管理者ページへのアクセス制限をする

管理者のみが利用するページは、管理者以外からなるべくアクセスされないように設定をしておきましょう。ここがだれでも閲覧できる状態だとパスワードを大量に試行されて突破されるなど脆弱性をついた攻撃のかっこうの的になってしまいます。基本的に1,2両方行うのが好ましいですが、1がどうしても難しい場合は2だけでもやってください

1. ログインページや管理者用ページにIPアドレスの制限

WordPressを設置しているディレクトリには「.htaccess」というファイルが存在するので(存在しない場合は作成してください)そこの末尾等わかりやすい場所に以下の記述を追加します。

<FilesMatch "wp-login.php|wp-admin">
  Order deny allow
  Deny from all
  Allow from xxx.xxx.xxx.xxx
</FilesMatch>

wp-login.phpのページやwp-admin配下のページにアクセスできるIPアドレスをxxx.xxx.xxx.xxxに記載します。それ以外のIPアドレスからはアクセスできなくなります。

2. 「SiteGuard WP Plugin」プラグインのインストール

このプラグインはセキュリティサービスや製品を専門とするJP-Secureという会社が作成しているプラグインで導入することで様々なセキュリティ対策が一度に行えます。
主な機能

機能 内容
管理ページアクセス制限 ログインしていない接続元から管理ディレクトリ(/wp-admin/)を守ります。
ログインページ変更 ログインページ名を変更します。
画像認証 ログインページ、コメント投稿に画像認証を追加します。
ログイン詳細エラー・メッセージの無効化 ログインエラー時の詳細なエラーメッセージに変えて、単一のメッセージを返します。
ログインロック ログイン失敗を繰り返す接続元を一定期間ロックします。
ログインアラート ログインがあったことを、メールで通知します。
フェールワンス 正しい入力を行っても、ログインを一回失敗します。
ピンバック無効化 ピンバックの悪用を防ぎます。
更新通知 WordPressプラグイン、テーマの更新を、メールで通知します。
WAFチューニングサポート WAF (SiteGuard Lite)の除外リストを作成します。
 

WPScans.comを利用して定期的な脆弱性チェックを行う

このWebサービスではURLを入れて「Start scan now」をクリックするだけで、そのサイトに脆弱性があるかどうかを確認してくれます。 上記までの対策を行っていれば脆弱性はおそらくない状態になっていますが、念の為定期的に確認するようにしましょう。