WordPressの最強セキュリティ対策2014年最新版サーバー会社からWordPressのセキュリティに関する勧告を受けた方や、巷でWordPress被害を聞いたことがある方は多いことだろう。

WordPressはオープンソースであるがゆえに、セキュリティ対策は常に配慮しなければならない。

セキュリティ強化のコツは、基本を着実に抑え、プラグインを有効に使い、サイトとサーバーの状態を常に監視することにある。

この記事では、それらを全て統合した、私たちの定義する最強のWordPressセキュリティ対策をご紹介しようと思う。是非とも取り入れていただきたい。

WordPress以前のお話。パソコン、ネットワーク、FTP接続やサーバーのセキュリティ対策

WordPressサイト攻撃されてしまう理由には様々な要因が存在するが、WordPressより先に基本的なセキュリティ対策ができているかを確認しよう。

ハッキングやサイト改ざんなどの被害は、WordPressそのもの脆弱性が原因では無く、接続元のパソコンの状態や、パスワードが弱かったり、FTP接続時に問題がある場合が多い。

WordPressのセキュリティに入る前に、WordPress以外のセキュリティの基本についてチェックすることをオススメする。

OSのアップデートを実行する

WindowsであればWindows Updateを、Macであればソフトウェアアップデートを忘れずに行おう。これらのOSアップデートは、OSのバグや脆弱性の修正を含むセキュリティ強化が必ず含まれている

新しい更新が準備されると通知が来るので、再起動なども面倒くさがらずに更新を実行しよう。

セキュリティソフトを導入する

Macユーザーにはあまり縁の無いウィルスソフトではあるが、Windowsユーザーにとっては導入必須項目のひとつ。ノートンアンチウィルス、ウイルスバスター、マカフィーなどの大手の物であれば内容はそこまで変わらないので、気に入ったセキュリティ(ウィルス対策)ソフトを導入しよう。

ファイアーウォールを有効にする

外部からの攻撃や不正アクセスからパソコンを守ってくれるのがファイアーウォールである。パソコンの持つ唯一の玄関がインターネット接続であるため、不審なアクセスから身を守るためには、ファイアーウォールの有効化が必須である。必ずONになっているかを確認しよう。

Windowsの場合は、ファイアーウォールが無効だと警告が表示されるので、警告が見られなければ問題ない。Macの場合は、有効であろうと無効であろうと何も通知されないので、しっかりと確認すること。

ソフトウェアのバージョンを最新に保つ

ソフトウェアのアップデートは、OSのアップデートと同じくセキュリティ強化が必ずと言ってもいいほど含まれている。

アップデートを確認すべきプログラムをリストアップするので、最新のバージョンを利用しているか確認してみていただきたい。

  • インターネットブラウザ(Chrome、Firefox、IEなど)
  • FTPクライアント(FFFTP、Filezillaなど)
  • セキュリティ、ウィルス対策ソフト
  • ルーターを利用している場合は、ルーターのファームウェア
  • Adobe Flash Player
  • Javaランタイム

Adobe Flash PlayerとJavaランタイムは通常のプログラムとは違い、いわゆる「利用」するプログラムではないため、アップデートのし忘れが多い。Javaはここ最近深刻な脆弱性が報告されているので、必ず更新するようにしよう。

安全の確認できない公共のWiFiの利用は避ける

私の個人的な経験ではあるのだが、iPhoneのWiFiをOFFにするのを忘れて出かけると、何故か認証もしていないのにWiFi接続になっているのだ・・・認証無しイコール、セキュリティはゼロ。非常に危険な状態でのインターネット接続になってしまう。

特に都内の繁華街であれば、iPhoneのWiFiメニューを開くと数えきれないほどのWiFiステーションが表示される。もしかするとこの中のどれかはハッキング目的のWiFiステーションかもしれないので、注意が必要だ。

見慣れないスポットの利用は避けること。
必要以外の時はWiFiをOFFにすること。

そして公共でWiFiを利用するのであれば、自身で契約しているポケットWiFiや、スマホのテザリング、大手通信企業のWiFi Spotなど、安全かつ信頼できる回線だけにしよう。

セキュリティの基本まとめ

WordPress以外のセキュリティ対策に目を通していただいただろうか?基本的なことではあるが、これらを抑えることで、これから紹介するWordPressセキュリティの効力も一段とアップする。

WordPressのセキュリティに進む前に、セキュリティの基本を下記にまとめてみたので、復習しよう。

  • OSアップデートを実行する
  • ウィルス対策ソフト、セキュリティソフトを導入する
  • ファイアーウォール有効化の確認する
  • 各種ソフトウェアのバージョンを最新にする
  • 安全の確認できない公共のWiFiの利用は避ける

