mixhostで公開しているサイトでは条件によっては.htaccessが外部からダウンロード出来てしまいます。.htaccessがダウンロード出来てしまう原因と対策方法を紹介します。
特定条件によって.htaccessが公開されてしまう
mixhostでは条件によっては.htaccessが外部からダウンロード出来てしまいます。その条件とは
- WordPressがインストールされている
- LiteSpeed Cacheプラグインを1.2.0.1(2017年9月7日)以前に使用していた
- .htaccessをサーバー上で10回以上変更している
たったこれだけです。mixhostマニュアル通りにWordPressをインストールしている場合はほぼ相当します。
LiteSpeed Cacheプラグインは.htaccessを編集する度にバックアップファイル.htaccess_lscachebak_01
、.htaccess_lscachebak_02
…とファイルを作っていきます。.htaccessの名前から始まっているのでこれらのファイルは公開されません。
しかし、バージョン1.2.0.1までは10回編集すると過去のファイルをまとめてlscache_htaccess_bak.zip
というファイルを作ります。このファイルは外部からダウンロードすることができるのです。
lscache_htaccess_bak.zip
をダウンロードして解凍するとこのようこのようなファイル構成を確認できます。
それぞれのファイルは過去の.htaccessそのままで、テキストエディタで開くことで見えてしまいます。
LiteSpeed Cacheプラグインバージョン1.2.1からはファイル名が.lscache_htaccess_bak.zip
となったのでダウンロードはできません。
しかし、過去に作られたlscache_htaccess_bak.zip
は削除されていません。LiteSpeed Cacheプラグインを1.2.0.1(2017年9月7日)以前に使用していた場合は(lscache_htaccess_bak.zip
が存在する場合は)手動で削除する必要があります。
.htaccessは公開するべきファイルでない
見の周りのサイトにて/.htaceessにアクセスしてみてください。例えば当サイトではhttps://masshiro.blog/.htaceess
にアクセスすると403Forbiddenエラーが発生してアクセスできません。.htaccessのファイルに外部からアクセスできることによって例えば次のような情報がわかってしまうためです。
- サーバー内のファイル構成が推定できてしまう
- アクセス規制関係によって関係者のIPアドレスがわかってしまう
- WordPressのSiteGuardプラグインなどでwp-login.phpのURLを変更していても変更先のURLがわかってしまう
自己防衛方法
防衛方法は単純で、lscache_htaccess_bak.zip
をFTPなどで削除するだけです。または、ファイル名を.lscache_htaccess_bak.zip
に変更します。
参考
バージョン1.2.1の「[IMPROVEMENT] Renamed .htaccess backup for security.」にてこの問題が修正されました。

コメント