WordPressのセキュリティー対策

更新:

WordPressのセキュリティー対策として気をつけるのは次の3つです。

  • WordPressブログにログインするパソコン等の脆弱性をなくす
  • WordPressの脆弱性をなくす
  • WordPressへの不正ログインを防ぐ

コアサーバーでおこなうセキュリティ対策の設定方法はこの記事の後半で説明しています。

WordPressブログを更新するパソコンやスマートフォンの脆弱性をなくす

WordPressのセキュリティー対策ができていても、ブログ更新に使うパソコンやスマホに脆弱性(ぜいじゃくせい) (セキュリティ上の欠陥)があれば、そこからログインパスワードが漏れたり、WordPressへ不正な操作がされる危険があります。

使用しているOS、インストールしているアプリケーションなどのバージョンをできるだけ新しくしておきましょう。最新バージョンが安心ですが、ハードウエアの制約もあるので可能な限りで。しかし、あまりにも古すぎるOSや開発が中止されているアプリケーションは使用を避けるのが無難です。

コンピュータウイルスやマルウェアに感染しない

感染すると深刻な問題が起こる可能性が高い。メールの文面からのリンクも危険です。送信元に気をつける、どこにジャンプするか分からないリンクは踏まないを心がけましょう。

Emotetは多くのマルウェアと同様に、被害者にメールに添付されたファイルやリンクを開かせることで感染し、(中略)現在ログオンしている被害者のシステムに保存されているすべてのネットワークパスワードを窃取

進化し続けるマルウェア「Emotet(エモテット)」が米国等で感染拡大中 - 富士通

メールは、<お世話になっております>とありがちなあいさつで始まり、中身は新型コロナウイルスの被害状況を伝える内容で、開いた銀行員も特に違和感はなかったという。

コロナに便乗、金融機関にサイバー攻撃が急増中 最恐のマルウェアEmotet、国立感染症研究所を騙って席巻中(1/3) | JBpress(Japan Business Press)

参考:マルウエア Emotet の感染に関する注意喚起(2019-11-27)

安全性の低いWi-Fi接続でWordPressにログインしない

WordPressにログイン時に安全性の低いWi-Fi(無線LAN)で接続していると、悪意ある他者にログインURLとログインパスワードを知られる可能性があります。

安全性がわからないWi-Fiでネット接続しているときは、WordPressにログインしないようにするか、ログインするなら信頼性の高い VPN サービスを使いましょう。

WordPressの脆弱性をなくす

WordPress、テーマ、プラグインは常に最新版にしておきます。過去に不具合が報告されたバージョンも存在するので古い版のまま使うのは危険です。

現在判明していているWordPress関連の脆弱性は、JVN iPedia - 脆弱性対策情報データベースで調べることができます。

プラグインの脆弱性はまだ発見されていないだけかもしれず、プラグイン数が増えると危険も増すことを考慮しましょう。必要なもの以外はインストールしないように。インストールしたものの使わないものはアンインストールして、必要になったときに再インストールすれば大丈夫です。

WordPressへの不正ログインを防ぐ

WordPressの不正ログインを許してしまいサイトを乗っ取られると、内容を書き換えられる、内容の完全消去、アクセスした人のパソコンやスマホにコンピュータウイルスなどを感染させる、そのほか未知の危険もあります。

ログインパスワードを類推不可能なものにする

WordPressへのログインは、「ユーザー名またはメールアドレス」と「パスワード」が必要になりますが、ユーザー名は簡単に調べられるので、パスワードを安易なものにしていると、サイトが乗っ取られる危険が増します。

ユーザー名は、
http://example.com/?author=1
で判明します(example.comは仮のドメイン)。

類推不可能とは一般的にはランダムな文字列で「Ss5QvsM)p6K2ZClhTe」などですが、これだと暗記できないので、例えば「kyounobangohandousuru(今日の晩ご飯どうする)」のように日本語の文章を英文字で書いたものにしておけば、日本語話者以外には意味不明な文字列ですし、さらに独自の文体にしておけば安全性の高いパスワードになるでしょう。

ログインするIPアドレスを限定する

WordPressにログインする場所が決まっているときは、その場所のIPアドレスからのみログインできるようにできます。

