Webサイトのお助け隊

【乗っ取り対策】WordPressのユーザー権限グループと適切な設定方法を徹底解説

66 views
約16分

「とりあえず全員『管理者』でいいや」

もしあなたがWordPressサイトを複数人で運営していて、このようにユーザー権限を設定しているとしたら、それは非常に危険な状態かもしれません。WordPressには、ユーザーごとに操作できる範囲を決める「権限グループ」という仕組みがあります。この設定を間違えると、たった一人のアカウントが乗っ取られただけで、サイト全体が破壊されたり、重要な情報が盗まれたりする大惨事につながりかねません。

実際、2017年にはWordPressの脆弱性を悪用した権限昇格攻撃により、わずか10日間で150万以上のサイトが改ざんされるという、前代未聞の事件が発生しました。この事件は、適切な権限管理がいかに重要かを、世界中のサイト運営者に突きつけた警鐘でした。

この記事では、WordPressに標準で用意されている5つのユーザー権限グループ(管理者、編集者、投稿者、寄稿者、購読者)がそれぞれ「何ができて、何ができないのか」を分かりやすく解説します。さらに、サイトの種類に応じた最適な設定方法や、セキュリティリスクを最小限に抑えるための「最小権限の原則」についても、具体的な事例を交えながら深掘りしていきます。

「自分のサイトは大丈夫」と思っている方こそ、この記事を読んで、自社のセキュリティ体制を再確認してみてください。

一目でわかる!WordPressの5つのユーザー権限グループ

WordPressには、ユーザーに与える役割に応じて、あらかじめ5種類の権限グループが用意されています。権限は「管理者」が最も強く、「購読者」が最も弱いピラミッド構造になっています。まずは、それぞれの権限グループで何ができるのか、全体像を把握しましょう。

権限グループ主な役割できることの概要
管理者 (Administrator)サイトの全権管理者サイト設定、プラグイン・テーマ管理、全ユーザー管理など、すべての操作が可能。
編集者 (Editor)コンテンツ責任者他のユーザーを含むすべての投稿・固定ページの作成、編集、公開、削除が可能。
投稿者 (Author)記事執筆者自身の投稿の作成、編集、公開、削除が可能。固定ページの作成は不可。
寄稿者 (Contributor)外部ライターなど自身の投稿の作成、編集はできるが、公開はできない。承認が必要。
購読者 (Subscriber)一般読者プロフィール編集のみ可能。会員制サイトなどで使用される。

※マルチサイト機能を使っている場合は、ネットワーク全体を管理する「特権管理者」が存在しますが、ほとんどのサイトでは上記5種類が基本となります。

では、それぞれの権限グループについて、さらに詳しく見ていきましょう。

各権限グループの詳細解説

1. 管理者 (Administrator) – サイトの神様

「管理者」は、その名の通り、WordPressサイトに関するすべての操作が可能な、最も強力な権限です。まさにサイトの「神様」と言える存在です。

▼管理者ができること

  • WordPressの基本設定(サイトタイトル、URL、タイムゾーンなど)の変更
  • テーマやプラグインのインストール、有効化、削除、編集
  • 他のユーザーの追加、削除、権限変更
  • すべての投稿、固定ページの作成、編集、削除
  • カテゴリー、タグ、メニューの管理
  • データベースのエクスポート、インポート
  • コメントの承認、編集、削除
  • ファイルのアップロード
  • ウィジェットの管理

▼危険性
管理者権限を持つアカウントが乗っ取られると、サイトのすべてを失う可能性があります。攻撃者はプラグインを装って悪意のあるコードを仕込んだり、他の管理者アカウントを削除してサイトを乗っ取ったり、データベースを破壊したりと、やりたい放題です。

たとえば、攻撃者が管理者権限を奪った場合、以下のような被害が想定されます:

  • バックドア(裏口)を仕込まれ、永続的に不正アクセスされる
  • 訪問者をマルウェアに感染させるコードを埋め込まれる
  • 顧客情報やメールアドレスなどの個人情報を盗まれる
  • サイト全体を削除され、バックアップも破壊される
  • フィッシングサイトに改ざんされ、企業の信頼を失う

