【初心者向け】WordPressではじめにやっておきたいセキュリティ設定

こんにちは!管理人のうみねこ(@penta59631)です。

「WordPressでブログを始めてみたけど、デフォルト設定で問題ないの?サイバー攻撃とかされないかちょっと心配。セキュリティ対策について最低限どういうことをしておけばいいか知りたい。」

という方に向けた記事です。

この記事の内容
  • WordPressで最低限やっておきたいセキュリティ設定について紹介します。

WordPressはデフォルト設定だとセキュリティ的に危ない部分がいくつかあります。

今回はそういった箇所について、最低限やっておいた方がいいセキュリティ対策を紹介します。

スポンサーリンク

WordPressではじめにやっておきたいセキュリティ設定

ブログをhttps化する

まずはじめにやっておいた方がいいのがブログをhttps化することです。

基本的にどこかのサイトにアクセスする際、「http://○○.com」あるいは「https://○○.com」というようなアドレスで接続します。

httpとhttpsで接続する際の違いは、内容を暗号化してやり取りするか、暗号化せずにやり取りするかという点です。

httpで接続した場合、内容が暗号化されずにやり取りが開始されます。

暗号化されないことで問題になるのが第三者による内容の盗聴です。

中間者攻撃といったりします。

簡単に言うと自分とは別の人がサーバとの通信内容を勝手に見て情報を盗み出す攻撃です。

セキュリティ対策が甘い公衆無線LANなんかで被害に合うケースが増えています。

単純にブログの記事を見るだけであれば、個人情報なども含まれていないので大丈夫だろうと思う方もいるかもしれません。

ですがブログの記事を更新する際、管理画面からログインしますよね。

そのログイン情報が盗み取られてしまったらブログを勝手に書き換えられたりすべての記事を消されたりというような自体にもなりかねません。

もちろんhttpにしたからと言って必ず盗聴されるというわけではありませんが、Googleもhttpのサイトには警告を出すようにしています。

そのためブログのhttps化をまず行いましょう。

https化はそれぞれのサーバによって対処方法が異なります。

レンタルサーバであればそれぞれのサイトにhttps化のマニュアルがあると思うのでそちらを参考にしてみてください。

WordPressを最新版にアップデート

WordPressは最初にインストールした場合、最新のバージョンではないことがあります。

バージョンアップは、機能が追加されるだけではなくセキュリティの問題を修正するという意味も含まれています。

仮にセキュリティ的に問題があるバージョンを使い続けていた場合、攻撃者がその問題を突いて攻撃を仕掛けてくる場合があります。

そのため、WordPressは常に最新バージョンにすることを意識しましょう。

利用しているバージョンについては、WordPress管理画面の[ダッシュボード]-[更新]から確認することができます。

WordPress管理画面関連のセキュリティ強化

WordPress管理画面へのアクセスについてもセキュリティを強化しましょう。

WordPress管理画面はデフォルトだと一律同じURL、同じアカウント情報となっています。

それをそのまま使ってしまうと、攻撃者に不正にアクセスされる可能性があります。

まずは管理画面のユーザー設定を行いましょう。

管理者ユーザー作成及びadminユーザー削除

WordPressのデフォルトの管理者ユーザーは「admin」です。

このユーザーをそのまま使っていると、パスワードが特定されてしまった場合、不正にアクセスされてしまいます。

まずは新しい管理者ユーザーを作成しましょう。

WordPress管理画面の[ユーザー]-[新規追加]から追加することができます。

その際、権限グループは管理者を選択してください。

パスワードについては、「パスワードを表示」という箇所をクリックすると自動で強度の高いパスワードを提示してくれるためそれを使うことを推奨します。

とはいえそんなパスワード覚えられないという人もいると思います。

そういう方向けにパスワードを管理するという観点でおすすめツールまとめているので参考にしてみてください。

続いて管理画面の[ユーザー]-[ユーザー一覧]からadminユーザーを選択し、削除します。

ユーザーの投稿の処理関連のメッセージが出た場合は、作成したユーザーにアサインするようにしてください。

この作業をしなかった場合、投稿した記事が消えてしまいます。

SiteGuard WP Pluginの導入

さらにWordPress管理画面へのセキュリティ強化についてはSiteGuard WP Pluginというプラグインがおすすめです。

このプラグインは以下の対策を行うことができます。

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

それぞれ機能の有効・無効を指定できるのですが、私はフェールワンスとWAFチューニングサポート以外は有効にしています。

フェールワンスは正しい情報を特定しづらくするという効果もありますが、運用面の作業が増えるというデメリットもあります。

パスワード自体を長くすれば推測される可能性も低くなるためそれぞれの判断で有効・無効を指定してみてください。

設定ファイルへのアクセス禁止設定

WordPressはwp-config.phpというファイルが設定ファイルとなります。

このファイルへの外部からのアクセスを禁止する設定を行いましょう。

アクセス禁止については.htaccessというファイルへ以下内容を書き込んでください。(wp-config.phpは.htaccessと同じ箇所に配置してください。)

.htaccessへのアクセス方法については各サーバ会社にマニュアルがあると思うのでそちらをご参照ください。

<files wp-config.php>
order allow,deny
deny from all
</files>

スパムコメントのブロック

ブログではコメントを受け付けている場合は、スパムコメントのブロックを行うことを推奨します。

スパムコメントのブロックについてはAkismet Anti-Spam (アンチスパム)というプラグインの導入がおすすめです。

プラグインのルールに従ってスパムコメントとそうでないものを自動で振り分けてくれます。

ルールについてはいくつかの段階で設定できます。

WAFの設定(ある場合)

こちらはある場合推奨という形になりますが、サーバサービスの会社でWAF機能がある場合はそちらを有効にすることを推奨します。

ちなみにこのブログはロリポップ!のレンタルサーバサービスを利用しているためそちらのWAF機能を有効にしています。

WAFとは、Web Application Firewallの略称です。

サイバー攻撃からWebサイトを守る壁です。

WAFはシグネチャと呼ばれるさまざまな攻撃パターンのリストを持っています。

何か操作が行われた際にこのリストと操作の内容を比較して、リストのパターンに合致すればそれを攻撃と見なしブロックします。

WAFを有効にすると攻撃からサイトを守ってくれる反面、ご検知というものも増えてきます。

正常な操作をしようとしたのにブロックされてしまったり。

以下の記事ではロリポップ!でご検知があった際の対応方法について記載していますのでご覧ください。

スポンサーリンク

さいごに

だれでもインターネット上に情報を公開できる時代ですが、情報流出やサイト改ざんなど思わぬトラブルに巻き込まれてしまう可能性もあります。

そうならないためにセキュリティ対策についてはしっかり行うようにしましょう。