WordPressは手軽に開発ができて自由度が高く、世界で最もシェアが高いCMSです。
しかしユーザー数が多いがゆえに、攻撃者に狙われやすく、しばしば脆弱性も報告されています。
今回はそんな人気者でやんちゃなWordPressを、やさしくサポート するために最低限やっておくべきセキュリティ対策を紹介します。
1.アップデートを迅速に行う
アップデートはWordPressのセキュリティ対策の基本です。
WordPress本体、および使用しているプラグインに対して迅速に行うことを心がけましょう。
1-1.WordPress本体のアップデートは「マイナー」か「メジャー」で対応が異なる
まずはWordPress本体のアップデート。
WordPressのアップデートにはマイナーアップデートとメジャーアップデートの2種類が存在します。
マイナーアップデートは脆弱性やバグを解消するための小規模なアップデートです。
サイトに与える影響は少なく、CMSの安全性に直結するアップデートですので、基本的には自動更新を有効にして、迅速に対応することを推奨します。
一方、メジャーアップデートは、機能追加や仕様変更など大幅なアップデートになります。各方面に大きな影響が出る可能性があるため、慎重な対応が必要です。
1-2.プラグインのアップデートで脆弱性からサイトを守る
プラグインも攻撃されやすい要素の一つです。
JVNなどのWebサイトを見ると、WordPressプラグインで数多くの脆弱性が報告されていることがわかります。
脆弱性を放置したまま使用し続けると、攻撃される危険性が高まりますので、速やかにアップデートしましょう。
参考
- 脆弱性対策情報データベース. JVN iPedia. (2021-07-07)
プラグインのアップデートでは、事前に互換性を確認する方法があります。
WordPress更新画面のプラグインには、インストール中のWPバージョンと最新のWPバージョン、それぞれに対する互換性が表示されています。100%と表示されていれば大抵動作するので、アップデートしても問題が発生することはないと判断が可能です。
1-3.WordPressのメジャーアップデートは常に適用すべき?
WordPressの開発元のWordPress Foundationはメジャーアップデートも積極的に行い、常に最新状態にすることを推奨しています。
しかしWordPressのリリース情報を確認すると、2021年現在でも2013年にリリースされた「WordPress 3.7」のマイナーアップデートがリリースされており、かなり長期間に渡って各メジャーバージョンがサポートされていることが分かります。
WordPressのメジャーアップデートはリリースサイクルが4〜6ヶ月程度と短く、動作検証の負担が問題になる場合があります。
推奨するわけではありませんが、支障がないのであれば、マイナーアップデートが行われている間はメジャーアップデートをせず運用するという選択肢もあります。
参考
- Releases. WordPress.org. (2021-07-07)
2.セキュリティに影響する、不要な情報は隠す
WordPressはデフォルトの状態では、余計な情報を公開しています。
中にはセキュリティに影響する要素もあるので、できるだけ不要な情報を隠すようにしましょう。
2-1.meta要素の余分な表記を無くして内部情報を守る
WordPressは様々な情報をmeta要素に表示します。
その中にはWordPressのバージョンなどユーザー伝えるべきではない情報も含まれているため、必要に応じて非表示化しましょう。
プラグインで非表示化する方法もありますが、出す出さないを細かく設定したいのであれば、テーマ内のfunctions.phpに記述することをお勧めします。
2-2.ユーザー名を隠して不正ログインのリスクを軽減
デフォルトでは「WordPressサイト/?author=数字」にアクセスすると、投稿者アーカイブにリダイレクトしてユーザー名がURLから容易に把握できます。
WordPressの管理画面は、ユーザー名とパスワードが分かればログインできるので、不正ログインのリスクを減らすため、投稿者アーカイブは無効化することをお勧めします。
またWP REST APIからでもユーザーの情報を取得することが可能なので、併せて無効化しましょう。
このようなユーザー名の秘匿化もまた、プラグインで対応可能ですが、下記のようにfunctions.phpに記述して対応することもできます。
3.「SiteGuard WP Plugin」を使って管理画面を保護
WordPressへの攻撃は大半が管理画面への不正ログインですので、管理画面を保護はとても重要です。
自力で対応しようとすると、ものすごい手間と時間がかかりますので、プラグインを利用しましょう。
特におすすめのプラグインが「SiteGuard WP Plugin」です。
「SiteGuard WP Plugin」はWordPressの管理画面やログイン周りの処理を保護する無料プラグインで、それらのセキュリティ対策はこれ一本でほぼ対応が可能です。また、国内で作られたプラグインなので日本語にも対応しています。
参考
- SiteGuard WP Plugin. ソフトウェアWAFのJP-Secure. (2021-07-07)
「SiteGuard WP Plugin」については下記の記事で紹介していますので、こちらを参照ください。
「SiteGuard WP Plugin」でWordPressサイトのセキュリティ対策 | BAsixs(ベーシックス)
まとめ:この記事で取り上げた方法で、最低限のセキュリティ対策は可能。それ以上の対策は運用とのトレードオフ!
以上が最低限必要なセキュリティ対策です。
これ以外にもWP REST APIを完全に無効化しちゃうとか、管理画面領域にBasic認証やIP制限かけちゃうとか、やろうと思えばもっとガチガチに対策することも可能です。
しかしその分「利便性が下がる」といったデメリットもありますので、どこまで対応するかは自身の環境に応じて調整しましょう。
BAsixsでは、WordPressサイトのセキュリティ対策をまとめた資料もご準備しております。下記ページからダウンロードしていただいて、セキュリティ設定時の参考にしていただければ幸いです。
【決定版・専門知識不要】WordPressのセキュリティ対策セルフチェック資料 | BAsixs(ベーシックス)
BAsixsでは、Wordpressのセキュリティ・運用面などさまざまな御支援をしております。お困りのことがございましたら、どんなことでも御相談くださいませ。