- オンライン
12/18水13:00〜15:30
「WordPressにセキュリティ対策は必要?」
「WordPressにセキュリティリスクはあるの?」
WordPress使用してwebサイトを制作する場合、セキュリティリスクやセキュリティ対策の有無が気になる方も多いのではないだろうか。
結論から言うと、WordPressにセキュリティ対策は必要だ。
WordPressは世界中で使用されている有名なオープンソースだからこそ、ハッカーの標的になりやすい。実際に、WordPressのマルウェア感染例などは数多く報告されている。だからこそ、WordPressのリスクを把握して、適切なセキュリティ対策を実施することが欠かせない。
そこでこの記事では、WordPressのセキュリティリスクやセキュリティ対策の方法を詳しく解説していく。
【この記事を読むと分かること】
・WordPressの2つの脆弱性
・WordPressのセキュリティリスク
・WordPressのセキュリティが強化できる8つの対策
・WordPressのセキュリティ強化と併せて行いたいポイント
この記事を最後まで読めばWordPressセキュリティリスクを正しく認識でき、適切なセキュリティ対策ができるようになる。WordPressを使用するうえでは欠かせないポイントとなるので、ぜひ参考にしてみて欲しい。
目次
WordPressには、下記の2つの脆弱性がある。
WordPressの2つの脆弱性 |
❶ WordPress自体がオープンソースである ❷ プラグインの脆弱性 |
あらかじめリスクを把握しておくと適切な対策を取りながらWordPressを使用できるため、チェックしておこう。
1つ目は、WordPress自体が世界中で使用されているオープンソースであることだ。マーケティングリサーチを行っているW3Techsの調査によると、2022年8月時点でのCMSにおけるWordPressシェアは64.2%となっている。
CMSのマーケットシェア率 | |
WordPress | 64.2% |
shopify | 6.2% |
Wix | 3.4% |
Squarespace | 3.0% |
参考:W3Techs「World Wide Web Technology Surveys」
2位以降のCMSとのシェア率が大きく異なり、世界中で非常に多くの人が利用していることが分かる。
ハッカーの立場で考えると、利用者の多いシステムを狙ったほうがハッキングに成功する可能性が高くなる。WordPress内の脆弱性(システム上の弱いところ)を1つ発見できれば、WordPressを利用している多数のWebサイトを標的にでき効率よくハッキングが進められるのだ。
そのため、WordPressはハッカーの標的となりやすい背景がある。そのうえ、WordPressはオープンソースであり、世界中の開発者が応用できるようコードを公開している。
コードは開発者のみでなくハッカーも閲覧できるため、脆弱性の発見やセキュリティをかいくぐる施策を検討しやすい状況になっている。
2つ目は、WordPressのプラグインの脆弱性だ。WordPressのプラグインとは、WordPress特有の拡張機能のことだ。必要なプラグインをインストールし有効化することで、WordPressに機能を追加できる。
WordPressのプラグインは世界中の不特定多数の人が作成しているため、セキュリティが不十分なものが多々ある。
マルチプラットフォームのセキュリティ会社SUCURIの2021年のレポートには、昨今は脆弱なプラグインがマルウェア感染のリスクを高めていると記載されている。
最近脆弱なプラグインやその他の拡張機能を含むWebサイトは、マルウェアキャンペーンに巻き込まれる可能性が最も高くなります。
実際に、ソフトウェアの脆弱性情報を公開しているJapan Vulnerability Notesの「脆弱性対策情報データベース検索」を見てみると、下記のようにWordPressに関してはプラグインの脆弱性が並んでいる。
出典:Japan Vulnerability Notes「脆弱性対策情報データベース検索」
WordPress本体はアップデートを繰り返しており、脆弱性を発見しにくくなってきている。そこで、日々新しく誕生するプラグインやセキュリティ精度の低いプラグインがハッカーの標的になりやすくなっているのだ。
WordPressの脆弱性が把握できたところで、実際にはどのようなセキュリティリスクを引き起こすのか気になるところだ。WordPressのセキュリティリスクとしては、主に下記の3つが考えられる。
WordPressのセキュリティリスク |
❶ マルウェアへの感染 ❷ 情報漏えい ❸ 情報の改ざん |
それぞれどのようなリスクとなるのか、しっかりと把握しておこう。
マルウェアとは、デバイスに不利益を与えるソフトウェアやプログラムの総称だ。
・コンピューターウイルス
・ワーム(他のプログラムに依存せず単独で行動できるウイルス)
・スパイウェア(知らないうちにコンピューターにインストールされ、個人情報などの盗む)
などが当てはまる。
SUCURIの2021年のレポートでは、SUCURI社が修復をしたWebサイトのうち61.65%からマルウェア感染が確認されている。(調査全体の95.62%がWordPress )
同レポートでは、脆弱なテーマやプラグインがマルウェア感染のリスクを高めていると注意喚起をしている。
マルウェアにはさまざまな種類があるので被害の規模や手口は一概には言えないが、最悪の場合にはWordPressをロックして身代金を請求したり二度と使用できなくなったりなどの被害へとつながる。
WordPressで制作したWebサイトやWordPressの制作しているコンピューター内には、多くの個人情報が含まれる。ハッカーはこれらの個人情報を盗むことを目的に、仕掛けてくることがある。
実際に、WordPressを使用したWebサイトからクレジットカードの情報をスキミングする被害が出ている。クレジットカードのスキミングはEコマースサイトを標的としている傾向があり、効率よく多くのクレジットカード情報を引き出そうとしているようだ。
クレジットカードの他にも氏名や住所、購入履歴なども個人情報に該当する。これらの個人情報が外部に流出すると、企業や店舗としての信頼を大きく損ねることになるだろう。情報漏えいの内容や規模によっては、損害賠償の支払いを請求される可能性もある。
先ほども触れたように、WordPressはオープンソースであり誰もがコードを把握できる。このメリットを悪用し、侵入したWordPressサイトの内容を改ざんする被害が起きている。
・WordPressのphpシート内にコードを追加し外部サイトに移行させる
・WordPressのphpシート内の情報を書き換えて全く別の内容を表示させる
・WordPressサイトのデザインを変えず不正なコードを埋め込むことでユーザーの情報などを盗む
などの手口が挙げられる。ユーザーがあなたのWebサイトを訪問したのにも関わらず、詐欺サイトや無関係のサイトが表示されたら驚くだろう。もし、ユーザーが誤ってハッカーが誘導したWebサイト上で操作を行ってしまったら二次被害につながる可能性もある。
WordPressのセキュリティリスクを把握したところで、使用することに不安を感じた人もいるだろう。安心して欲しい。WordPressのシェア率の高さは、適切なセキュリティ対策を実施すれば問題なく使用できることを裏付けていると言えるだろう。
ここでは、今すぐ実践できる8つのセキュリティ対策を解説していく。
WordPressのセキュリティが強化できる8つの対策 |
❶ コンピューターを最新バージョンに保つ ❷ WordPressのバージョンを最新に保つ ❸ 予測しにくいパスワード・ユーザー名 ❹ 使用しないプラグインを削除する ❺ データベース情報へのアクセスを制御 ❻ WordPressのバージョンを非表示にする ❼ WAFを導入する ❽ プラグインでセキュリティ強化する |
WordPressのセキュリティリスクを軽減するためにも、ぜひ参考にしてみて欲しい。
WordPressのみのセキュリティを強化しても、WordPressを使用するコンピューターに脆弱性があっては意味がない。コンピューター経由でWordPress内データへのウイルス感染や情報漏えいが起こらないようにすることが大切だ。
そのためには、コンピューターを最新のバージョンで保つようにしよう。とくにOSには「セキュリティホール」と呼ばれるバグが見つかることがある。
セキュリティホールはウイルスや不正アクセスの侵入口となるため、発見された場合にはセキュリティホールを塞ぐためのアップデートが配布される。
このアップデートを無視して古いOSバージョンのまま使用すると、コンピューターはウイルスや不正アクセスの危険にさらされた状態となるのだ。
OSのアップデート方法は、下記を参考にしてみて欲しい。
・Windows のアップデート方法
・Mac OS X のアップデート方法
併せて、普段使用しているブラウザのアップデートも実施すると、コンピューター経由でのセキュリティリスクを軽減できる。
・Windows Internet Explorer のアップデート方法
・Google Chrome のアップデート方法
・Firefox のアップデート方法
コンピューターだけでなく、WordPressも最新のバージョンに保つようにしよう。WordPressのバージョン更新には、メジャーアップデートとマイナーアップデートの2種類がある。
メジャーアップデート | マイナーアップデート | |
主な変更内容 | ・仕様変更や新機能の追加 | ・不具合修正 |
変更範囲 | 大きい | 小さい |
変更頻度 | 3ヶ月~半年に1回程度 | 随時 |
番号管理 | 冒頭の2桁で管理 | 3桁目で管理 |
マイナーアップデートは、発見された不具合やセキュリティホールに随時対応するアップデートだ。一方で、メジャーアップデートはセキュリティ強化や不具合の修正だけではなく、WordPressの性能自体もアップデートすることが多い。
2種類のアップデートは3桁の数字で管理されており、アップデートが実施されると数字が変更される。
例えば、現在のバージョンが6.0.1にも関わらず5.8.9のバージョンのWordPressを使用しているとセキュリティ強化や修正を反映できていないので、セキュリティリスクが高いことになる。
現在のWordPressのバージョンの確認は、簡単に実施できる。まずは、WordPressにログインしてダッシュボード画面を開く。右上に小さなWordPressのロゴがあるので、この部分をクリックする。
すると「WordPressについて」という項目が表示されるので、クリックする。
現在使用しているバージョンが大きく表示される。
使用しているバージョンが最新ではない場合は、右上や更新情報に最新のバージョンが表示されるはずだ。
現在使用しているバージョンと最新バージョンが異なる場合はセキュリティリスクが高いため、すぐにバージョンアップを実施する。バージョンアップの手順は下記のとおりだ。
①WordPressのバックアップを取得する
WordPressのバージョンアップを実施する前に、プラグインが対応していないなど万が一のエラーに備えてバックアップを取得する。
②プラグインを停止する
使用しているプラグインを一時的に停止する。プラグインを稼働させたままバックアップをすると、エラーを引き起こす可能性があるためだ。
③WordPressのバージョンアップを実施する
WordPressのダッシュボードやバージョン確認ページに表示される「今すぐ更新してください」をクリックする。
WordPressの更新できるバージョンが表示されるので、内容を確認する。
更新するバージョンの内容を把握できたら「今すぐ更新」をクリックする。
更新が完了すると、現状のバージョンが表示される。
最新のバージョンと一致していたら、完了だ。完了後にはプラグインを有効化し、WordPressサイトが正常に表示できるか確認をしよう。
WordPressはデフォルトで多要素認証が用意されていないため、パスワードとIDが狙われやすい。WordPressのパスワードを破る手法としては、「Brute-force attack(ブルートフォースアタック)」が利用される。
「Brute-force attack」とはコンピューターシステムを使い、全組み合わせのパスワードを自動で入力し続けることで、セキュリティを突破する方法だ。
独立行政法人情報処理推進機構(IPA)が行った試験によると、英数字・大文字・小文字を含めた6桁のパスワードは、約5日で解除されてしまう。
しかし、10桁に増やすと1千万年の時間を要する。つまり、パスワードを英数字・大文字・小文字を含めた10桁以上に変更するだけでハッキング対策ができるのだ。
WordPressでは10桁以上のパスワードを自動生成できるので、ぜひ試してみよう。
①ダッシュボードにアクセスして「ユーザー」をクリックする。
②プロフィールを編集できる画面が表示されるので「新しいパスワードを設定」をクリックする。
③自動生成されたランダムなパスワードが表示される。
再入力できるようにメモなどに控えてから「変更」ボタンをクリックする。これで、10桁以上のパスワードが設定できた。
また、ログイン名がデフォルトの「admin」のままの場合は、すぐに変更しよう。「admin」はWordPressを使用している人なら誰もが知っているユーザー名なので、ハッキングされるリスクが高くなる。
ユーザー名は、サーバー側の設定を変えることで変更できる。今回は、X2サーバーの変更方法を解説していく。
①phpMyAdmin 画面にアクセスし、左メニューより該当のデータベース名をクリックする。
②データベース内にある「wp_users」をクリックする。
③左上にある「表示」をクリックする。
④「user_login」内に「admin」を見つけたら、「編集」ボタンをクリックする。
⑤編集画面を確認して値が「admin」である項目すべてに、新しいユーザー名を入力する。
user_login | ログイン名 |
user_nicename | ニックネーム |
display_name | 表示名 |
上記の3つはデフォルトでは「admin」になっているので、新しいユーザー名に変更しよう。
⑤変更ができたら右下の「実行する」をクリックする。
正常にログインできるか確認したら、完了だ。このように、ユーザー名とパスワードを変更して、ハッキングしにくい状態を維持できるようにしよう。
管理者ユーザーとは別に記事の投稿や簡単な編集時には、編集用のアカウントを利用しよう。編集用アカウントは管理者よりも権限が少なく、情報漏えいのリスクが減らせる。
WordPressのテーマによっては、公開した記事に作成者名が表示されることがある。管理者ユーザーで投稿すると管理者のユーザー名が分かってしまい、悪用のリスクが高まる。
WordPressの基本的な設定やテーマの編集など本格的な作業をするときは管理者アカウントを、記事の投稿や編集は編集用アカウントを、などと作業内容に応じて使い分けるといいだろう。編集用のアカウントは、簡単に作成できる。
①ダッシュボードの「ユーザー」を選択し「新規追加」をクリックする。
②ユーザー名やパスワードなどを入力し、新規追加をする画面が表示される。
権限グループを「編集者」にして「新規ユーザーを追加」すれば完了だ。このように編集用アカウントを作成して、状況に応じた使い分けをしよう。
「1.WordPressの2つの脆弱性」で解説したように、プラグインに脆弱性がある場合は大きなセキュリティリスクとなる。リスクを軽減するためにも、使用するプラグインは信頼できる最小限のものにとどめて使用しないものは削除しよう。
プラグインを停止する方法には「無効化」もあるが、無効化は一時的にプラグインを停止する方法だ。
削除 | 無効化 | |
プラグインのデータ | 削除されるので残らない | そのまま残る |
サーバーへの影響 | サーバーから削除される | サーバーに残る |
無効化ではプラグインの情報や存在自体は残るため、セキュリティ対策にはつながらない。プラグイン経由でのセキュリティリスクを減らすには、削除が必要だ。プラグインは下記の手順で簡単に削除できる。
①ダッシュボードから「プラグイン」を選択する。プラグインのプルダウンメニューにある「インストール済みプラグイン」をクリックする。
②インストールしているプラグインが一覧表示されるので、削除するプラグインを見つけ「削除」をクリックする。
③本当削除をしてもいいか問うポップアップが表示されるため、確認をして「OK」をクリックする。
この手順を繰り返して、不要なプラグインを削除していこう。
WordPress には、「wp-config.php」というシステムファイルがある。このファイルはデータベースに接続する情報やWordPressに基礎となる情報が記載されており、非常に重要性が高い。
そこで、外部からの「wp-config.php」へのアクセスを阻止することで、情報漏えいやサイト改ざんなどのリスクを軽減できる。
外部からの「wp-config.php」閲覧を制御するには、下記のコードを記述する。
<files wp-config.php>
order allow,deny
deny from all
</files>
この記述を「.htaccess」の一番上に追加する。(「.htaccess」は、サーバーの動作を制御するファイル)コードの編集をするときにメモ帳を使用すると余分な情報が付加される可能性があるため、「サクラエディタ」などのフリーのテキストエディタを使用しよう。
WordPressやプラグインは脆弱性が発見されると、修正を加えた新しいバージョンが提供される。それと同時に、旧バージョンの脆弱性や修正点などの情報も開示される。
つまり、あなたの使用しているWordPressやプラグインのバージョンをハッカーが把握してしまうと、バージョンに応じた方法でハッキングなどを試みることができるのだ。
そのため、WordPressやプラグインのバージョンは、外部から閲覧できないようにする必要がある。バージョンを非表示にする方法は、使用しているテーマやバージョンが表示される場所によって大きく異なる。
今回は一例として、下記のようにhead内に記載されているバージョンを非表示にする方法を紹介する。
<meta name=”generator” content=”WordPress 4.6.1″ />
この例では、WordPressのバージョンは4.6.1だと表示されている。非表示にするには、functions.phpに下記を記述する。
remove_action(‘wp_head’,’wp_generator’);
記述後には、headの表示を確認してみよう。
WAF(Web Application Firewall)とは、WordPressのようなWebアプリケーションを保護するためのセキュリティ製品だ。
WordPressとWordPressにアクセスしたユーザー間の情報を1つずつチェックして、不正アクセスやウイルス攻撃からWordPressを守る。
WAFには、主に下記の3種類がある。
WAFの種類 | アプライアンス型WAF | ソフトウェア型WAF | クラウド型WAF |
概要 | 専用のハードウェアを設置する | Webサーバーに専用のソフトウェアをインストールする | クラウドを使用してサービス提供を受ける |
コスト | 比較的高価 | 比較的安価 | 比較的安価 |
WordPressの規模や操作環境により、適切な種類を選び設置する。他のセキュリティ対策とは異なりWordPress外から物理的な対策ができるが、その分コストがかかるので慎重に検討しよう。
WordPressのプラグインにも、セキュリティを強化できるものがある。しかし、先ほどから述べているように、脆弱性があるプラグインや悪意のあるプラグインをインストールしてしまうと、かえってセキュリティを低下させてしまう。
口コミの評価や次の章で解説するセキュリティ情報を確認しながら、安心して使えるプラグインを選択しよう。今回は、世界中で使用されている無料のセキュリティ対策プラグイン「All In One WP Security & Firewall」をインストールしてみる。
①ダッシュボードのプラグインから「新規追加」をクリックする。
②検索バーに「All In One WP Security & Firewall」を入力して検索をする。
「All In One WP Security & Firewall」が表示されたら「今すぐインストール」をクリックする。
③インストールが完了したら「有効化」をクリックする。
④有効化が完了すると、ダッシュボードに「WPセキュリティ」と表示される。「WPセキュリティ」にカーソルを合わせると使用できる項目が表示される。
ダッシュボード | 現状を把握できる画面 |
設定 | セキュリティ対策に関する細かな設定ができる |
ユーザーアカウント | adminが存在するかのチェックやユーザー名の変更などができる |
ユーザーログイン | ログイン制限やWordPressがロックされた際の解除などができる |
ユーザー登録 | WordPressに新規ユーザー登録する際の手動承認などができる |
データベースセキュリティ | データの接頭辞を変更やバックアップができる |
ファイルシステムセキュリティ | PHPファイル編集やホストシステムログの確認などができる |
ブラックリストマネージャー | アクセスをブロックしたいIPやユーザーエージェントの登録ができる |
ファイアウォール | 細かなファイアウォールの設定ができる |
総当たり攻撃 | wp-login.phpのページ名の変更やCookieベースの総当たり攻撃の防止設などができる |
スパム防止 | コメントスパムの防止やコメントスパムのIPモニタリングができる |
スキャナー | ファイル名の変更通知やマルウェア対策などができる |
メンテナンス | メンテナンスモードに設定できる |
二要素認証 | WordPressに二要素認証を導入できる |
このように、「All In One WP Security & Firewall」をインストールすると、さまざまなセキュリティリスクに備える設定が可能だ。
最後に、WordPressのセキュリティを強化する対策と併せて行いたいポイントを解説する。
WordPressのセキュリティ強化と併せて行いたいポイント |
❶ 定期的にバックアップを取得する ❷ WordPressに関するセキュリティ情報を確認する ❸ Google Search Consoleでセキュリティ問題がないか確認する |
セキュリティ対策と併せて行うと相乗効果が期待できるので、チェックしてみよう。
WordPressは、定期的にバックアップを取るようにしよう。万が一、WordPressのサイトがハッカーから被害を受けたとしても、バックアップがあればデータを復元できる。
ハッカーから被害を受けた後のサイトとバックアップデータの比較もできるため、攻撃内容や被害の調査にも役立つ。
具体的なバックアップ方法については『BackWPUpで確実にWordPressのバックアップを取る方法』を参考にしてみて欲しい。
WordPressやプラグインの脆弱性に関する情報は、日々アップデートされる。例えば、プラグインの導入時には安全だと確認していても、時が経つことで脆弱性が発見されることは多々ある。
常に最新のセキュリティ情報を把握しながら、WordPressのメンテナンスを行うことがリスク軽減につながるのだ。WordPressに関するセキュリティ情報を収集する方法は、次の2つが挙げられる。
①WordPressのホーム画面の情報を確認する
WordPressのホーム画面には、最新のセキュリティ情報やアップデート情報が表示される。直近には、どのような脆弱性が発見されたのか確認できる。
②脆弱性対策情報データベース検索を利用する
日本で使用されているソフトウェアなどの脆弱性関連情報を発信している「データベース検索」を利用する。WordPressやWordPress プラグインで検索をすると、直近の情報を確認できる。
現在WordPressサイトにセキュリティリスクがないか確認したいときには、Google Search Consoleを活用してみよう。
Google Search ConsoleはGoogleが無料で提供している分析ツールだ。この中にサイトにセキュリティ問題があるかチェックできる項目がある。具体的な使い方は、下記のとおりだ。
①Google Search Consoleにアクセスをする。右側の項目にある「セキュリティの問題」をクリックする。
②セキュリティの調査結果が表示される。「問題は検出されませんでした」と表示されたら、とくにセキュリティの問題はない。
Google Search Consoleが表示する警告としては、下記の3種類がある。
ハッキングされたコンテンツ | サイトにセキュリティ上の脆弱性がある |
マルウェアや望ましくないソフトウェア | マルウェアや望ましくないソフトウェアが検出される可能性がある |
ソーシャル エンジニアリング | ユーザーをだまして危険な行為に誘導する可能性がある(フィッシングサイトとなっている) |
このような警告が表示されたらあなたのWordPressサイトは危険な状態なので、いち早くインターネットから遮断して知識のある企業やエンジニアに適切な対応を聞いて行動しよう。
Google Search Consoleの他にも、WordPressのセキュリティ状態を確認できるツールは多数ある。(先ほど紹介したプラグイン「「All In One WP Security & Firewall」でも可能)現状を把握するために、使用してみてもいいかもしれない。
最後まで読み、WordPressのセキュリティリスクや具体的なセキュリティ対策の方法が把握できたかと思う。最後に、この記事の内容をまとめると
◎WordPressの主な脆弱性は次の2つ
1)WordPressはオープンソースでありハッカーの標的となりやすい
2)プラグイン(拡張機能)にも脆弱性がある
◎WordPressのセキュリティリスクは次の3つ
1)マルウェアに感染する危険がある
2)情報漏えいにより信頼を失う可能性がある
3)不正アクセスなどによりWordPress内の情報が改ざんされる可能性がある
◎WordPressのセキュリティを強化する対策は次の8つ
1)WordPressを使用しているコンピューターを最新のバージョンに保つ
2)WordPressを最新のバージョンに保つ
3)外部から予測されにくいパスワードとユーザー名を設定する
4)使用しないプラグインを削除する
5)データベース情報へのアクセスを制御する
6)WordPressのバージョンを非公開にする
7)WAFを導入する
8)セキュリティ対策ができるプラグインを使用する
◎WordPressのセキュリティ強化と併せて行いたいポイントは次の3つ
1)定期的にバックアップを取得する
2)WordPressに関するセキュリティ情報を収集する
3)Google Search Consoleを使いセキュリティに問題がないか確認する
WordPressは世界でのシェア率が高く多くの人に利用されているからこそ、必然的にセキュリティリスクが高くなる。適切な対策をすれば安全に使用できるため、抜かりなく施策するようにしよう。
広告に頼り切ったマーケティングの打開策としてコンテンツマーケティングについて調べているけれど、よく分からないと悩んでいませんか?
本書は弊社やクライアント様がコンテンツマーケティングに取り組み
など、コンテンツマーケティングの効果と、具体的な施策内容を全94ページに渡って詳細に解説しているものです。
ぜひ、貴社のWEBマーケティングにもご活用ください。