WordPressの脆弱性によるリスクとは?チェック方法と対策
WordPressはオープンソース型のCMSであり、自由度が高くカスタマイズ性に優れているのが特徴です。世界でもっとも利用されているCMSで、多様なWebサイトを設計できます。
しかしオープンソース型は構成システムが公開されているため、悪意のあるハッカーにも狙われやすく、過去には脆弱性が原因によるネット攻撃の事例もあります。
そこで本記事では、WordPressの脆弱性について詳しく解説し、Webマーケティングの担当者でも始められるセキュリティ対策方法を解説します。
■合わせて読みたい資料
「CMS選びが大変…!」という方に好評!担当者様の代わりに徹底比較してまとめました。
→BtoB企業向け!CMS比較ガイド
目次[非表示]
WordPressの脆弱性によるリスク
総合セキュリティサービスを取り扱うサービス&セキュリティ株式会社の検知した情報(※)によると、WordPressの脆弱性を狙った攻撃は、2021年2月から5月に検知された数だけで2倍以上増加しています。WordPressに不正アクセスされ、個人情報の漏洩やサイト内情報の改ざんなどをされる被害は、個人だけでなく企業や官公庁でも起こっています。
企業サイトに不正アクセスをされてしまい情報漏洩などの問題が起きると、企業の信用損失はもちろんのこと、損害賠償を支払う必要が出てくる場合もあります。
WordPressはこれまでもいくつかの脆弱性が報告されているため、必ずセキュリティ対策を行いましょう。
※参照:注意喚起:WordPressの脆弱性を突いた攻撃の増加について
WordPressサイトの脆弱性をチェックする方法
WordPressを利用したWebサイトの脆弱性をチェックする方法は、以下3つです。
- サイトヘルス機能を使う
- 脆弱性診断サービスを使う
- JVNが提供する脆弱性情報をチェックする
以上のチェック方法はそれぞれで検知できる脆弱性は異なるため、可能であればすべて行うのがおすすめです。
具体的にどのような機能なのかを以下で解説します。
サイトヘルス機能を使う
WordPressの管理画面から脆弱性をチェックできるのが、サイトヘルス機能です。管理画面の「ツール」から「サイトヘルス」を選択します。
サイトヘルス機能を開くと、現在のWebサイトの状態が表示され、どのような改善を行うべきかを提案してくれます。状態が良好でも改善提案は表示されますので、可能であれば対応しておくのがおすすめです。
無料で簡単にチェックできるので、すぐに確認してみましょう。
脆弱性診断サービスを使う
「KYUBI」やセキュリティ企業Sucuri社が提供している「Sitecheck」のような、脆弱性を無料で診断できるサービスの利用もおすすめです。
例えば、Sitecheckであれば、サイトにアクセスして自社サイトのURLを入力するだけで脆弱性の状態をチェックできます。
状態の確認画面は分かりやすく表示されますが、表記のデフォルトは英語のため翻訳して確認するといいでしょう。
JVNが提供する脆弱性情報をチェックする
「JVN(Japan Vulnerability Notes)」とは、日本で利用されているソフトウェアやCMS、アプリケーションなどの脆弱性に関する情報と対策情報を提供しているポータルサイトです。
JVNは独立行政法人情報処理推進機構 (IPA)が共同で運営しており、信頼性の高い情報源と言えるので、WordPress含めたソフトウェアの脆弱性情報をチェックするのにおすすめです。
例えば以下の画像のように、WordPressのプラグインに脆弱性が発見されたなどの情報を得られます。
出典:JVN(Japan Vulnerability Notes)
脆弱性に対する知識や情報を常に最新の状態に保つためにも、こまめにJVNの情報を確認しておくといいでしょう。
WordPressの脆弱性から守る7つの対策
WordPressの脆弱性への主な対策は、以下の7つです。
- パスワードは解析されにくい文字列を使う
- アップデートを最新の状態に保つ
- バックアップを取っておく
- 使っていない機能とプラグインは無効化する
- 常時SSL化しておく
- 管理画面へのIP制限
- 「wp-config.php」の権限設定
専門知識のないWebマーケターでも対応可能な基本的な対策もあるので、ぜひ参考にしてみてください。
パスワードは解析されにくい文字列を使う
ログインパスワードを複雑な文字列で設定する対策は基本です。しかし、自社名やサービス名をパスワードに入れ込む企業も多く、解析されやすい文字列を設定しているケースもあります。
解析されにくいパスワードの特徴として、以下を参考にして確認してみましょう。
- 企業名やサービス名を使用していない
- 英単語をそのまま使用していない
- 大文字小文字のアルファベット・数字・記号が混在している
- 最低でも8〜16文字程度の文字列で構成されている
よくある解析されやすいパスワード例として挙げられるのは「企業名+設立年」もしくは「企業名+サービスローンチ時期」です。
第三者に推測されやすい事業内容などとはまったく関係のない複雑な文字列をパスワードに採用しましょう。
アップデートを最新の状態に保つ
WordPressは不定期でアップデートが行われるため、こまめに更新情報を確認して常に最新のバージョンにしておきましょう。旧バージョンのままだと脆弱性を狙われやすくなり、不正アクセスやサイト情報改ざんなどの攻撃を受けやすくなります。
また、アップデートはWordPress本体だけではなく、プラグインやテーマのアップデートも必ず行っておきましょう。実際に、WordPressやプラグインのアップデートを怠っていたことにより脆弱性を突かれ、不正アクセスなどの問題が起きた事例もあります。
バックアップを取っておく
WordPressのシステムデータのバックアップは、以下2つの観点から、必ず行っておきましょう。
- ハッキングが起こった際にサーバー内の全データを削除する必要があるため
- サイト内の編集ミスや何らかの不具合により修復が必要になる可能性があるため
また、ハッキングに対処してリセットしたあとの注意点として、バックアップを復旧させる際に、改ざんされたデータがないかを必ず確認してください。確認方法としては、HTMLソースと比較する方法やセキュリティソフトでスキャンするなどの方法で確認できます。
バックアップはセキュリティ対策でも基本的な施策ですが、最新バージョンに保っておくことは忘れがちです。サイト情報を編集したり何かしらの更新を行った際は、こまめにバックアップを取るようにしましょう。
使っていない機能とプラグインは無効化する
長期間使われていないテーマやプラグインは無効化もしくは削除しておくようにしましょう。有効化されずアップデートもされないプラグインは脆弱性を含んでいる場合があり、ハッキングリスクがあります。
実例として、2018年に官公庁の管轄するWebサイトがハッキング被害に遭い、悪意のあるサイトに誘導されるというケースが起っています。ハッキングの原因は、プラグインを古い状態で放置し、脆弱性を突かれたことでした。
プラグインは容易にインストールできるので便利ですが、管理も煩雑になりがちです。セキュリティプラグインの導入も有効な手段として考えられますが、こまめなアップデートを怠ってしまうとプラグイン自体の脆弱性を狙われる可能性もあるので、注意が必要です。
常時SSL化しておく
SSL化とは、ドメインのURL冒頭を「http」から「https」に変更する設定を言います。
httpsにすることでWebページを閲覧するユーザーとの通信を暗号化でき、第三者からのデータ改ざんや盗聴、なりすましを未然に防げるのです。
反対にhttpsにしていないと、Webページ表示後に警告表示が出るため、ユーザーが危険に感じて離脱してしまう可能性もあります。また、SEOの観点から見てもSSL化は必要な施策なので、現場で設定されていない場合はすぐに設定するようにしましょう。
レンタルサーバーを利用している場合は、各サーバー会社のアカウントからSSL化の設定を簡単に行えます。
管理画面へのIP制限
特定のIPアドレスのみログインできるよう設定するのは、セキュリティ対策に効果的です。自社にしか管理画面にログインできないように設定すれば、外部からの不正ログインリスクを軽減できます。
レンタルサーバーを利用している場合、IPアドレス制限の設定は各サーバー会社ごとのアカウント内で可能です。代表的なレンタルサーバー3社の設定方法は、以下を参考にしてみてください。
▼参考
・エックスサーバー
・ロリポップ
・さくらのレンタルサーバー
「wp-config.php」の権限設定
WordPress内のデータベース情報を保有する「wp-config.php」というファイルが不正アクセスされると、WordPress全体を乗っ取られてしまう可能性があります。そのため、wp-config.phpファイルの権限を変更して、管理者以外のアクセスを禁止することでセキュリティ対策が可能です。
wp-config.phpファイルの権限変更の手順は以下の通りです。
- FTPソフトウェア(FFFTP or FileZilla)でWordPressにアクセス
- 「public_hrml」フォルダにある「wp-config.php」を選択
- サーバー属性を「現在の属性(FFFTP)」または「属性値を600(FileZilla)」に変更
またwp-config.phpと同じファイルにある「.htaccess」を編集してアクセス権限を変更する方法もあります。.htaccessファイルをダウンロードし、テキストエディタで以下のコードを記述します。
<Files wp-login.php>
Order deny,allow
Deny from all
Allow from (固定IPアドレスを指定)
</Files>
注意点として、コードは必ず改行まで含めて記述してください。また、ネットワーク環境が固定IPアドレスでない場合は指定できないので、編集前に確認しておくようにしましょう。
WordPressの脆弱性が不安なら、有料CMSという選択肢も
WordPressを利用するうえで、必要なセキュリティ対策が難しいと感じる場合や脆弱性に不安が残る場合は、有料のCMSを導入するのもいいでしょう。
▼参考資料
→意外と難しい? WordPressの向き不向きと、CMSのベストな選び方
脆弱性によるセキュリティ対策が技術的に難しい場合は、サイト運用を外注する方法もあります。ただし、外注先によっては更新を行う際のコミュニケーションに工数がかかってしまったり、すぐに対応できず更新に時間がかかったりする場合も考えられます。
可能な限り自社で管理しやすい体制を整えるためにも、有料CMSを導入するのもおすすめです。
例えば、弊社の提供するCMS「ferret One」の場合、脆弱性診断を毎週定期的に実施しており、脆弱性が見つかり次第修正と対策強化を行っています。 また、月初にアップデートされるシステムのセキュリティリスクを見つけられるよう運用されているので、脆弱性への心配も解消されるでしょう。
脆弱性のあるWordPress、適切に対策しよう
WordPressは少なからず脆弱性があるため、セキュリティ対策は欠かせません。不正アクセスやデータ改ざんなどの被害に合わないよう、定期的に以下の対策を行いましょう。
- パスワードは解析されにくい文字列を使う
- アップデートを最新の状態に保つ
- バックアップを取っておく
- 使っていない機能とプラグインは無効化する
- 常時SSL化しておく
- 管理画面へのIP制限
- 「wp-config.php」の権限設定
もしWordPressの脆弱性に不安が残るようであれば、ferret Oneなどのセキュリティ対策が施されているCMSに乗り換えるのもおすすめです。
自社に合うCMSの選び方と主要なCMSツールの比較表をまとめた資料もございます。ぜひご活用ください!
→BtoB企業向け!CMS比較ガイド
弊社のferret Oneは脆弱性の不安を解消できるだけではなく、BtoB向けWebマーケティングの効率化と生産性向上を図る機能が充実しています。
セキュリティ対策に加えWebマーケティングの強化を検討されている場合は、ぜひお気軽にお問い合わせください。