▼適切な使い方
管理者権限は、サイトの技術的な管理を行う責任者(1〜2名)に限定すべきです。日常的な記事の投稿や編集作業に、この権限は必要ありません。たとえ自分一人で運営しているサイトでも、日常業務用には「編集者」アカウントを作成し、管理者アカウントは重要な設定変更時のみ使用するという運用が理想的です。

2. 編集者 (Editor) – 編集長・コンテンツマネージャー

「編集者」は、コンテンツに関する全権を持つ、いわばサイトの「編集長」です。自分だけでなく、他のユーザーが作成した投稿や固定ページも自由に編集・公開できます。

▼編集者ができること

  • すべての投稿、固定ページの作成、編集、公開、削除
  • カテゴリーやタグの管理
  • コメントの承認、編集、削除
  • ファイルのアップロード
  • 他のユーザーの投稿の編集(投稿者、寄稿者が作成したものも含む)
  • 再利用ブロックの作成、編集、削除

▼できないこと

  • サイト設定の変更
  • プラグインやテーマの管理
  • ユーザーの管理
  • データベースへのアクセス

▼セキュリティ上の注意点
編集者権限でも、シングルサイトの場合は「unfiltered_html」という権限が付与されており、HTMLやJavaScriptを自由に埋め込むことができます。これは、信頼できないユーザーに編集者権限を与えると、XSS(クロスサイトスクリプティング)攻撃のリスクがあることを意味します。

▼適切な使い方
メディアサイトなどで、複数のライターが執筆した記事の品質を管理し、公開スケジュールを調整するコンテンツ責任者に最適な権限です。外部の編集プロダクションに記事の管理を委託する場合にも利用できます。ただし、外部委託の場合は、契約終了後に必ずアカウントを削除または権限を変更することを忘れないでください。

3. 投稿者 (Author) – レギュラー執筆者

「投稿者」は、自立した記事執筆者です。自分の投稿を自由に作成し、編集し、そして自分の判断で公開することができます。

▼投稿者ができること

  • 自分の投稿の作成、編集、公開、削除
  • ファイルのアップロード
  • 自分が作成した再利用ブロックの編集、削除
  • カテゴリー、タグの選択(既存のものから)

▼できないこと

  • 他のユーザーの投稿の閲覧、編集
  • 固定ページの作成、編集
  • カテゴリーやタグの新規作成
  • コメントのモデレート

▼適切な使い方
企業のオウンドメディアなどで、信頼できる複数の社員が定期的に記事を執筆する場合に適しています。自分の記事は自分で責任を持って公開できるため、スムーズな情報発信が可能です。

ただし、投稿者は自分の記事を自由に公開できるため、誤った情報や不適切な内容を公開してしまうリスクもあります。社内のガイドラインを整備し、定期的な研修を行うことで、このリスクを最小化できます。

4. 寄稿者 (Contributor) – 外部ライター・ゲスト投稿者

「寄稿者」は、記事を執筆して投稿することはできますが、それを公開する権限はありません。投稿した記事は、管理者または編集者によるレビューと承認を経てから公開されます。

▼寄稿者ができること

  • 自分の投稿の作成、編集(下書き保存)
  • 既存の再利用ブロックの読み込み

▼できないこと

  • 投稿の公開
  • ファイルのアップロード(画像などを記事に追加できない)
  • 他のユーザーの投稿の閲覧、編集
  • 公開済みの自分の投稿の編集(公開後は編集権限を失う)

▼適切な使い方
外部のライターに記事執筆を依頼する場合や、一般ユーザーからゲスト投稿を募集する場合に最適です。公開前に必ず内容をチェックできるため、品質を担保しつつ、安全に運用できます。