FTP接続とサーバーのセキュリティ

WordPressの普及により、多くの方が利用し始めているFTP(FTPはファイル転送プロトコルの略)。使い勝手は良いものの、安全を確認せずに利用してしまうと無防備な接続になってしまったり、アップロードしたファイルが悪用されてしまう可能性がある。

FTP接続と合わせて、サーバー上のセキュリティも確認していこう。

FTPSの利用を心がける

会員制サイトなどでは、httpにsを加えた(secureのs)httpsというプロトコルが利用されているのと同じで、FTPにもsが加わったftpsが存在する。

sなしのFTPだと、通常のhttpと同じで通信が暗号化されずに接続されてしまうため、セキュリティが甘い。

どのレンタルサーバー会社でもFTPSにてFTP接続を行うことができると思うので、是非取り入れていただきたい。

ファイルパーミッションが適切か確認する

ファイルパーミッション(ファイルの権限)とは、ファイルやフォルダごとに定義された、読み出し・書込みなどのアクセスに対する許可情報である。※Wikipedia

レンタルサーバーが用意している「簡単インストール」にてWordPressをインストールした場合は、サーバー会社が判断した適切なファイルパーミッションがファイルとフォルダに適用されているはずだが、FTPを使った手動インストールを行った場合は気をつけなければならない。

この権限が不適切だと、勝手にファイルが書き換えられてしまったり、不本意にファイルが実行されてしまう可能性があるなど、セキュリティ上あまり好ましくない。

WordPressが勧めている適切なファイルパーミッション(番号)は下記の通りなので、FTP手動アップロードで行った方は、念の為に確認しておこう。

ファイル(.phpなど)は 644 -rw-rw-r—
フォルダ 755 -rwxr-xr-x

FTPプログラムにもよるが、ファイルパーミッションがアップロードするファイルの拡張子別に個別に設定されている場合がある。

備考:プラグインのインストール(W3 Total Cacheなど)にてwp-contentフォルダの権限を777に変更する必要がある場合は、インストール時だけ777に設定し、インストールが終わったら忘れずに755に戻すようにしよう。

備考2:決して777に設定されたファイルがないこと確かめよう。777はサーバー業界において、魔の777と呼ばれ、セキュリティが一切無い状態を示すことになってしまう。

PHPのバージョンを出来るだけ最新バージョンに設定する

WordPressの動作に必要なPHPは、現行のバージョンだと最低でPHP5.3以上のPHPバージョンが求められている。

PHP5.3だけしか選択出来ないのであればそこまで気にする必要は無い。だがバージョンが高ければ高いほどセキュリティ強度も高いので、5.4や5.5が選択可能であれば、進んで最新バージョンを利用することをお勧めする。

バージョンアップにセキュリティ強化対策が含まれていることはこれまでに繰り返し述べてきているが、PHPもその他ソフトウェアと変わらず同類である。

PHPのバージョン設定はレンタルサーバーのコントロールパネルから変更できるが、もしやり方がわからなければ、サーバー会社のFAQで確認したりサポートに問い合わせてみよう。

警告:もしWordPress以外のPHPプログラムが同じサーバー内にある場合は、PHPのバージョン変更を行う前に必ずプログラム開発者に確認することを忘れずに!ヘタすればPHPで書かれたその他のプログラムが動作しなくなってしまう場合があるので、くれぐれも要注意だ。

WordPressセキュリティの基礎3つ

セキュリティプラグイン導入を早速行いたいところだが、プラグインでのセキュリティ強化を図る前に、基礎的なWordPressセキュリティ対策を行い、基盤を固めることが重要になってくる。

パスワードを強力かつ個別に設定する(WPログイン、データベース、FTP全て)

パスワードを設定するときは、覚えやすいからと言って簡単なものに設定したり、他のサイトでも利用しているパスワードを流用するのは好ましくない。

パスワードをより強力にするには、大文字と小文字、数字や記号などを混合し、12桁以上にすれば大丈夫だろう。

パスワードジェネレーター:http://www.graviness.com/temp/pw_creator/

有料ソフトとはなってしまうが、パスワード管理アプリの「1Password」を使えば、沢山のパスワードを安全に管理出来るだけでなく、パスワード生成機能なども付属し、重宝する。

WordPressのセキュリティのためだけでなく、サイト管理などの仕事効率アップにも繋がるので、是非活用していただきたい。

ユーザー名をadmin以外に設定する

上記のパスワードを強化することに加え、WordPressのユーザー名(ID)をadmin以外のユニークなものに設定することを心がけよう。

