Photo by sebastiaan stam on Unsplash
WordPressは人気の高い優れたプラットフォームです。ただ、オープンソースであるゆえにハッキングされることが多く、脆弱であるというデメリットがあります。
ワードプレスを構成するソースコードは一般公開されているので、誰でも簡単にその設計を知ることができ、このためハッカーの餌食になることも頻繁に起こっています。
この記事を書く少し前には、世界中で使われているFacebookでも個人情報が流失したというニュースがありました。今やハッカーの技術は、IT企業にとって脅威の存在です。
でもこれは、有名ブログや企業サイトの問題で、通常の個人ブログではありえないと思うかもしれません。しかしそんなことはないのです。ハッカーは無差別に攻撃を仕掛けてきます。
あなたのサイトがターゲットにされたとしても、決して不思議なことではありません。
ハッキングの手口は巧妙かつ悪質です。対処といっても、完全に防止することはできません。ただ、セキュリティが強化されているサーバーを使えば、何もしない時に比べ、ハッキング被害を防げるはずです。
今回はWordPressを安全に運営する上で、やっておくべきセキュリティ対策を紹介します。
Photo by Liam Tucker
このページの目次
簡単なWordPressのハッキング対策
まずは、基本中の基本ともいえるハッキング対策を紹介します。
WordPressでは、バージョンアップがされると画面にお知らせが届きますよね。面倒なので放置してしまうことはないでしょうか。新しいバージョンが公開されたら、すぐにバージョンアップをしていきましょう。
これだけでもハッキング被害からブログを守ることになります。WordPressには、2013年10月のバージョンから自動更新の機能が実装されているので、自動で更新されるようにしておくと良いかもしれません。
ただ、自動更新にした場合は、必ずバックアップの機能を有効にして下さい。これはプラグインを使えば、簡単に設置できます。ワードプレスは優れたソフトウェアですが、不具合が生じないという保証はありません。
また、テンプレートやプラグインがバージョンアップされたときには、早めの更新をおすすめします。利用者が多く更新頻度の高いテンプレートやプラグインなら、信頼度も高いはずです。
セキュリティ面を重視しているレンタルサーバーを選ぶ
サーバー会社で利用できるサービスは各会社によってかなり違います。ハッカーはその道のプロともいえるので、技術的に素人が立ち向かったところで適うはずがありません。
なので、セキュリティ面はその道のプロ(サーバー会社)に任せたほうが無難です。レンタルサーバー会社には、料金が最優先、速さを重視、セキュリティに力を入れているといったように、それぞれ異なった特徴があるかと思います。
セキュリティ、料金、速度、安定性を考えた上でおすすめなのが、エックスサーバーです。もちろん、このサーバーよりも優れたサーバーはあると思います。
ただ、個人ブログで国内のレンタルサーバーを使うなら、エックスサーバーは抜群に優秀です。
というのは、ブルートフォースアタックと呼ばれるWordPressの管理画面から攻撃を仕掛けるハッキングがあります。これはアタックというよりも、「こんな方法でアクセスできるの?」と思ってしまうやり方です。
手口は超簡単。ターゲットにしたサイトのWordPressログイン画面でユーザーIDとパスワードを片っ端から入力していきます。たったこれだけという単純かつ無鉄砲な侵入方法です。
しかし、この手口のハッキングは後を絶ちません。もちろん、アクセスされたブログやサイトも星の数ほど存在します。(これは冗談ではなく、紛れもない事実です。)
こういったアタックを仕掛けてくるハッカーは国内よりも海外に多く、巧妙な手段を使ってブログを運営不能にすることもあります。海外に在住している場合は難しいですが、国内に住んでいるなら海外IPには制限を設けていきましょう。
WordPressでは、ログインして管理画面にアクセスするので、セキュリティ的にも優れていると思いませんか。しかし、設計が明らかになっているWordPressはハッキングしやすいです。
穴さえ開けることができれば、被害を急速に拡大させることも簡単にできるプラットフォームと言えます。こういったことからワードプレスを守るには、セキュリティが強化されているサーバーを使ってみて下さい。
エックスサーバーには、ブルートフォースアタックを予防するオプションがデフォルトで用意されているので紹介します。
エックスサーバーでWordPressのセキュリティを確認
まずは、エックスサーバーのサーバーパネルを開きます。サーバーパネルにログインするときは、インフォパネルからログインすると簡単です。
インフォパネルの画面を下にスクロールすると…..
ここからなら、サーバーパネルにもファイルマネジャーにもパスワード無しでアクセスできます。
サーバーパネルにある「WordPressセキュリティ設定」をクリックします。
ドメイン選択画面でセキュリティを確認したいドメインを選択します。
すると「国外IPアクセス制限設定」があるので、各項目の確認をしてみて下さい。ここの設定はデフォルトで全てオンになっているので、このままにしておきましょう。
次に「ログイン試行回数制限設定」をクリックします。こちらもデフォルトではオンになっています。もしも、連続してログインに失敗した場合は、ロックがかかるのでそのときはこちらをオフにして下さい。ただし、通常はオンにしておくことをおすすめします。
「コメント・トラックバックの制限設定」をクリックします。ここはデフォルトで「大量コメント・トラックバック制限」がオンになっています。しかし、「国外IPアドレスからのコメント・トラックバック制限」はオフになっています。
スパムコメントやトラックバックの多くは、国外IPアドレスになるので、ここはオンにしておきましょう。
wp-includesのアクセス制限をオンにする
ワードプレスのシステムの中で、もっともハッキングされやすい場所は、「wp-includes」のフォルダです。そこで、このフォルダにアクセス制限をかけていきましょう。
サーバーパネルにある「アクセス制限」をクリックします。
アクセス制限を設定するドメインをクリックします。
「wp-includes」の「アクセス制限」を「ONにする」をクリックします。するとフォルダーに「P」が付きます。続いて「wp-includes」の「ユーザー設定」をクリックします。
「ユーザーID」と「パスワード」を入力したら、「ユーザーの追加」をクリックします。
「BASIC認証の設定の変更を完了しました。」と表示されたら、wp-includesのアクセス制限設定は完了です。
wp-config.phpのアクセス拒否設定
次にwp-config.phpにもアクセス拒否を設定していきましょう。Wordpressでページを作るとデータベースが作成されます。wp-config.phpにはユーザーネームやパスワード情報はもちろん、MySQL データベースへの接続情報などサイトの基礎になる詳しい内容が入っています。
そこで「.htaccess」にコードを追加しておきましょう。まずは、エックスサーバーのファイルマネジャーにログインします。
wp-config.phpのアクセス拒否を設定するドメインを選択します。
「Public_html」をクリックします。
「.htaccess」をクリックしてダウンロードします。
そこに以下のコードを追加します。このとき、文字コードは「UTF-8」になっていることを確認して下さい。
1 2 3 4 | <files wp-config.php> order allow,deny deny from all </files> |
Windowsにデフォルトで入っているメモ帳は使わず、Crescent EveやBracketsといったテキストエディタからファイルは開いていきましょう。
FTPでファイルをアップロードすれば、wp-config.phpのアクセス拒否設定は完了です。
「.htaccess」ファイルを保護する
ここまで設定するとかなり安心ですが、「.htaccessファイル」を改ざんされてしまったら元も子もありません。なので、.htaccessファイルを保護していきましょう。
.htaccessファイルに以下のコードを追記して下さい。
1 2 3 4 5 | <files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </files> |
これで外部から「.htaccessファイル」へのアクセスは防ぐことが出来ます。
ブルートフォースアタックをさらに予防する設定:ユーザー名を表示させない
エックスサーバーを使えば、自動的にハッキングを防止することが出来ますが、念には念を入れてユーザー名も表示されないようにした方が良いと思います。
ブルートフォースアタックは、WordPressのログイン画面からハッカーがユーザー名とパスワードを推測して侵入してくるハッキングです。でも、ユーザー名やパスワードは簡単にわかるものなの?とは思いませんか。
確かにパスワードは難しいです。しかしユーザー名ならすごく簡単に調べることが出来てしまいます。サイトのURLの後ろに「/?author=1」と入力してページを開いてみて下さい。
すると「サイト名/author/ユーザー名/」の順で表示されます。
このようにすぐに確認できるので、パスワードさえクリアーできればログインされてしまいます。そこで、ユーザー名を表示されないように設定していきましょう。
プラグインを使えば、URLに表示されるユーザー名を簡単に変更することが出来ます。
URLに表示されるユーザー名を変更するためのプラグイン:Edit Auther Slug
まずは管理画面の「プラグイン」から「新規追加」をクリックします。
キーワードに「Edit Auther Slug」と入力してプラグインを検索したら「今すぐインストール」をクリックします。
続けて「有効化」をクリックします。
「ユーザー」から「あなたのプロフィール」をクリックします。

