WordPress のセキュリティの話 【備忘録】

WordPress で作ったサイトが、改ざんされたり、乗っ取られたり、消されたら、困る…ということで、今回は、WordPerss を始めるにあたって、どんな対策をしておけばよいのか調べてみました。

 

自分用備忘録としての素人のまとめです。ご参考いただく際は、自己責任でお願いします。

 

 

はじめにすべきこと

1.テーマやプラグインは公式のもの (もしくは人気のあるもの) を使う

  • 厳しい審査を経ている
  • 脆弱性やバグに対する対応が早い

セキュリティの面からは、テーマの編集は必要最低限にすることも大事です。

 

 

2.アカウント情報を設定する

  • デフォルト のユーザー名「admin」を変更する。
  • パスワードは、推測されにくいものを設定する。
  • ニックネームを使用する。

【ニックネームの使用について】

投稿を送信したり、コメントに答えると、通常は「ニックネーム」が表示されます。デフォルトではニックネームがアカウントのログイン名 (またはユーザー名) に設定されています。

なので、ニックネームと表示名を変更しておくのがベスト。

 

WordPressの操作画面: 「ユーザー」→「プロフィール」

→「ニックネーム」と「ブログ上の表示名」を変更。

 

 

Slug に表示されるユーザー名を隠す

ユーザー名を知られると、総当たり攻撃の成功率が上昇するようです。

WordPressは、初期設定では投稿者ごとに「投稿者アーカイブ」が作成されるようになっていて、そこからユーザー名、つまりログインIDが外部に公開されているような状態になっています。

(投稿者アーカイブページ: ユーザーのアカウント名が slug としてURLに表示されている)

対策. 「Edit Author Slug」というプラグインで、投稿者アーカイブのURLに使用される slug を編集する。

使い方はこちらの方のページを参考にさせていただきました。

WordPressプラグイン | Edit Author Slugプラグインの使い方(投稿者アーカイブで表示されるユーザー名(Author Slug)を変更)

 

その他.
SITE GUARD というプラグインでのユーザー名漏洩防御を設定も併用したら良さそうです。
これを使うと、“/?author=数字” へのアクセスによるユーザー名の漏洩が防止されます。

 

 

3.「wp-config.php」の設定を変更する

ここにIDやパスワードが設定してあります。なので、ここに外部からの不要なアクセスがないよう、設定を変えることが望ましいとのこと。

 

1. wp-config.phpのファイル属性を変更する

FTPソフトで設定できる「ファイルの属性 (パーミッション)」を変更。

初期設定は「644」→「400」に変更すると、

ファイルの所有者しかファイルが読み込めないようになる。

※ 共用サーバーの場合、400の変更できないこともある。

 

2.「.htaccess ファイル」に記述を追加する

wp-config.php と同じディレクトリにある「.htacess」というファイルに下記のように追記する。

<files wp-config.php>

order allow,deny

deny from all

</files>

 

.htaccess ファイルは、ディレクトリ毎の設定情報をまとめておくファイル。

上記設定により、外部からのアクセスができないようになる。

誤って設定すると不具合が発生するため、慎重に。

 

【参考】

【エックスサーバーの wp-config.php てどこにあるの?】- そんな日もあるさ

 

4.   SSL化を行う

多くのドメインの管理画面で、独自SSLの設定ができるようになっているかと思います。 

独自SSLの設定ができたら、WordPressの設定画面 (設定→一般) を開いて、

WordPress アドレス (URL) とサイトアドレス (URL) の「http」を「https」に変更します。

 

ちなみに、私はドメインはSSLの設定をしていたのですが、

WordPress側でSSL化をするのを忘れていました。

すると、しばらくしてWordPress 側で「サイトヘルス」のチェックにひっかかって、こんなの出てきました。

f:id:mikanusagi:20210728192855p:plain

で、「サイトを更新して、HTTPPSを使用する」を選択して、