WordPressでは、インストール時のユーザー名がデフォルトでadminとなっているため、大半のWordPressサイトのログインIDが全く同じになってしまっている。そのためハッカー達には、adminというユーザー名が多く存在する事実を逆手に取られてしまう。

adminユーザー名を使いブルートフォースアタック(パスワード自動生成ログイン攻撃)が行われる前に、パスワードとペアであるIDもユニークなものしておこう。

wp-config.php内のデータベーステーブルの接頭辞の変更

WordPressの手動インストールのみで行えるセキュリティ対策、それはWPデータベーステーブルの接頭辞の変更だ。

これをユニークな文字列に変更することにより、データベース内の標的を見つけにくくすることができる。ほぼ全てのWordPressサイトがデフォルトのwp_にてデータベースが生成されているため、この統一性もハッカーの対象となってしまう。データベーステーブルの接頭辞も忘れずに変更しよう。

wp_ → unique_table_prefix_name_

接頭辞の文字列の最後は、アンダースコア(_)で終わるようにしよう。

WordPressのセキュリティを最強にしたければ、上記の接頭辞変更なども踏まえ、自動インストールではなく手動でのインストールをおすすめする。

WordPressセキュリティ関連プラグインを導入する

Akismet – 悪質なスパムコメントを駆除

URL: https://wordpress.org/plugins/akismet/

Akismet(アキスメット)は、WordPressに付属しているスパム駆除プラグイン。

Akismetを有効化するには、Akismet APIキーが必要になるのだが、サイトの規模によって料金が発生してしまう。しかし個人的なサイトや小規模サイトであれば、無料でもAPIキーを入手できるので、面倒くさがらずに取得し、設定していただきたい。

ハッカーやスパマーは何を目的としてスパムコメントを送りつけているのかわからないが、それらのコメントにWordPressセキュリティの脆弱性を狙ったコードやアタックがないとは限らない。

iThemes Security – WPセキュリティ対策パッケージ

URL: https://wordpress.org/plugins/better-wp-security/

2013年末位までは、Better WP Securityという名で出回っていた万能セキュリティプラグイン。

このプラグインでは多岐にわたるセキュリティの確認と強化ができるのだが、機能や設定項目が多すぎるため、使い方に関しては別の記事にて取り上げようと思う。インストールしても損はないので、使っていない方は取り急ぎ導入しておこう。

Stealth Login Page – ログイン画面をステルス化

URL: http://wordpress.org/plugins/stealth-login-page/

ステルス化とは言っても、消えて隠れてしまうわけではない。IDとパスワードの他に、もう一つの秘密鍵を設定し、セキュリティを強化するというものだ。

秘密鍵無し、もしくは秘密鍵が間違ってログインボタンを押した場合は、ユーザーは強制的に別サイトへとリダイレクトされてしまう(リダイレクト先URLは任意に設定可能)連続したパスワードクラッキング攻撃にはもってこいのプラグインである。

Google Authenticator – ログインのセキュリティを更に強力に

URL: https://wordpress.org/plugins/google-authenticator/

ログイン画面にGoogleの最先端認証システムを取り入れてしまうのがこのプラグインだ。

上記のStealth Login Pageプラグインのように、ログイン画面に新たな秘密鍵入力欄を追加するタイプのセキュリティプラグインである。

仕組みは、セキュリティ情報が組み込まれているQRを、スマホ(iOSまたはAndroid)のGoogle Authenticatorというアプリにて読み込むのだ。そうすると、アプリ上だけで秘密鍵が生成され、さらに秘密鍵が30秒ごとに全く新しいコードに変更される。

正しく究極のログイン画面強化を施すことが出来るのである。

Simple Login Log – ログイン履歴を記録

URL: https://wordpress.org/plugins/simple-login-log/

セキュリティ対策をここまでやって不正ログインがあったら笑い話だが、一応ログイン履歴を記録するプラグインが存在する:Simple Login Logだ。

使い方はいたってシンプルで、プラグインを有効にしたら履歴一覧画面へアクセスするだけ。

このプラグインが記録する情報は、ログイン時刻、ログイン元IPアドレス、ユーザーエージェントなど。記憶にないアクセスログがあれば、パスワード変更などの処置をすればよいし、社内でWordPressを数人で管理しているなどの状況においても役に立つ。

常に監視すべきセキュリティチェックリスト

  • WordPressを最新のバージョンに保つ
  • プラグインを最新のバージョンに保つ
  • パスワードを定期的に変更する
  • WordPressのログイン履歴を確認する
  • Windows Updateや、Macのソフトウェアアップデートを常に最新のバージョンに保つ
  • ウィルス対策ソフトを最新のバージョンに保つ
  • インターネットブラウザを最新のバージョンに保つ
  • その他利用しているプログラムのバージョンを最新に保つ