画像を追加できない点が少し不便ですが、これはセキュリティを優先した設計です。もし画像が必要な場合は、ライターにメールで画像を送ってもらい、編集者が記事に挿入するというワークフローを確立すると良いでしょう。

5. 購読者 (Subscriber) – 一般読者・会員

「購読者」は、最も権限が制限されたグループです。基本的には、サイトのコンテンツを閲覧し、自分のプロフィール(名前、パスワードなど)を編集することしかできません。

▼購読者ができること

  • サイトの公開コンテンツの閲覧
  • 自分のプロフィールの編集
  • コメントの投稿(設定による)

▼適切な使い方
会員制サイトやオンラインサロンなどで、ログインしたユーザーだけが閲覧できる限定コンテンツを提供する場合に利用します。ユーザー登録は「購読者」として行い、特別な権限は与えないのが基本です。

ECサイトと連携する場合、購入者を「購読者」として登録し、購入履歴や会員限定のクーポン情報を提供するといった使い方もできます。

「とりあえず管理者」が招く悲劇 – 権限昇格攻撃の恐怖

ユーザー権限の管理を怠ると、どのような危険があるのでしょうか。最も恐ろしいシナリオの一つが「権限昇格攻撃」です。

権限昇格攻撃とは、攻撃者が何らかの脆弱性を利用して、低い権限のアカウント(例えば寄稿者)から、より高い権限(管理者)を奪い取る攻撃のことです。一度管理者権限を奪われてしまうと、サイトは完全に攻撃者の支配下に置かれてしまいます。

事例1:150万サイトが改ざんされたWordPress過去最悪の事件

2017年2月、WordPress本体(バージョン4.7.0〜4.7.1)に深刻な脆弱性が発見されました。この脆弱性は、REST APIに関連するもので、本来実施すべきユーザー権限の認証を行わないという致命的な欠陥でした。

この脆弱性を悪用すると、攻撃者はユーザー権限の認証をすり抜け、サイトのコンテンツを自由に改ざんできる状態でした。この脆弱性が公表されてからわずか10日間で、世界中で150万以上のサイトが改ざん被害に遭うという、前代未聞の事態に発展しました。

セキュリティ専門家からは「WordPressに関連する脆弱性の中で、過去最悪のものの1つである」と評されるほどの深刻な事件でした。

この事件は、たとえWordPress本体であっても脆弱性が存在しうること、そしてひとたび脆弱性が悪用されれば、権限を奪われ、大規模な被害につながるリスクがあることを浮き彫りにしました。

もし、この事件で攻撃者が管理者権限を奪っていたら、被害はコンテンツの改ざんだけでは済まなかったでしょう。サイトの全データが削除されたり、訪問者をマルウェアに感染させるサイトに変えられたりしていた可能性もあります。

事例2:プラグインの脆弱性による権限昇格

2023年には、複数の人気プラグインで権限昇格の脆弱性が発見されました:

  • Ultimate Member(会員機能プラグイン):低い権限のユーザーが管理者権限を取得できる脆弱性
  • AI ChatBot(AIチャットボットプラグイン):未認証の攻撃者が管理者アカウントを作成できる脆弱性
  • Popup Builder(ポップアップ作成プラグイン):権限昇格により管理者権限を奪える脆弱性

これらのプラグインは、いずれも数万〜数十万のサイトで利用されていたため、多くのサイトが危険にさらされました。

「最小権限の原則」がなぜ重要なのか

もし、あなたのサイトで日常業務を行うすべてのユーザーに「管理者」権限を与えていたとしたら、どうなるでしょうか。たった一人のユーザーのパスワードが漏洩しただけで、サイト全体が乗っ取られる可能性があります。

一方、「最小権限の原則」を適用し、日常業務を行うアカウントに「編集者」や「投稿者」権限しか与えていなければ、たとえそのアカウントが乗っ取られても、攻撃者ができることは限られています。プラグインをインストールすることも、他のユーザーを削除することもできません。

これが、ユーザー権限の適切な管理がセキュリティの要である理由です。