ログインページ(wp-login.php)に対して特定IP以外からのアクセス制限をするには、次の記述を .htaccessファイルに追加します。

<Files wp-login.php>
order deny,allow
deny from all
allow from xx.xx.xx.xx(アクセスを許可するIPアドレス)
</Files>

IPアドレスは、「確認くん」などのサイト確認することができます。

数日間、IPアドレスを確認してみてIPアドレスの数値が同じなら固定IPと考えていいでしょう。ただし、ルーターの再起動などでIPアドレスが変更される可能性があるので注意してください。

ログイン画面にBasic認証を掛ける

ログイン画面を表示するのにパスワードを必要にすることで、安全性を高めることができます。

参考:Basic認証を設定する方法 - WordPressのログイン画面にパスワードをかける

SiteGuard WP Pluginを使用する

日本語対応のセキュリティープラグイン。IPアドレスによるログイン制限をおこなえない場合にお薦めです。

参考:SiteGuard WP Plugin 開発元による解説ページ

WordPress のダッシュボード > プラグイン > 新規追加 からインストールすることができます。

SiteGuard WP Plugin

SiteGuard WP Plugin

そのほかのセキュリティー対策

WordPressファイルのパーミッションを変更する

重要ファイルに与えられているパーミッション(ファイルに対するアクセス権)を変更して、さらに安全性を高めることができます。

ファイル名 設定するパーミッション
.htaccess 604
wp-config.php 400

xmlrpc.phpを無効にする

xmlrpc.phpファイルを利用したDDoS攻撃がおこなわれる可能性があるので、ファイルへのアクセスを制限します。ただし、メール投稿機能やピンバック機能を利用する場合は設定できません。

参考:今度はWordPressが踏み台に、Pingback機能を悪用しDDoS攻撃:多数の.JPサイトも踏み台化 - @IT

次の記述を .htaccessファイルに追加します。

<Files xmlrpc.php>
order deny,allow
deny from all
</Files>

あるいは、xmlrpc.phpファイルのパーミッションを「400」へ変更します。

コアサーバーのWordPressセキュリティ対策(設定方法)

コントロールパネルのサイト設定から、セキュリティ対策をおこなうドメインを選び、ファイルマネージャーを起動します。

サイト設定のファイルマネージャーを起動

net2ftp

ファイルマネージャーでウェブサイトの構成ファイルの作成・編集などができます。ファイルマネージャー画面に入るとドメインのディレクトリの一番上の階層(ルートディレクトリ)が表示されます。

「.htaccess」を✓で選択して右端にある「編集」でセキュリティ対策の記述を書き込んで設定をおこないましょう。

.htaccess の編集

.htaccess

IPアドレスによるログイン制限の記述と、SSL設定のためのリダイレクト文を同時に書き込みます。ログイン制限をしないとき、SSL設定をしていないときは記述不要です。

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]

<Files wp-login.php>
order deny,allow
deny from all
allow from xx.xx.xx.xx(アクセスを許可するIPアドレス)
</Files>

上記の「example.com」は仮ドメインです。

IPアドレスは、「確認くん」などで調べられます。

確認くんでIPアドレスをコピーする

確認くん

元から書いてある部分は消さずに新しい記述を追加して保存してください。フロッピーディスク(現物を見たことがない人も多いとおもいますが過去の記録メディアです)のアイコンが保存するボタンになっています。文字コードの部分はそのままでOK

.htaccess へ記述

2-wp-htaccess-003

矢印アイコンをクリックしてディレクトリの画面へ戻りましょう。

4-wp-htaccess-1

ディレクトリ画面に戻ったら .htaccess, wp-config.php, xmlrpc.php を ✓で選択して、画面右上隅の「属性変更」をクリックします。

ファイルの属性変更

ファイルの属性変更

属性を変更:の ✓マークを外して、それぞれ 604, 400, 400 になるように設定します。上部にある ✓マークをクリックすると属性変更が完了。その後、矢印アイコンでディレクトリに戻りましょう。

属性変更

6-wp-permission-02

設定は以上です。画面右上隅のアイコンからファイルマネージャーを閉じます。

9-net2ftp-osushi-quit