WordPressは世界中で利用されている一方、脆弱性(ぜいじゃくせい)を狙われた攻撃を受けやすいツールでもあります。
サーバー内にウイルスが侵入、Webサイトが知らぬ間に改ざん…となってからでは遅いので、WordPressを使うならセキュリティ対策は必須 of 必須。
本記事で紹介する13個の基本セキュリティ対策を行うことにより、WordPressに対する攻撃リスクを大幅に下げることができますので、ぜひ取り入れてみてください。
本記事でご紹介するセキュリティ対策は比較的容易なものから、少し専門性が必要なものも含まれています。難しい場合は制作会社などに依頼してください。
WordPressセキュリティ対策①:ユーザー名を初期設定のままにしない、パスワードを複雑に

ユーザー名が初期状態の「admin」のままになっていたり、パスワードが簡単なものだと当然、攻撃リスクは高まります。
パスワード総当り攻撃の多くは、ユーザー名がadminのものに対して仕掛けられています。
インストール時のユーザー名をadminにしない、そしてパスワード(管理画面からパスワードの自動生成可能)は複雑なものにしましょう。
WordPressセキュリティ対策②:常に最新版にアップデートを

WordPress公式サイトで『5.6系統の最新版以外のバージョンは安全に使用することができません』と発表されています。
現実的に、かなりのWordPressサイトが最新版にアップデートされずに運用されているので、アップデート情報を確認して常に最新版を使用することをおすすめします。
WordPressセキュリティ対策③:ログインURLの変更

WordPressはデフォルトだと、以下の2つのアドレスから管理画面へのログインURLまで簡単にたどりつけてしまいます。
ドメイン/wp-login.php
ドメイン/wp-admin
URL自体を変更しておくことで、ログイン回りの攻撃リスクを軽減できます。
SiteGuard Pluginなどのプラグインを使って、別のURLに変更できます。
WordPressセキュリティ対策④:不要なテーマの削除

攻撃されるリスクをいたずらに増やすことはないので、不要なテーマは削除しておきましょう。
使用中のテーマと、WordPressデフォルトテーマ(twentyシリーズ)を1つ残しておけばOKです。
WordPressセキュリティ対策⑤:不使用プラグインの削除、更新が古いものは使わない

使用していないプラグインや、アップデートされていないプラグインも削除しましょう。
WordPress本体ではなく、プラグインのセキュリティホールを狙った攻撃も多くあるので対策は必須です。
WordPressセキュリティ対策⑥:管理画面のアクセスを国内のみにしておく

国内にしか管理者がいない場合は、海外からの管理画面へのアクセスを拒否するように設定しておきましょう。
そもそも必要がないですから。
レンタルサーバーによってはデフォルトで設定されている場合もあります。
お使いのサーバー会社でチェックしてみてください。
WordPressセキュリティ対策⑦:ユーザー管理はこまめに

ユーザーに合わせた利用権限が付帯できることもWordPressのメリットですが、定期的なユーザー管理を怠ると情報漏えいなどのリスクにつながります。
不要になったユーザーは削除、そして定期的なパスワードの変更をしておきましょう。
WordPressセキュリティ対策⑧:WordPressで構築されていることを隠す処理

WordPressへの攻撃はWordPressの特性やセキュリティホールを狙っての攻撃が多いため、WordPressで構築されていることを隠すことも有効です。
たとえばfunction.phpにこちらのような不要なタグの出力を停止するコードを記述します。
(以下コードは一例)
remove_action('wp_head','wp_generator');//WordPressのバージョン
remove_action('wp_head','wp_shortlink_wp_head');//短縮URLのリンク
remove_action('wp-head','rsd_link');//外部から編集するためのAPI
WordPressセキュリティ対策⑨:接続元のIPアドレスの制限

- ログイン画面⇒/wp-login.php
- 管理画面⇒/wp-admin/~ (wp-adminフォルダ配下が全て管理画面)
上記画面にIPアドレス制限を掛ければ、たとえば「会社からしか管理画面にアクセスできない」というような状態が作れます。
万が一、管理者アカウントがバレてしまっても、そもそも限られた場所からしか管理画面にアクセスできないので悪さができなくなります。
実装するには.htaccess に下記のようにIPアドレス制限の記述を追加します。
xxx.xxx.xxx.xxx の部分には、アクセスを許可したいIPアドレスを指定します。
<FilesMatch "wp-login.php|wp-admin">
Order deny allow
Deny from all
Allow from xxx.xxx.xxx.xxx
</FilesMatch>
WordPressセキュリティ対策⑩:ログイン画面にBasic認証・2段階認証をかける

Basic認証で二重にパスワードをかけることや、2段階認証プラグインなどを使用することで、セキュリティレベルを高めることもできます。
2段階認証はたとえば、以下のようなものです。
- メールでセキュリティコードを送る
- ワンタイムパスワードを生成する
- QRコードをスキャンする
WordPressセキュリティ対策⑪:パーミションの変更

データベースに接続するための情報や、動作に大きく影響するコードが書かれたファイルwp-config.phpのパーミションを400に設定します。自身をread(4)、グループと他の他人には権限なし(0)を設定するとでセキュリティを高めることができます。
WordPressセキュリティ対策⑫:XML-RPCを無効にする

XML-RPCはWordPressを外部から操作するための仕組みです。
データをXML形式でやり取りするためのものですが、攻撃の標的にされることがあるのでXML-RPCを利用しない場合はアクセス制限をかけておきます。
先ほど紹介したSiteGuard Pluginでも設定が可能です。
注意点としてはXML-RPCを無効化すると動作しないプラグインが出てきたりするので、必要性によっての判断となります。
WordPressセキュリティ対策⑬:バックアップを必ずとっておく

最後は前提の話ですが、バックアップは必ずとっておきましょう、ということ
バックアップをとっておけば万が一、サイトが攻撃された際も、攻撃前の状態に戻すことが可能です。
WordPressならばプラグイン『UpdraftPlus』などを使えば、定期的なバックアップが自動で行えます。
»最も簡単なWordPressバックアップの取り方【62秒で人生救われる】

まとめ:【必須】WordPressセキュリティ対策13個【猛攻に備えヨ】

以上がWordPressサイトに必須のセキュリティ対策13個でした。
すべてやれば完璧とは言えないですが、できるだけ対策をしておくことでセキュリティレベルは確実に上がります。
最後に、ご紹介したWordPressサイトに必須のセキュリティ対策13個をおさらいしておきます。
- ユーザー名を初期設定のままにしない、パスワードを複雑に
- 常に最新版にアップデートを
- ログインURLの変更
- 不要なテーマの削除
- 不使用プラグインの削除、更新が古いものは使わない
- 管理画面のアクセスを国内のみにしておく
- ユーザー管理はこまめに
- WordPressで構築されていることを隠す処理
- 接続元のIPアドレスの制限
- ログイン画面にBasic認証・2段階認証をかける
- パーミションの変更
- XML-RPCを無効にする
- バックアップを必ずとっておく