セキュリティ関連リンク集

最後にセキュリティ関連ツールやサイト、プログラムなどの紹介をしたいと思う。数点しかないのだが、どれもセキュリティ強化に関わるものなので、機会があれば利用・導入していただければと思う。

1Password

URL: https://agilebits.com/onepassword
英語のプログラムになってしまうのだが、クロスプラットフォーム(WinまたはMac)で使えるパスワード管理ソフトが1Passwordだ。

弊社のようにWeb制作を行っていると、管理・保守を依頼されているウェブサイトの数が数えきれないほどあり、管理画面へのログイン情報も同じ数管理しなくてはならない。テキストやドキュメントで管理するのは漏洩してしまう危険があるだけでなく、サイトへログインする度にファイルを探すのは効率が悪い。
しかし1Passwordを使えば、ログインが必要なサイトURLとID・パスワードを個別に管理できる。各サイトへログインしたい場合は、1Passwordをインストールした際に設定したマスターパスワードを入力すればログインURL一覧が表示され、ワンクリックでそのサイトへログインすることが出来るのだ。

おまけにパスワード生成機能も付属しており、新たなWordPressサイトを作成する際にも強力なパスワードを設定できる。

ログイン情報を安全かつ効率よく管理したいのであれば、1Password導入は必須だ。

パスワードジェネレーター

URL: http://www.graviness.com/temp/pw_creator/
パスワードは覚えやすいものを設定したり、別のアカウントでも使用しているパスワードを流用したくなるのが人間の癖。とは分かっていてもどうやって新しいパスワードを作ればいいかわからない方が多いと思う。

そんなときはパスワードジェネレーター(パスワード生成プログラム)を活用しよう。このサイトではパスワードに含む文字の種類や、文字数の設定など、強力なパスワードをランダムに生成してくれる便利なサイトだ。

前に紹介した1Passwordにも付属しているパスワード生成機能だが、知っておいて損はないのでは無いだろうか。

サイトのウィルス感染チェッカー – https://www.virustotal.com/ja/

URL: https://www.virustotal.com/ja/
WordPressのセキュリティ強化について書いたこの記事であるが、もう既にあなたのサイトにウィルスやマルウェアが感染しているかもしれない。

ウィルス感染チェッカーを使って、あなたのサイトの安全性を確認しよう。

記事のまとめ

WordPressのセキュリティ強化を隅々まで行き届かせるには、多岐にわたる知識を活用しなければならない。WordPressは今後右肩上がりでシェアが増えていくと想定されているだけに、同じくWordPressを狙った攻撃も後を絶たないと予想される。

あなたのサイトとビジネスを守るためにも、いち早くセキュリティ対策を行い、安心してWebサイトを運営していただきたいと思っている。

以上でWordPressのセキュリティ対策完全版の記事を終えたいと思う。最後に全てのセキュリティ対策項目をリストアップするので、復習や今後の活用のために役に立てていただければ幸いだ。

  • OSのアップデート(Windows UpdateまたはMacのソフトウェアアップデート)の実行
  • セキュリティソフト(Norton、ウィルスバスター、マカフィーなど)の導入
  • 各種ソフトウェアのバージョンを最新に保つ
  • パソコンのネットワーク接続にファイアーウォールを有効化する
  • 安全の確認できない公共WiFiの使用を避ける
  • WiFiを利用しない場合は、WiFi(無線LAN)機能をOFFにする
  • FTP接続には、FTPSを利用することを心がける
  • FTPでアップロードしたファイルのファイルパーミッションが適切であるか確認する
  • PHPのバージョンを出来るだけ新しいバージョンに設定する
  • WordPressログイン、データベース、FTP接続などのパスワードは強力にする
  • 強力なパスワードを作るには、パスワードジェネレーターを活用する
  • WordPressのユーザー名にはadminを使わない
  • wp-config.php内のデータベーステーブルの接頭辞をユニークな文字列に変更してWPをインストールする
  • 各種セキュリティ強化プラグインの導入
  • Akismet
  • iThemes Security
  • Stealth Login Page
  • Google Authenticator
  • Simple Login Log
  • WordPressを最新のバージョンに保つ
  • プラグインを最新のバージョンに保つ
  • パスワードを定期的に変更する
  • WordPressのログイン履歴を確認する
  • ウィルス対策ソフトを最新のバージョンに保つ
  • インターネットブラウザを最新のバージョンに保つ