Webアプリケーションのサービス側と管理機能のあり方について


WordpressやPythonのDjango、RubyonRailsのECパッケージSpreeなど多くのアプリケーションでサービスサイトと管理機能を同じドメイン配下にしているケースを拝見します。

例）www.someservice.com・・・サービスサイト、www.someservice.com/admin・・・管理機能

当然同じサーバ上に機能を搭載している関係上セキュリティ的には不安があるのですが、この作りというのは世界共通なのでしょうか？  
個人的には管理機能はサブドメインつけて別サーバに載せてアクセスするIPを限定

例）www.someservice.com / admin.someservice.com

とかするのがドメイン設計上好ましいと思っているのですが、皆さんはどのようにお考えでしょうか？




正解のない質問はアンケート扱いで SO 的には非推奨ですが  
ドメイン名を複数維持管理するには（提示例では `wwww.example.com` と `admin.example.com` の両者)
１つだけ取得するより余計にコストがかかります。セキュリティもコストを無視しては語れません。その辺、立場の違いで話は違ってくるでしょう

  * 既存のフレームワーク類を一切使用せずに独自プログラムで独自ドメインを維持するサイト管理者なら  
そういうところはたいてい自鯖を立てているでしょう。なら維持管理はコンソールから行えばよいのでサブドメインにコストは払いたくないです。

  * Web フレームワークの作者なら  
フレームワークのユーザーつまりはサイト管理者に対してサブドメインを維持するコストを負担させるか否かってことになりそう。サイト管理者に追加の維持コストを強いる分、フレームワークのユーザーは増えないかもしれません（フレームワーク間の競争面で不利）。仮にこのフレームワークの出来が良いなどの理由によりユーザーが増えたとして、サンプルないしはドキュメントに「管理用に
`admin.example.com`
を作れ」と記載したらそのまま真似るユーザーは一定数居ますし、当然ながら攻撃者もその辺の状況を真似るでしょう。その意味でセキュリティが向上するとは思えません。

  * 普通に既存の web フレームワークを使うサイト作者なら  
わざわざサブドメインを作り `admin.example.com` にログインできる IP アドレスを制限するなら、そりゃ
`www.example.com`
で行ってもセキュリティ的に大差はないはずなのでサブドメインを立てる根拠にならんです（オイラがスポンサーとして金出す側ならそんなことは却下）

ってことでオイラの意見としては「セキュリティが増すか減るかだけ考えるなら、サブドメインを作るほうがセキュリティが増すかもしれないが、同じ程度に終わる可能性のほうが高い」です。根拠は「攻撃者もそんなことは百も承知なので本気で攻撃したいようなクラッカーには通じないだろう」「カジュアルな攻撃者やスクリプトキディ避けにはなるかもしれない」ってとこで。まとめると「金をかけるべき場所が間違っていないか要検討」ってとこでしょう。

