WordPressのセキュリティ診断対策 README系ファイルの秘匿

WordPress のセキュリティ診断を行うと、コアの readme.html や プラグインの README 系ファイルの存在が、セキュリティの都合上よろしくないと指摘されることがあります。

コアのアップデートやプラグインの管理を完全にコントロールしている場合は、重箱の隅をつつくような指摘で面倒くさく感じるわけですが、クラッカーの視点だと README の内容などから脆弱性のあるバージョンを判定して攻撃する可能性は十分にあります。

対策としては、ファイルにアクセスした時に 200 以外のレスポンスを返すようにします。ファイルを削除しても効果はありますが、コアやプラグインのコンポーネントファイルを削除するのは WordPress の仕組み的には得策ではありません。アップデートやプラグインの追加時にまた削除することになります。
サーバー側での設定の例として、Nginx の場合はこんな感じで書いています。

location ~* (readme.html|readme.txt|license.txt|README.md|composer.json)$ {
    return 403;
}

レスポンスはお好みでよいと思いますが、5xx 系はサーバー自体のエラーに見えてしまうため、ファイルが無いように見せるなら 404、実はファイルはあるがお前には見せないという意思を見せたい場合は 403 でよいでしょう。