【実践編】あなたのサイトに最適な権限設定は?

それでは、実際にあなたのサイトではどのようにユーザー権限を設定すれば良いのでしょうか。ここでは、代表的な4つのケースに応じた推奨設定をご紹介します。

ケース1:個人ブログ・小規模な企業サイト

一人、または少数の信頼できるメンバーで運営する場合です。

推奨設定:

  • 管理者: 1名(サイトの所有者または主たる技術担当者)
  • 編集者: 1名(コンテンツ全体の責任者、または日常業務用アカウント)
  • 投稿者: 日常的に記事を更新する担当者

ポイント:たとえ自分一人で運営している場合でも、日常的な投稿作業は「編集者」や「投稿者」アカウントで行うことをお勧めします。万が一、投稿用のアカウントが不正ログインされても、プラグインやテーマをいじられる心配がなく、被害を最小限に抑えられます。

管理者アカウントは、プラグインの更新やテーマの変更など、重要な作業を行う時だけ使用するようにしましょう。

ケース2:複数人で運営するオウンドメディア

社内外の複数のライターが関わるメディアの場合です。

推奨設定:

  • 管理者: 1〜2名(システム管理者のみ)
  • 編集者: 2〜3名(編集長、各カテゴリの編集担当者)
  • 投稿者: 社内のレギュラー執筆者(5〜10名)
  • 寄稿者: 外部ライター、不定期の執筆者(制限なし)

ポイント:外部ライターには必ず「寄稿者」権限を割り当て、公開前に編集者が内容をチェックするフローを確立しましょう。これにより、記事の品質とセキュリティの両方を担保できます。

社内の執筆者であっても、全員に「管理者」権限を与える必要はありません。記事を書くだけなら「投稿者」で十分です。

ケース3:会員制サイト・オンラインサロン

ログインユーザーに限定コンテンツを提供する場合です。

推奨設定:

  • 管理者: 1名(サイト運営者)
  • 編集者: 1〜2名(コンテンツ管理者)
  • 購読者: 一般会員(制限なし)

ポイント:会員登録したユーザーは「購読者」として扱い、特別な権限は与えません。会員限定のコンテンツは、プラグイン(例:Members、Restrict Content Pro)を使って、購読者だけがアクセスできるように設定します。

もし、会員の中から記事を投稿できるユーザーを選びたい場合は、個別に「寄稿者」権限を付与すると良いでしょう。

ケース4:Web制作会社など外部に管理を委託する場合

サイトの制作やメンテナンスを外部の業者に依頼している場合、権限の管理は特に重要です。

推奨設定:

  • 選択肢A(推奨): 業者には「編集者」権限を付与する。プラグインの追加やテーマの変更が必要な場合は、自社の管理者が対応する。
  • 選択肢B: 作業期間中のみ「管理者」権限を付与し、作業完了後は必ず権限を「編集者」以下に変更するか、アカウント自体を削除する。

ポイント:制作会社に管理者権限を渡したまま放置するのは、非常に危険です。契約が終了した後も、そのアカウントが不正アクセスの入口になる可能性があります。

実際、制作会社の元社員が、退職後も以前担当していたクライアントのサイトに不正アクセスし、データを破壊したという事例も報告されています。必ず定期的にユーザー一覧を確認し、不要なアカウントが残っていないかチェックしましょう。

WordPressでユーザー権限を設定・変更する方法

最後に、WordPressの管理画面で実際にユーザーを追加し、権限を設定する方法を簡単に解説します。

