最も基本的な必要性:Mail.Ru for BusinessでDNSホスティングを実装した方法





昨年、Mail.Ru for Businessの無料DNSホスティングサービスを開始しましたが、最近ベータテストが終了しました。 今日、私たちがそれをどのように行ったか、どのような技術的決定が下されたか、そして私たちが聴衆全体に対してどのように走ったかについて少しお話したいと思います。



ユーザーの要望に注意深く耳を傾け、すべてのウィッシュリストを記録します。 このリストでは、DNSホスティングが最初の行に着実に保持されています。 その結果、2つの問題を解決しました。追加のサービスを実装し、多くの人がそれを求め、新しい顧客のドメインを確認する別の方法を追加しました。 さらに、DNSホスティングに切り替えた後、メールの操作に必要なすべてのDNSレコードが自動的に追加されます。



DNSサーバーの選択



DNSサーバーを選択するときは、速度、消費されるリソース、使いやすさに重点を置きました。 すぐにデータベースを操作できるようにしたかったのです。 BIND、NSD、およびPowerDNSと見なされます。



BINDは最も人気のあるサーバーであり、優れたドキュメントがあり、おそらく質問に対する答えを見つけることができます。 ただし、彼はデータベースをそのまま使用する方法を知りません。 もちろん、DLZパッチがありますが、最新のアップデートは2013年に遡ります。 非常に高いパフォーマンスではありません。



NSDは、スピードとリソースの点で議論の余地のないリーダーですが、ファイル以外のものには対応できません。 実際には、これは、データベースからすべてのレコードを定期的に取得し、ファイルに書き込み、NSDをリロードするスクリプトを記述する必要があることを意味します。



PowerDNSのパフォーマンスは良好で、サーバーリソースを適度に使用します。 多くの有用なパッチがあり、あまりネイティブではありません。 PostgreSQLをそのまま使用できます。



最終的に、高性能NSDと優れたパフォーマンスと使いやすさを選択する場合、PowerDNSはPowerDNSを破りました。



PowerDNSでの作業は喜びです。データベースに変更を加えると、彼はそれを拾います。 さらに、すべてのデータはデータベースから取得されるため、PowerDNS側でマスター/スレーブを構成する必要はありませんが、それらのレプリケーションをデータベースに転送できます。



名前の履歴



ドメインを確認するために、2つのNSレコード(たとえば、moscow.ens.mail.ruとspb.ens.mail.ru)を発行します。 都市はどこから来たのですか? これを説明するには、まず、解決しようとしていた問題について話す必要があります。



Mail.Ru for Businessでの登録を簡単かつ便利にするよう努めました。 今、彼女は次のように働いています。 bestcompanyever.ruドメインを所有していて、登録したいとします。 当社のウェブサイトにbestcompanyever.ruドメインを追加すると、NSレコード用のドメインがいくつか提供されます。 それらを登録すると、メールとDNSレコードを管理できるようになります。



ただし、2人が同時にbestcompanyever.ruを登録しようとすると、状況が発生する可能性があります。 このような場合、ドメインの実際の所有者を識別し、このドメインのメールとDNSサーバーを管理する権利を彼に発行できるアルゴリズムが必要です。



最も簡単な解決策は、標準形式で名前を提供することです:dns1.mail.ru、dns2.mail.ruなど、エントリの一意の組み合わせを使用して識別します。 たとえば、bestcompanyever.ruを追加した最初のユーザーはdns7.mail.ruとdns23.mail.ru、2番目はdns3.mail.ruとdns84.mail.ruの登録を求められます。 次に、NSレコードのどのペアがドメインに登録されているかを確認し、これに基づいて、真の所有者が誰であるかを判断します。 優れたシステムのように思えますが、ニュアンスがあります。 多くの場合、ユーザーは記録としてdns3とdns84を受け取り、この範囲内の他の全員を処方します:dns3、dns4、dns5、dns6など。これはボーナスを与えません:ユーザーがそのようなアクションの結果として受け取る唯一のもの、-これはドメイン検証中のエラーです。 このような状況を回避するために、シーケンスが明確でない名前を発行します。 このために、都市の名前を使用しました。 これで、50都市の2つのリストができました。







Mail.Ru for Businessに登録するすべての人は、各リストから1つのエントリを受け取ります。 これにより、2,500個の一意の組み合わせが得られ、複数の人が1つのドメインを登録しようとしても、ドメイン所有者の一意の識別が保証されます。



登録が完了すると、サーバー名は技術的な意味を失います。 リクエストの送信先アドレスに関係なく、リクエストされたレコードを常に提供します。



ブルートフォース



理論的には、攻撃者は2500アカウントで同じドメインを登録する手順を開始し、NS名のペアのあらゆるバリエーションを取得する可能性があります。 ドメインの実際の所有者が来て登録手順を開始すると、攻撃者がすでに占有しているものをいくつか取得します。 そして、それらをレジストラに追加して自動的にチェックした後、攻撃者に登録されたドメインをアクティブ化します。



もちろん、このシナリオは複雑で、高価であり、一般的に、それほど苦しむ価値があるドメインはそれほど多くありません。 この問題を次のように解決しました。同じ名前の未検証ドメインの数に制限を追加し、各ドメインに対して一意のペアが生成されることが保証されています。



この機会に、Mail.Ru Groupには脆弱性検索プログラムあることを思い出させていただきます。 好奇心reader盛な読者がDNSホスティング(およびbiz.mail.ru全般)のバグを見つけた場合、申請書を提出することでカルマとお金のプラスを獲得できます。


機能システム



すべての新しい機能は、機能のシステムを通じてユーザーに含まれています。 これにより、機能へのアクセスを許可するユーザーを選択して、機能を柔軟に展開できます。 したがって、すべてのユーザーに公開せずに、実稼働環境で新しい機能をテストできます。 必要に応じて、特定のユーザー、ドメイン、または視聴者の特定の割合に対して機能を有効にできます。



DNSホスティングの場合、実際に試してみたいユーザーのリストがありました。 これらは、クローズドベータテストグループに含まれていました。 このステップにより、まれなケースに関連するバグを特定し、インターフェースの使いやすさに関するいくつかの問題を修正することができました。



クローズドベータテストの終了時に、すべてのユーザー(最初の10%、次に50%、1週間後-すべてのお客様)にホスティングへのアクセスを公開し始めました。



結論の代わりに



高速で信頼性の高いDNSホスティングを作成しました。そこで停止するつもりはありません。 近い将来、DNSSECを開始する予定です。 私たちは、ホスティングを改善し続け、批判されたときにそれを愛しています。 それで、すでにそれを使用しているすべての人に、あなたが改善したい、またはホスティングに追加したいものについてコメントで伝えるようお願いします。



そして、あなたが私たちのサービスを試してみる時間がなかったら-コメントを残してください。 最初の100人のhabrausersは、メールとDNSサービスが接続された状態で.ruゾーンに無料ドメインを登録するためのプロモーションコードを受け取ります。



ソース



blog.cloudflare.com/whats-the-story-behind-the-names-of-cloudflares-name-servers



All Articles