複数(不特定多数)ドメインのホスティング (web/メール・200ドメイン程度) を、1 つの IP アドレスを持ったサーバにて行おうとしています。
ホスティングを行うドメインの DNS サーバ (ゾーンサーバ) の運用も行う予定です。
新たなドメインのホスティングを行う際に、ゾーンサーバに、そのドメインを登録していく、という方法がオーソドックスな方法かと思いますが、管理、運用コストを鑑み、「どのようなドメインに関する Aレコード/MXレコードの問い合わせを受けても、自身の IP アドレスを返す」というゾーンサーバが運用できればよいのではないか、と考え(思いつき)ました。
このような方法での複数ドメインのホスティングは一般的でしょうか。また、セキュリティ等、問題になることはありそうでしょうか。
また、このような DNS ゾーンサーバを低工数 (例: bind や tinydns での設定) で行う方法があれば教えてください。
このような方法での複数ドメインのホスティングは一般的でしょうか
一般的とは言いがたいです。
ただ、過去の事例としてベリサインが同様のことを行ったことは有りました。
http://japan.cnet.com/special/story/0,2000056049,20064833-2,00.h...
不満が公の議論に発展したのが昨秋、VeriSignがSite Finderと呼ばれる新サービスを打ち出した際だ。このサービスは、まだ割り当てられていないすべての.comと .netのドメイン名を管理するもので、URLの打ち間違いなどで存在しないページにアクセスしようとすると同社の提供するページへリダイレクトする仕組みになっている。
セキュリティ等、問題になることはありそうでしょうか
ソースは失念しましたが、推奨されないような文章は見た覚えがあります。
ただし、セキュリティ上の理由ではなかったと記憶しています。
レゾルバに指定しない限りは一応大丈夫そうに思えます。
BIND においてトップレベルのゾーンに指定すれば実現可能かと。
重要な部分のみ抜粋します。
named.conf
zone "." { type master; file "multidomain.zone"; };
multidomain.zone
@ IN A aaa.bbb.ccc.ddd mailhost IN A aaa.bbb.ccc.ddd * IN A aaa.bbb.ccc.ddd * In MX mailhost
サブドメインについてどのような挙動を示すかは試していないので自信がありません。
"." ゾーン以外にも "com.", "net.", "org.", "jp." の様に定義する必要があるかもしれません。
かなり一般的ではありませんね。
実現できたとして、悪意を持ってドメイン名のDNSをそのIPアドレスに指定されると面倒なことになると思います。
またサーバー自身が参照するDNSは他のDNSを参照するようにしておかないと例えばメールサーバーは外部のドメイン名のIPアドレスを引こうと思っても自分自身のIPアドレスを受け取ることになります。
私自身は100を越えるドメイン名のDNSを管理していましたが、その時はドメイン名のリストを食わせると必要なnamed.confファイルを吐き出す簡単なスクリプトを作っておいてそのリストをいじって管理していました。
ゾーンファイル自身は同じものを使いまわしすればいいのであまり手間はかからなかったですね。
回答ありがとうございます。
> 実現できたとして、悪意を持ってドメイン名のDNSをそのIPアドレスに指定されると面倒なことになると思います。
具体的にどのように「面倒なこと」になりそうでしょうか。例えば、www.example.com の A レコード / MX レコードとして、このサーバの IP アドレスが登録された場合(この場合、おそらく「オレオレ DNS 」のあるなしは、大勢に影響を与えないと思います。)と、www.example.com ドメインの権限が、この DNS に対して委譲された場合に、後者のほうが「面倒度」は増すでしょうか。
サーバ自体は、レゾルバとして他の DNS を利用するようにする予定です。
管理のためのスクリプト自体は書こうかとも思っているのですが、とにかく管理、運用にコストをかけたくない状況ですので、こういう方法はダメなのかな、と考えてみました。
わかってやってる様なので、直接的にはセキュリティ上の問題は無いと思うけど、やっぱりやめたほうがいいとは思う。
具体例は探せなかったけど、DNSの運営経験からはわけの分からないドメインの問い合わせ要求とかいっぱい来てたし。
自分の権限の無いドメインに対しても返答してしまう部分が焦点だとは思うが。
スクリプトは一回書けばOKなのでさほどの手間でもないと思うし。
もっとも、そういう対処をしたい気持ちは分かりますが。
具体的な回答で無くて失礼。
ありがとうございます。
ベリサインの件は一応存じておりましたが、今回の件は、ベリサインほど大きな DNS 空間の権限を委譲されているわけではないので :-) また違った状況ですよね。
推奨されない、というのは気になる情報です。
bind の設定の件、どうもありがとうございます。
早速試してみると同時に、もう少し、問題点がないか検討してみたいと思います。