画面を下にスクロールします。すると「Edit Author Slug」があります。「カスタム設定」を選択してからURLに表示させたいスラッグを入力します。
ここは下の赤枠で囲んだ部分に入る文字になります。
最後に「プロフィールを更新」をクリックします。
ここまでの設定が完了したら、もう一度サイトの後ろに「/?author=1」と入力して、URLの確認をしてみて下さい。
設定どおりに表示されていたら完了です。このプラグインは作業が終了したら必要がありません。削除しても変更した部分に影響は出ないので、ワードプレスから取り除いてしまっても大丈夫です。
管理画面のテーマの編集を非表示にする
万が一の万が一に備えた対処方です。ここまで対策を立てていても、ハッカーは管理画面にアクセスしてくるかもしれません。侵入された場合、狙われるのはファイルエディタです。
ここにコードを書き込まれてしまったり、テーマファイルを削除されてしまったら、ワードプレスが機能しなくなってしまいます。そこで、管理画面にはテーマの編集を表示しない設定をしていきます。
まずはエックスサーバーのファイルマネジャーにログインします。
編集を加えるドメインをクリックします。
「public_html」をクリックします。
「wp-config.php」をクリックしてファイルをダウンロードします。
このファイルは、賢威テンプレートです。ファイルを開いて「*編集が必要なのはここまでです!wordpressでブログをお楽しみください。*」というコメントを探して下さい。
上のコメントは英語表記になっていることもあります。その場合は「That’s all,stop editing! happy blogging.」です。そのすぐ上に以下のコードを追加します。
1 | define('DISALLOW_FILE_EDIT', true); |
コードを追加したら保存して、FTPなどでサーバーにアップロードしていきましょう。
長期でブログを運営していくなら、セキュリティが強化されているサーバーをおすすめします。ブログは大切な資産です。簡単な対策でも、万が一のときには役に立つので、ぜひ設定してみて下さい。