手軽に設置出来、デザイン性が高い無料のテンプレートを使って、数分でカッコイイWebサイト(ブログ)を作る事が出来るWordpressは世界で最も多く利用されているCMSです。
しかし、最も利用されている事もあり、Wordpressの脆弱性を狙ったクラッキングやスパムなどが横行し、多くのWebサイトオーナーやサイト閲覧ユーザーが被害にあっています。
悪質なユーザーがWordpressをクラッキングする理由は様々ですが、主に下記理由がある様です。
- マルウェア、スパイウェアの設置&配布
- フィッシングサイトへの誘導
- SEO目的のリンク設置
- 投稿データの漏洩
今回は直ぐに出来るWordpressのセキュリティ&コメントスパム対策を紹介したいと思います。
先ずは基本から最新Verか確認し、更新しよう
全てのWordpressユーザーは常に最新のWordpressを利用する様にしてください。
WordPressは常にセキュリティ面でも非常に高い精度で組まれていますが、定期的にバグやセキュリティホールが見つかります。
そのまま放置して運営を続けていると、セキュリティホールをつかれてWebサイトがハッキングされてしまいます。
今スグ管理画面にアクセスして、確認しよう
ダッシュボードからアップデートする必要があるか否かを確認し、最新Verにバージョンアップする事が出来ます。
古いVerのWordpressを利用している場合、管理画面にログインするとダッシュボードの左上に警告が表示されます。
「更新してください」のリンクをクリックします。
「いますぐ更新」をクリックすると更新が自動的に行われます。約1~3分程度で更新は完了し、最新Verにバージョンアップデートされます。
尚、管理画面にも注意書きがある通り、更新によって既存データが失われる可能性があります。念のためにデータベース及びファイルのバックアップをとっておきましょう。
phpMyAdminからデータをエクスポート、FTPでファイルをローカルにダウンロードする等の方法を通してバックアップを取る事が可能です。
プラグインも同じく脆弱性を抱える場合があります。アップデートが公開されている場合は、更新し最新バージョンを保つようにしましょう。
ウェブアプリケーション・ファイアーウォール
ウエブアプリケーションファイアーウォール(WAF)とは、Webアプリケーションに特化したファイアーウォールの事で、サーバーの外から来る攻撃から守ってくれる機能です。
設置しているWebアプリケーションに脆弱性(セキュリティホール)があり、その脆弱性に対して攻撃を受けた際、WAFが攻撃を検知し、ハッカーからのアクセスを遮断し、攻撃をブロックしてくれます。
最近では多くのレンタルサーバーに導入されており、サーバー側の管理画面からWAFの手軽に適用する事が出来ます。
上記はロリポップとさくらレンタルサーバーのWAF設定画面です。
各社WAFの仕様やWordpressとの整合性が異なりますので、現在利用しているWordpressのバージョンと共同利用できるか確認の上、適用する事をお勧めします。
参考サイト:
・さくらのレンタルサーバーでWordPressを運用する時のWAFの設定と注意点
セキュリティプラグイン
WordPressにはセキュリティ対策向けの機能を搭載したプラグインが多数あります。これらプラグインを利用してセキュリティ向上を図ります。
プラグインは管理画面の「プラグイン」からインストール出来ます。
SI CAPTCHA Anti-Spam
コメントスパムをブロックするプラグインです。
WordPressにはコメント機能がついていますが、この機能がコメントスパムの格好の標的になります。しかし、アクセスしてくれる訪問者とコミュニケーションを取るためにコメント枠を閉じるわけにもいかない方には画像認証の導入がお勧めです。
SI CAPTCHA Anti-Spamを導入するとコメント欄に画像認証が組み込まれ、人間以外のコメント投稿を排除する事が出来ます。
iThemes Security
セキュリティプラグイン「iThemes Security」は、DBの自動バックアップから、各ファイルのパーミッション設定、マルウェアスキャニング、権限の設定など、Wordpress上にある脆弱性を設定で取り除いてくれるプラグインです。
プラグインインストール後、設定画面へのリンクが表示されます。
Secure Your Site Now をクリックします。
1~3を順にクリックし、設定を終えます。
インストール完了後、ダッシュボードにアクセスします。
ダッシュボードには現時点で修正が必要なセキュリティ対策必須箇所が重要度と共に表示されます。
最も緊急性が高く、即時対応が必要な「High」から対応します。各項目のFix itをクリックし、セキュリティホールを修正していきます。
.htaccess
WebサーバーApacheの設定ファイル「.htaccess」を利用して、攻撃や不正アクセスを防ぐことが出来ます。
ログイン画面へのアクセス制限
ブルートフォースアタックの対象となりやすいのがログイン画面「wp-login.php」です。
不正なアクセスを排除するには、自分のIPアドレス意外のアクセスを排除します。
固定IPアドレス以外の場合、不正アクセスを極力排除するべく、ISPから割り振られるIP帯域若しくはホスト名を指定します。
例えばホスト名が「hogehoge0012.tokyo.ocn.ne.jp」の場合は、「tokyo.ocn.ne.jp」が変動しない固定のホスト名になります。
自分のIP&ホスト名を確認する→IP確認君
IPアドレスを確認後、Wordpressが設置ある最上部のディレクトリ直下(ルートディレクトリ)にあるhtaccessに下記を記述します。
<Files wp-login.php>
order allow,deny
deny from all
allow from tokyo.ocn.ne.jp
</Files>
<Files wp-config.php>
order allow,deny
deny from all
</Files>
wp-login.phpへのアクセスはホスト名「tokyo.ocn.ne.jp」と、ローカル内のみに限定されます。又、重要な設定情報(DBのパスワード等)が記載されているwp-config.phpは外部からのアクセスを排除します。
Scraperの排除
世の中にはWebサイトを回遊し、データを抽出&他サイトへ盗用掲載するクローラー(Scraper)があります。
これらクローラーはWebサーバーのリソースを不要に消費するだけではなく、折角掲載したコンテンツを盗用し、ユーザーを奪う事さえあります。訪問して欲しいユーザー(人間)とGoogleやBing等のクローラー以外は、不要アクセスとして排除します。
サーバーのアクセスログからクローラー(Scraper)と思われるIPアドレスをブロックするのもひとつの手段ですが、膨大に存在する為現実的ではありません。
手っ取り早い方法として、特定のIP帯域やホスティングサービスからのアクセスを排除する方法があります。
最近ではAmazonWebService上で大量にクローラーを動かしているサービスがあります。AWSのIP帯域を弾くのもひとつの手段と言えます。
※AWS上では様々なWebサービスが稼働しています。AWSを排除する事で、現在利用している広告効果測定システムやWebサイト診断クローラーなども同時に排除する可能性がありますので、ご確認の上設定するようにして下さい。
Amazon EC2 IP帯域一覧
myip.ms – 全世界のIPを調べる事が出来るサービス
└ブラックリストBot一覧
まとめ
WordPressは最新バージョンを利用する
管理画面からワンクリックでバージョンアップ出来ますので、定期的にチェックし更新しましょう。
ウェブアプリケーションファイアーウォールを利用する
不正アクセスや改ざん等の攻撃を受けた場合、自動的にアクセスを排除してくれるWAFを導入しましょう。
セキュリティプラグインを利用する
プラグインを用いてセキュリティ設定が終えていない箇所を発見し、補修します。
htaccessで不正アクセスを排除する
重要ファイルへのアクセスや、海外からのScraperによるアクセスを排除しましょう。
参考サイト:
サイト改ざんへの対策をお願いいたします – lolipop