wp.geek|世界のWordPress最新情報を届けるメディア WordPressのプロによる
情報発信メディア

セキュリティ 2022.10.26

WordPressのパーミッションとは?適切に設定するべき理由と動作確認を解説

この記事を書いた人

土井 純也

WordPressスペシャリスト・エンジニア/株式会社e2e 取締役 / CTO

1985年北海道生まれ。
200社以上の大手上場企業のWordPressサイトの制作、保守・セキュリティをサポートしている。

【 展開しているサービス一覧 】
■WordPress開発サービス「wp.make
■WordPress保守/運用サービス「wp.support
■WordPressハッキング/緊急復旧対応サービス「wp.rescue
■WordPressバージョンアップ代行サービス「wp.versionup

WordPressを運営する中で、ファイルやディレクトリの権限管理を行うことは、セキュリティの観点から非常に重要です。これらの権限管理を行う際には、パーミッションの設定を行う必要があります。

しかし、パーミッションという言葉は知っていたとしても、実際にどのようなものかや、それぞれのファイルに対してどのパーミッションを設定するべきか分からない方もいることでしょう。

本記事では、パーミッションの概要やパーミッション設定を行う意義、それぞれのファイルにおけるおすすめのパーミッションについて解説します。

パーミッションについて見直したいと考えている方や、これまであまり考えたことがないという方は、ぜひ本記事を参考にしてください。

WordPressを構築する上で理解するべきパーミッションとは

パーミッションとは、ファイルやディレクトリに対するユーザーの権限を指定するものです。

WordPressを構築する上で理解するべきパーミッションとして、下記の2点を押さえておきましょう。

  • ファイルへのアクセス権限
  • ディレクトリへのアクセス権限

それぞれ順番に解説します。

ファイルへのアクセス権限

ファイルのアクセス権限には、下記の3種類があります。

  • 読み取り:「read」 ファイルの読み取りが可能になる
  • 書き込み:「write」 ファイルへの書き込みができるようになる
  • 実行:「execute」 ファイルの実行を行える

上記の権限を、それぞれのファイルごとに設定することが可能です。

代表的なパーミッション設定としては、所有者は全権限を持ち、ファイルの編集などを行う必要がある技術者には書き込み権限を与え、運用者には読み取り権限のみを与えるといった方法が代表的です。

WordPressの管理状況に合わせて、ユーザーに対して適切なアクセス権限を与えるようにしましょう。

ディレクトリへのアクセス権限

ディレクトリのアクセス権限の種類は、下記の通りです。

  • 読み取り:「read」 ディレクトリの読み取りが可能。なお、ここでの読み取りとは、ディレクトリ内のファイル名の閲覧等のことを指します。
  • 書き込み:「write」 ディレクトリの書き込みが可能。
  • 実行:「execute」 ディレクトリに登録されているファイルにアクセスが可能。

なお、ファイルのアクセス権限と同様に、ディレクトリにアクセス権限を付与する際も、書き込み・読み取り・実行の3つの権限に分けられるため、作業者の役割に応じて権限を与えるようにしましょう。

パーミッションを適切に設定するべき理由

パーミッションを適切に設定するべき理由は、下記の通りです。

  • サイトのセキュリティを安全にするため
  • 動作不良を防ぐため

それぞれ順番に解説します。

サイトのセキュリティを安全にするため

当然ながら、パーミッションを不適切な設定にしてしまうと、関係のない第三者がファイルやディレクトリにアクセスすることが可能になってしまいます。

もし悪意のあるユーザーがファイルにアクセスした場合、悪意のあるコードを埋め込まれ、実際にそのファイルを実行することで、Webサイトが適切に機能しなくなってしまうのです。

そのため、先述したように権限を与えるユーザーは慎重に選び、必要最低限の作業者にのみアクセス権限を与える設定を行うことが大切です。

動作不良を防ぐため

WordPressは常にバージョンアップが行われており、バグ対応のマイナーアップデートは、基本的には自動的に行われます。

このアップデートの際に、書き込み権限がなければアップデートが正しく完了されず、正常にWebサイトが機能しなくなる恐れがあります。

サイトのセキュリティを重視するあまり、書き込みそのものを不可能にしてしまう設定を行おうと考えがちですが、所有者やプログラムを実行するユーザーに書き込み権限がなければ、アップデート等の恩恵を受けられません。

先ほども書いたように、必要最低限のユーザーに絞りつつ、限られた作業者に権限を付与するように設定することが大切です。

WordPressの適切なパーミッション設定