無事SSL化が完了しました。(∩´∀`)∩ 

f:id:mikanusagi:20210728192924p:plain

 

 

5.もっと強化するなら

5-1. データベースの接頭辞を変更する

Word Press のデータベースのテーブルには、

記事やオプション設定などの様々な情報が格納されています。

そのテーブルは初期設定では「wp_〇〇〇」というプレフィックス (接頭辞) で記載されているため、テーブル名が特定されやすいとのこと。

「wp_」の部分を他の文字列に変更するのがおススメらしい。

 

 簡単な対応方法: 例えば「All In One WP Security & Firewall」というプラグインの「データベースセキュリティ」を使うと簡単に変更できます。

 

5-2. WordPress のバージョン情報を削除する

WordPress では “headタグ” 内などに WordPress のバージョン情報が自動的に表示されるようになっています。

WordPress に脆弱性が見つかった際には、新しいバージョンが公開されますが、同時にその脆弱性に関する情報も開示されます。古いバージョンのままになっていて、かつそのバージョン情報が表示されていると、攻撃の対象になりやすいというリスクがあります。

ということで、万が一のことを考え、この情報を削除しておくのがよさそうです。

 

簡単な対応方法:  例えば「All In One WP Security & Firewall」というプラグインの「設定」>「WP バージョン情報」からこの情報を削除することができます。

 

 

6.プラグインでセキュリティを強化する

サーバーのファイルを書き換えればセキュリティ強化はできますが、

素人の私は、よくわかっていない状態であまりファイルとか書き換えたくないところ。

間違えたら、不具合出ちゃうかもですしね。。

 

セキュリティ対策できるプラグインを使うと設定が簡単だし、管理も楽になります。

1と2は使いやすいし、やっておいた方が良いことを大概できるようになっているのでおすすめです。

ここにご紹介していないものでもいいものはあると思いますが、いずれにしても、プラグインは自分に本当に必要なものだけ厳選して導入するのがベストです。

1. SiteGuard WP Plugin 🌼
  • 基本的なセキュリティ対策を網羅。
  • 主に管理画面への不正アクセスを阻止。

インストールして有効化するだけで、機能するようになる。

 

このプラグインを有効化すると、ログイン画面のURLなどがデフォルト設定で変更になるので、使い方を確認してから有効化するのがよいです。

ちなみに変更後のログインページのURLは、

「http://サイトのURL/wp-admin」から「https://サイトのURL/他の文字」となります。

他の文字の部分は、デフォルトでは login_@<5桁の乱数> ですが、自由に変更できます。

メールの設定をしておくと、変更になったURLがメールで届きます。

 

2. All In One WP Security & Firewall 🌼

スパムコメントのブロック機能などあり。総合的なセキュリティ対策ができる。

 

3. BackWPup 🌼

ページのバックアップができるプラグイン。後述。

 

4. Edit Author Slug

前述の通り、投稿者アイカーブのURLのslugを変更するプラグイン。
 

5. Akismet Anti-Spam

スパムコメントを自動的に専用のスパムフォルダに振り分けるためのプラグイン。

WordPress2.0以降には標準搭載されていて、有効化するだけで利用可能。

コメント欄を設ける場合は設定すると便利そうです。

 

…が、商用利用…(ここでは広告を貼る場合も含むようです) は有料版になるようなので、広告を貼る予定の場合でコメント欄を設ける場合は、他のプラグインなどで対応するのでも良いかもしれません。

例えば、前述のAll in One WP Security & Firewall や SiteGuard でスパムコメントの防止をするとかですね。

私はAkismetは使用しないことにしました。 

 

 

定期的に確認すべきこと

1.WordPress の本体やテーマは最新版にする

アップデートの通知が管理画面に表示されるので、その都度更新する。

脆弱性が発見された場合、登録したメールに連絡がくることがあるので、しばらく管理画面にアクセスしない時でも、最低限メールはチェックしておくのが良いかと思います。

プラグインは自動更新ができるようなので、その設定をしておくのが良さそうです。

 

2.バックアップをとる

サーバーのバックアップ機能がある場合はそれを利用するのがベター。

 

「BackWPup」というプラグインを使うと、

WordPress の管理画面からデータベースやテーマのバックアップをとることができる。

バックアップはこれだけで十分らしいです。

↓ こちらわかりやすい解説のページです。

BackWPUpで確実にWordPressのバックアップを取る方法

 

3.不要なプラグインは削除する

古いプラグインや、利用者が少ないプラグインを使用することはリスクがあります。

きちんと管理されて、適宜アップデートされているものを必要最低限使用するようにします。

 

  

最後に

今回はWordPressのセキュリティの話でした。

いろいろなサイトを検索して、書いてあることがちょっとずつ違ったりして、

比べてみるのも面倒くさくて、やらなきゃいけないけど、、

ああなんか面倒くさい!!

…数ヶ月放置する事態に陥っていました。(T . T)

 

とりあえず、これやっとけばまあいいかと思うものをまとめました。

備忘録ではありますが、どなたかのお役に立てれば幸いです。

でもまあ、前述の通り私は素人なので、あくまでご参考程度、ご利用は自己責任でお願いいたします。…あ、余計ややこしいですか?あは(* ´∀` )

まだ足りなかったり、間違っているところがあったらご指摘いただけますと幸いです。。

 

それでは今回はこのへんで。ヽ(*´∀`)