セキュリティ意識とは、「まっさかwwそんなのがwwww脆弱性になるわけないじゃんwwwww」という考えを捨てることだと私は思っている。危険はいつも隣り合わせ。
セキュリティホールになりかねない仕様
1行でまとめると
サブドメインのサイトにルートドメインからアクセスできる
詳しく
今回問題となるのは、スターサーバーのサブドメインに関する仕様だ。
このブログを含め、私の持っているWebページはスターサーバーのハイスピードプランでホストされている。
そしてこのスターサーバーの仕様において、ユーザーディレクトリの構造は以下のようになっている。
chikage.net[ルートドメイン]/
└ public_html/
├ blog.chikage.net[サブドメイン]/
├ .htaccess
├ .user.ini
├ index.php
└ [その他WPに必要なファイル]
├ .htaccess
├ .user.ini
└ index.html
このディレクトリ構造を見て、聡い方ならお気づきだろう。
https://blog.chikage.netには、https://chikage.net/blog.chikage.netでもアクセスできてしまうのだ!
…これがセキュリティ上悪いかと言われれば微妙だが、気持ち悪さがあることは間違いない。
そこで、これを改善しようというのが今回の目的だ。
.htaccessでアクセス制限をする
1行でまとめると
/[ルートドメイン]/public_html/.htaccessでアク禁する
詳しく
public_html直下にある.htaccessはサブドメインでは無視されることを利用して、ルートドメインからサブドメインのディレクトリへアクセスできないようにする。
具体的には、/[ルートドメイン]/public_html/.htaccessに以下を追記する。
# サブドメインディレクトリをアク禁
SetEnvIf Request_URI "/*\.chikage\.net/$" sub_dir
Order Allow,Deny
Allow from all
Deny from env=sub_dir
これにより、すべてのサブドメインのディレクトリへのアクセスができなくなった。
もちろんサブドメインからは問題なくアクセスできるはず。
コメント