WordPressサイトのセキュリティ対策にパーミッションを見直そう

セキュリティ

お店や会社のサイトをWordPressで作成・リニューアルされることが最近多くなっています。


しかし、人気であるがゆえにウイルスや改ざんなどのサイバー攻撃のターゲットとされやすくなっています。

カメコ
カメコ

顧客の大事な情報が狙われたりホームページを見れなくされたりされたら大変なことですので、ちゃんとセキュリティ対策を行いましょう!

セキュリティ対策はいくつかありますが、そのなかでも特にやっておいたほうが良いのが「パーミッションの設定」です。

Notes

パーミッションとは、フォルダやファイルのアクセス権限のこと。
パーミッションは英語で「許可、許諾」のことを指しますが、インターネットの世界では、フォルダやファイルへのアクセス権限のことを指します。
設定値とその意味については、このページの後半に書きましたので、参考にしてみてください。

WordPressはたくさんのファイル郡で構成されています。
重要なファイルはパーミッションを厳しめに設定することで、不正アクセスを防ぐことができます。

ここでは、最低限しておいたほうがいいパーミッション設定について紹介します。
また、利便性が高い分セキュリティに弱い機能があります。
ここで紹介するパーミッション設定を参考にセキュリティ強化することをお勧めいたします。

ご利用サーバによっては下記で紹介する設定でうまくいかない場合がございます。
その場合はご利用サーバの推奨するパーミッションに従ってください。

各ファイルとパーミッション設定

.htaccess

606

.htaccessはWordPressのファイル郡ではありませんが、サーバーに関して様々な設定が可能なファイルです。
サイト表示や動作に関わる重要なファイルですので厳しめにしたいところですが、WordPressのパーマリンク設定への影響を考慮し「604」ではなく「606」を推奨します。
(パーマリンクいじらないよ!という人は「604」のほうがセキュリティ高いです)

wp-config.php

400 or 600

WordPressの一番重要なファイルのため、外部のアクセスは完全にブロックしておくとよいでしょう。
ファイルのオーナーのみが読み込むことが出来る「400」が最も安全な設定になります。
ただし利用しているサーバによっては「400」では利用できない、wp-configを書き換えたい場合があるなどのときは「600」がおすすめです。

xmlrpc.php

000

リモートで投稿したりJetPackなど一部プラグインで使用するファイルです。
実はこのファイル、悪用や攻撃をされるケースがとても多いファイルなので、利用しない場合は必ず「000」にしておきましょう!
もしリモート投稿等の利用があっても、そこまで活用されていないようでしたら、無効化を優先したほうが、セキュリティ上はオススメです。
※WordPressをアップデートすると復活してしまうので、アップデート時はまた設定する必要あり
なお、.htaccessで書く方法が一番確実ですが、ここではパーミッションのみの紹介とさせていただきます。

wlwmanifest.xml

000

Windows Live Writerを使ってWordPressサイトが更新するためのファイルです。
こちらも悪用されるケースが多いため「000」に設定しておきましょう。

※WordPressをアップデートすると復活してしまうので、アップデート時はまた設定する必要あり
なお、.htaccessで書く方法が一番確実ですが、ここではパーミッションのみの紹介とさせていただきます。

wp-mail.php

000

メールでWordPressの投稿をするためのファイル。こちらも使わないなら「000」にしておきましょう。

※WordPressをアップデートすると復活してしまうので、アップデート時はまた設定する必要あり
なお、.htaccessで書く方法が一番確実ですが、ここではパーミッションのみの紹介とさせていただきます。

その他のフォルダ

705 or 755

「705」のほうがセキュリティ高いですが、利用サーバー等よってはエラーとなってしまう場合があります。
その場合は「755」の設定にするとよいでしょう。

その他のファイル

604 or 644

「604」のほうがセキュリティ高いですが、利用サーバー等よってはエラーとなってしまう場合があります。
その場合は「644」の設定にするとよいでしょう。

ご利用サーバが推奨されているパーミッションにすることが基本です。
しかしながら、セキュリティが甘い場合もあるため、上記に紹介したオススメのパーミッション設定を参考に、臨機応変に設定をしてみてください。

パーミッションの数字の見方

パーミッション設定は3つの数字の羅列で表現されます。
左の数字から「Owner(自分)」「Group(グループ)」「Other(その他)」のアクセス権限の設定になります。
WordPressの管理画面の操作でファイルへのアクセス等が起こった場合は「Other(その他)」の扱いとなります。

「Owner(自分)」に絞って、数字を見ていきましょう。
まず、パーミッションの種類は「読み込み権限」「書き込み権限」「実行権限」の3つがあります。
この3つの権限の設定をひとつの数字で表すことになります。

  • 読み込み権限 ⇒ 4
  • 書き込み権限 ⇒ 2
  • 実行権限 ⇒ 1
  • 全部許可しない ⇒ 0

権限を付けたい数字を足していき、1つの数字にしたものが設定値になります。

【具体例】
Ownerに全権限、Groupに権限無し、Otherに実行権限以外、としたい場合
・Ownerは7(4+2+1)を設定する
・Groupは0を設定する
・Otherは6(4+2)を設定する

結果としてパーミッションは「706」となります。