AレコードはCNAMEレコードよりも安全ですか?

AレコードはCNAMEレコードよりも安全ですか?

当社のホワイト ラベル Web アプリケーションを使用するクライアントがいます。そのクライアントの URL は、portal.client.com です。そのクライアントに URL を CNAME app.company.com にポイントするように依頼したところ、A レコードにする必要があると言われました。

私は、IP アドレスを変更する必要がある場合、各クライアントに連絡して DNS レコードを更新するのではなく、1 か所で変更できるため、双方の時間と手間が節約されるため、CNAME が理想的であると主張しました。

そして、彼らから私が受け取った返答は次のとおりです。

CNAME は URL リダイレクトであるため、ホスティング プロバイダーの Web サーバーに A レコードを設定するのが最善のアプローチです。エンド ユーザーのブラウザー レベルでは、CNAME がサード パーティの URL を偽装し続けることを保証できないため、このアプローチの方がより安全です。

今のところ、そのどれも私には意味がわかりません。まず第一に、CNAME は URL リダイレクトではありません... A レコードが CNAME よりも優れている、またはより安全なアプローチになる理由や状況、そしてそれがこのケースに当てはまるかどうかについて、どなたか説明してください。

ありがとう、

答え1

CNAME の安全性が低下する状況は実際には考えられません。

エイリアスがゾーン ( client.com-> company.com) にまたがっているため、エンドポイントがclient.comの管理制御下にないため安全ではないと主張する人もいるかもしれません。しかし、クライアントはアプリケーションを使用するのに十分なほどあなたを信頼しているはずなので、レコードを台無しにしないことを信頼しない理由はありませんapp.company.com

システム管理者の観点から言えば、あなたが提案したように CNAME を使用する方が良いと思いますが、そのままにして顧客を満足させることもできます :)。

答え2

いいえ、CNAME レコードは A レコードよりも安全性が低いわけではありません。

実際、このような状況こそが、そもそも CNAME が存在する理由なのです。

からRFC 1034 セクション 3.6.2. エイリアスと正規名:

ホストやその他のリソースには、同じリソースを識別する複数の名前が付けられることがよくあります。たとえば、C.ISI.EDU と USC-ISIC.ARPA はどちらも同じホストを識別します。

また、CNAME は実際には URL リダイレクトではないことにも注意してください。DNS クエリはサーバーへの接続が確立される前に実行され、クライアントにセッションに使用する IP アドレスが提供されます。クライアントは、最初に要求された URL を認識しています。

答え3

理論仮定アプリケーションは、異なるドメインでマルチテナント化されるように設計されています。... 実際のところ違いはありません。

cnamesは「リダイレクト」、彼らはエイリアスこれらは単にリソースの別名です。過去アプリケーションは DNS ルックアップを気にしません。

エンドユーザーのブラウザ レベルでは、CNAME がサードパーティの URL を偽装し続けることを保証できないため、これにより、より安全なアプローチが提供されます。

技術的に言えば、意味がありません。A 名の制御を失うことは、アプリケーションが実行されている IP アドレスの制御を失うことよりは多少はひどくて不注意なことだと考えます。

また、cname が別の cname を指すことも避けるべきです (ただし、指すこともできます)。

そして、あなたが維持できない理由はありませんこれ記録管理が十分に行われ、他のクライアントを C ネームのままにしておけば、クライアントは A ネームで満足します。サービス料金を追加して、SLA を調整するだけです。

答え4

company.comのDNSサーバーが侵害された場合、AレコードはCNAMEレコードよりも安全です。また、とても細かく言えば、CNAME レコードは追加の名前解決のため、少し時間がかかります。この点を除けば、大きな違いはなく、実際、Amazon Web Services などの多くのインターネット クラウド サービスでは、クライアントのドメインに CNAME を設定する習慣があります。

また、URLは次のようになりますhttp://portal.client.com/myapp/foobar.htmlCNAME は URL を指すことはできず、ホスト名のみを指します。 彼らの返答から判断すると、クライアントは自分が何を言っているのかわかっていないようです。 彼らの無知に抗うのではなく、@Joe の提案どおり、A レコードの設定を任せたほうがよいかもしれません。

関連情報