
私は最近、システム運用エンジニアとして働き始めました。しかし、特に SSL/TLS 証明書と DNS との関係について、まだ基本的な知識が不足しています。
使用例は次のとおりです。
- 弊社の取引先である会社には、独自のウェブサイトとドメインがあり、独自のSSL証明書があります。ここでは、その会社のドメインを次のように呼びます。データ
- 弊社は独自のSSL証明書を使用して、独自のウェブサイトとドメインをホストしています。ここでは、使用したいドメインを呼び出します。当サイト
- 私たちが取引している会社が望んでいるのは、https://data.example.com実際に内容を確認するとhttps://ourdata.ourexample.com
これについては、2つの可能性があると私は理解しています。
- (私にはかなり明確です) nginx/apache のいずれかを介して Web サーバー レベルでリダイレクトを作成します。これは、両方のドメインにまだ独自の SSL 証明書があることを意味しますが、これは構成ファイルにいくつかの行を記述するだけの問題であり、DNS 構成とはまったく関係ありません。
- (ここからが私にとっては複雑になってきます)取引先の企業にCSR情報の提供を依頼する(https://en.wikipedia.org/wiki/証明書署名リクエスト) CSRファイルを生成できるように...独自のSSL証明書を生成するために使用する秘密鍵から...?その後、CSRを渡し、クライアントは独自のSSL証明書の料金を支払います。その後、クライアントは新しいCNAMEを作成してリダイレクトすることができます。data.example.com です。にourdata.ourexample.com です。CSR は一種の公開鍵なので、他の人に簡単に渡すことができると説明されています。しかし、この説明がプロセスを正しく説明しているとしても、どこで何が行われ、なぜこれが行われるのかは正直わかりません。
最後に、CSRが当社側で生成され、CNAMEが作成された場合に気づいたのは、https://data.example.com、私たちはの内容を見るhttps://ourdata.ourexample.comブラウザに表示されるURLはhttps://data.example.comこれが Web サーバーの構成に関係しているのか、DNS の「設定」に関係しているのかはわかりません。
私が説明した内容が多少は明確であったことを願っています。そうでない場合はお知らせください。より詳しい情報を提供するよう努めます。
注: 私はすでにこの質問に対する答えをいくつか見つけようとしましたが、あちこちでいくつかのことを理解したとはいえ、まだ 100% 明確ではありません。
ありがとう、SilentSib
答え1
data.example.com
ホストされるのはあなたの敷地内にいて、example.com
サービスを提供していることを顧客に知られたくないのです。
その場合は、Apache 2台だけが必要です仮想ホストまたは2つのnginx仮想サーバー同じコンテンツを提供するように構成されているもの。
証明書についてはどうでしょうか?概念を理解していればそれほど複雑ではありません。公開鍵暗号。
基本的に(最も多く採用されているアルゴリズムの1つでは、RSAA のA
)の場合、2つの鍵とがありますB
。 で暗号化されたデータはA
でのみ復号化できますB
(A
は復号化できません)。その逆も同様です。 そのうちの1つを配布し、それを公開鍵もう一方は秘密にされ、秘密鍵公開鍵は、あなただけが復号化できるデータを暗号化するために使用され、秘密鍵は署名にも使用できます。つまり、事前に合意されたバイト シーケンス (メッセージのハッシュなど) を秘密鍵で暗号化すると、他のすべてのユーザーがそれを復号化して、秘密鍵を持っていることを確認できます。
その他の部分は公開鍵インフラストラクチャは:
- 証明書: 信頼できる機関によって署名された、公開鍵、ドメイン名、その他のデータを含むファイル。秘密鍵(公開鍵は配布され、すべてのブラウザで信頼されています)。ドメイン名証明書には IP アドレスのみが記載されており、他のデータは記載されていません
DNS
(ただし、必要に応じて証明書に IP アドレスを追加するよう依頼できます)。そのため、何か変更があっても IP アドレスを変更する必要はありません。 - CSR: 証明書とほぼ同じです。公開鍵、ドメイン名、その他のデータが含まれており、秘密鍵(キーを持っていることを示すため)。実際には、証明機関は CSR の公開キーのみを使用し、場合によってはドメイン名も使用します (HTML フォームから取得していない場合)。
秘密鍵は安価です (ビジー状態のサーバーで生成するのに数秒かかります)。クライアントが と に同じ秘密鍵を使用することはほとんどありませんdata.example.com
(example.com
同じ証明書に両方の名前がない限り)。つまり、
- クライアントがすでに の証明書を持っている場合は
data.example.com
、証明書と対応する秘密鍵を(安全な方法で)送信するよう依頼してください。クライアントはそれらをもう使用しません。 - クライアントに の証明書がない場合は
data.example.com
、新しい秘密鍵を作成して認証します。しないでください他のドメインには秘密鍵を使用します。通常、証明書を更新するときでも、新しい秘密鍵が生成されます。ourdata.example.net
同じ証明書を使用すると、誰がサービスを提供しているかが誰でもわかりますdata.example.com
。 - 使用することもできます暗号化しましょうクライアントが条件に同意する場合。この方法では、追加費用なしで数秒以内に有効な証明書を取得できます。