WordPressを使う場合にやっておきたい外部からのアクセス制限の話。

脆弱性のあるWordPressプラグインを外部から直接リクエストする攻撃に対する対策の話。

WordPressを普通にインストールした場合、プラグインやテーマなど外部からアクセスさせる必要のないファイルまで公開ディレクトリに配置されてしまうので、それらの脆弱性を狙った攻撃が成立してしまう。
なので、対策として以下のwp-content wp-includesに.htaccessを配置し、外部からのアクセスを制限する。
wp-content 以下にはユーザがアップロードしたファイルや、テーマで使用するCSSや画像ファイル、JSファイルなどが配置されるし、wp-includesにも外部からアクセスする必要のあるファイルが含まれていたりするので、とりあえず、拡張子がphpのもののみ外部からのアクセスを拒否する。
(デフォルトを拒否にして、必要なものを「許可」するのがこの手の制限の基本だとは思うけれど、wp-contentに何がアップロードされるかはサイトによって違うし、それらを洗い出すのはめんどくさい気がするので、PHPに対するリクエストのみ拒否する形にした。)

wp-contentディレクトリとwp-includesディレクトリ直下に以下の.htaccessファイルを配置する。

<Files ~ "\.php$">
  deny from all 
</Files>

ただし、プラグインによっては外部からのリクエストを受け付けたいPHPファイルが含まれる場合もあるので、それらのファイルについて、別途許可してやる必要がある。

2013年01月23日  タグ:

Leave a Reply