例えば.
curl -I http://ma.tt/blog/wp-config.php
200 OK
Wp-config.phpは現在白紙のページを返すだけなので、一般向けのファイルではありません。代わりに404を返さないでください。 (だからGoogleによってキャッシュされません)
また、readme.html
のようなファイルの場合、それはあなたのワードプレスのバージョンを開示するので隠されるべきです。 http://ma.tt/blog/readme.html
そのため、現在私はいくつかのファイルを選択し、Webサーバーレベルでブロックしています。
wp-config.php
wp-config-sample.php
license.txt
readme.html
..
しかし、特にwp-admin
およびwp-include
フォルダーの下に非常に多くのファイルがあるので、セキュリティーを向上させるためにそれを行うためのより良い方法はありますか?
おそらくサイトに侵入しようとする前にあなたのWPバージョンをチェックしようとするハッカーはいらないので、私はreadmeファイルには迷惑をかけません。/wp-includesや/ wp-adminには何も気にしないでください。私はデフォルトのインストールでそのコードを安全にするためにコアチームを信頼しています。
保護するファイルはwp-config.phpです。なぜなら、テーマやプラグイン開発者はセキュリティがあまり得意ではないからです。これにはDBアクセスの詳細と/ wp-contentディレクトリが含まれています。 wp-configのためだけにあなたの.htaccessでアクセスを拒否する
<files wp-config.php>
order allow,deny
deny from all
</files>
/ wp-content/pluginsおよび/ wp-content/themeでは、以下の内容の.htaccessを追加することによって、animage、js、またはcssファイル以外のものへのアクセスを拒否します。プラグインやテーマがこの設定でうまくいかない場合、おそらくWPコーディングガイドラインに従わないので、それらを使わない方が良いかもしれません。
<Files ^(*.jpeg|*.jpg|*.png|*.gif|*.js|*.css)>
order deny,allow
deny from all
</Files>
/ wp-content/uploadsの場合、どの種類のファイルがそこにアップロードされるのかわからないのでアクセスを拒否することはできません。そのためにするべき最もよいことは単にphp、Perl、pytonの実行を許可しないことです。そのディレクトリにアクセスし、次の規則に従ってプレーンテキストとしてそれらを提供します。
<FilesMatch "\.(php|pl|py|jsp|asp|htm|shtml|sh|cgi)$">
ForceType text/plain
</FilesMatch>
あなたが満足したら、おそらくあなたはより良いパフォーマンスのためにrootで一つの.htaccessにすべてを結合するべきです
あなたがwp-adminの下でファイルをブロックするならば、最初の訂正、あなたはwordpress管理者パネルを使うことができないでしょう。あなたは "wp-admin/includes"フォルダの下のファイルをブロックすることができますが
今解決策: -
すべての名前を入力する必要はなく、正規表現を使用してファイルのパターンをブロックすることができます。 wp-includesフォルダにあるすべてのファイルをブロックするための正規表現を書くのは簡単です。
同じワードプレスディレクトリに他のファイルがない場合は、特定のファイルをブロックするのではなく、ホワイトリストのアプローチ、つまり特定のファイルのみを許可する方法に進むことができます。具体的には、wp-adminとwp-contentフォルダの中にあるファイルと、もちろんメインのワードプレスファイル(index.php)だけを許可します。
テーマとプラグインが動的に生成されたファイルを使用していない場合は、wp-admin&index.phpを除いて、直接アクセスからすべてのphpファイルをブロックすることができます。
どのようなアプローチを取っても、phpファイルだけをブロックし、それ以外のものはブロックしないことを忘れないでください。