WordPressにおける適切なパーミッション設定を行う際には、下記の項目について、それぞれ適切な設定を行いましょう。

  • wp-config.php
  • .htaccess
  • その他のファイル
  • その他のディレクトリ

それぞれ順番に、一般的なレンタルサーバーにおける、WordPressサイト運営を前提としたパーミッション設定も併せて解説します。

なお、パーミッションの設定についてはあくまで目安であるため、WordPressの運用状況なども鑑みながら、設定しましょう。

wp-config.php

wp-config.phpとは、データベース接続情報やユーザー情報といった、WordPressの根幹となる情報が入っているファイルのことです。WordPressを運営する上で、もっとも重要なファイルの一つであるため、無闇に書き換えなどを行うことは控えるべきファイルと言えます。

wp-config.phpのパーミッションを設定する場合は、(サーバー環境にもよりますが)所有者のみに読み取りや書き込みの権限を与えておくことが無難です。編集可能なユーザー数は最小にすることが、セキュリティの観点で重要です。

パーミッション600を設定することによって、所有者のみが読み取りと書き込みを行える状態にできるため、その通りに設定しておくことを推奨します。ただし、サーバーの設定によって最適なパーミッションは異なります。詳しくはサーバー管理会社に確認した上で、設定するようにしましょう。

.htaccess

.htaccessとは、ディレクトリ単位でWebサーバーの動作を制御するファイルのことです。他のWebサイトやページにリダイレクトを行うように設定したり、接続元IPアドレスの制限をかけたりすることが可能です。

.htaccessは、所有者およびその他のユーザーに読み取りと書き取りを許可しておくことを推奨します。なぜなら、リダイレクト処理などを行う際に、所有者も含めたユーザーが設定を行う必要性が生じるからです。

パーミッション設定としては、604にしておくと良いでしょう。ただし、こちらもサーバーによっては動作しなくなる可能性があるので、不安な場合や不具合が起きた場合はサーバーの管理者にお問合せください。

その他のファイル

上記2つを除いたファイルも、WordPressのWebサイトを運営する上で重要なファイルです。どこかのファイルでエラーが発生してしまうと、Webサイト全体が機能しなくなることもあります。

そのため、所有者には全権限を与えつつ、所有グループには権限を与えないほうが賢明です。その他ユーザーに読み取りを行わせることは、許可しておくべきなので、パーミッションは604を設定することを推奨します。

その他のディレクトリ

上記のファイルのみならず、その他のディレクトリで書き換え等が行われてしまうと、Webサイトを適切に運用することが困難になってしまいます。

そのため、ファイルの所有者に対して実行を含めた全権限を与えつつ、所有グループには権限を与えないようにしておくと良いでしょう。また、その他ユーザーには実行と読み取りの権限のみを許可しておけば、ファイルが編集されることがないまま、ファイルそのものの読み取り・実行が可能となります。

これらの設定は、パーミッションで705を設定しておくことが可能となります。

WordPressのパーミッションを設定した後は動作確認が重要

WordPressのパーミッションを設定したら、動作確認を行いましょう。パーミッション変更を行ったつもりが適切に行えていなかったり、誤ったパーミッション設定をしてしまったりすると、WordPressが不具合を起こすリスクや、攻撃を受けるリスクが高まってしまいます。

そのため、所有者を含むそれぞれのユーザーが、下記の動作を行ってみて適切な動作を行うかどうか確認しておきましょう。

  • サイトが正常に表示されるか
  • 管理画面へのログイン
  • 記事投稿や画像のアップロード
  • テーマを変更する
  • プラグインの追加や削除を行う

これらの動作が正常に行えた場合、パーミッションも適切に設定できていると考えられます。

動作確認をせずにWordPressの設定を変更することは非常に危険であるため、絶対に行いましょう。

まとめ

本記事では、WordPressでパーミッション設定を適切に行う意義や、それぞれのファイルやディレクトリにおいて、どのパーミッション設定が適切であるのかを解説しました。

パーミッション設定は、WordPressを安全に運用する上で必須の要件であり、それぞれのファイルやディレクトリにおいて適切な設定を行う必要があります。

ただし、適切なパーミッション設定はサーバー等の環境によって大きく異なります。

適切なパーミッション設定を行いたい方は、契約しているサーバー会社に問い合わせの上、最適とされるパーミッション設定を行うようにしましょう。

ぜひ本記事を参考に、自身のWordPressにおけるパーミッション設定を見直してみてはいかがでしょうか。

注目記事バナー
2022.10.17