新規ユーザーの追加方法

  1. 管理画面にログイン: 管理者権限を持つアカウントでログインします。
  2. 「ユーザー」→「新規追加」: 左側のメニューから「ユーザー」を選択し、「新規追加」をクリックします。
  3. ユーザー情報を入力:
    • ユーザー名(必須):ログイン時に使用する名前
    • メールアドレス(必須):ユーザーに通知が送られるアドレス
    • 氏名:サイト上で表示される名前
    • ウェブサイト:ユーザーのウェブサイト(任意)
  4. パスワードを設定: 強力なパスワードを自動生成するか、自分で設定します。WordPressは自動的にパスワードの強度を判定してくれます。
  5. 権限グループを選択: 「権限グループ」のドロップダウンメニューから、適切な権限(管理者、編集者、投稿者、寄稿者、購読者)を選択します。ここが最も重要です!
  6. 「新規ユーザーを追加」: ボタンをクリックして完了です。新規ユーザーにログイン情報がメールで通知されます。

既存ユーザーの権限変更方法

  1. 「ユーザー」→「ユーザー一覧」: 左側のメニューから「ユーザー」を選択し、「ユーザー一覧」をクリックします。
  2. 該当ユーザーを選択: 権限を変更したいユーザーの名前をクリックします。
  3. プロフィール編集画面で「権限グループ」を変更: ページ下部にある「権限グループ」のドロップダウンメニューから、新しい権限を選択します。
  4. 「プロフィールを更新」: ボタンをクリックして変更を保存します。

不要なユーザーの削除方法

  1. 「ユーザー」→「ユーザー一覧」: ユーザー一覧画面を開きます。
  2. 削除したいユーザーにチェック: ユーザー名の左側にあるチェックボックスにチェックを入れます。
  3. 「一括操作」→「削除」: 画面上部の「一括操作」ドロップダウンメニューから「削除」を選択し、「適用」ボタンをクリックします。
  4. 投稿の帰属先を選択: 削除するユーザーが作成した投稿をどうするか選択します(別のユーザーに割り当てる、または削除する)。
  5. 「削除を実行」: ボタンをクリックして削除を完了します。

まとめ:ユーザー権限管理は「性善説」ではなく「性悪説」で

今回は、WordPressのユーザー権限グループの種類と、セキュリティを考慮した適切な設定方法について解説しました。

ユーザー権限管理の3つの鉄則

  1. 最小権限の原則: 各ユーザーには、業務に必要な最低限の権限しか与えない。
  2. 管理者アカウントの厳格化: 管理者権限は、本当に必要な人(1〜2名)に限定する。
  3. 定期的な見直し: 不要になったアカウントは、速やかに削除または権限を変更する。

「信頼しているから大丈夫」という性善説に基づいた権限管理は、セキュリティの世界では通用しません。たった一つのアカウントのパスワードが漏洩するだけで、サイト全体が危機に瀕する可能性があるのです。

実際、内部の人間による不正アクセスや、退職者のアカウントを悪用した攻撃は、決して珍しいことではありません。常に「もしこのアカウントが乗っ取られたら、どのような被害が出るか?」という性悪説の視点を持ち、リスクを最小化する権限設定を心がけましょう。

また、ユーザー権限の管理だけでなく、以下のような総合的なセキュリティ対策も併せて実施することをお勧めします:

  • 強力なパスワードの設定と定期的な変更
  • 二要素認証(2FA)の導入
  • ログイン試行回数の制限
  • 定期的なバックアップの取得
  • WordPress本体、プラグイン、テーマの最新版への更新

それが、あなたの貴重なサイトと読者を守るための、最も確実な方法です。

「うちのサイト、今どのくらい安全なんだろう?」

そんな疑問を持った方は、まずセキュリティ診断を受けてみるのもいいかもしれません。最近では、30秒ほどでサイトの安全性をチェックできる無料診断サービスもあります。暗号化の設定やプラグインの脆弱性、情報漏れのリスクなど、気になるポイントを一通り確認できます。

WordPressセキュリティ診断 https://rescue-wordpress.com

実は、毎日100サイト以上がハッキングの被害に遭っているという現実があります。「まさか自分のサイトが狙われるなんて」と思っていても、被害は突然やってきます。

早めに問題を見つけて対処しておけば、大きなトラブルを未然に防げます。まずは自分のサイトの「健康診断」から始めてみませんか?

FacebookでシェアTwitterでシェアPinterestでシェア