2017-11-21 1 views
0

私は最近、コンテナ化されたマイクロサービスアーキテクチャの概念証明の設計作業を取り上げました。多くの異なる製品を見て、私はTraefikを使用して解決しました。私は、ホストのためにサブドメインによって配備され、ラベル付けされたすべてのアプリケーションでSSLを動作させることができました。Traefikで暗号化する方法ドメインオーナーへのリクエストなしで証明書を生成する電子メール

これは問題ではありません。問題は、Let's Encryptがどのように証明書を発行するのかについての詳細を理解していないことです。 SSL証明書を要求して使用する私の唯一の経験は、SSL終了のためにELBリスナーに追加することにあります。

この特定の使用例では、自分のドメインのドメインレジストラ電子メールに送信されたリクエストを作成しました。私はその要求を承認し、AWSで発行された証明書を取得します。このため、承認はありませんでした。ドメインはすでにAWS名前空間とELBを指しているのでしょうか?誰かがこれについての洞察を持っているなら、私はそれを高く評価します。

答えて

2

アマゾン証明書マネージャー(「私のドメインのドメインレジストラ電子メールに送信された要求を作成しました」)とLets-Encryptはドメイン検証(DV)証明書です。

これらの証明書は、証明書が要求されているホスト名の効果的な制御を確認して発行することができます。ドメイン名(またはサブドメイン)の制御を検証せずに証明書を発行することはできません。

ACMは電子メールの確認を使用します...ドメインの連絡先(WHOISから)とドメイン名自体の複数の連絡先に、承認を求めるメッセージが送信されます。肯定応答では、CAは、ドメインを制御するエンティティによって証明書要求が許可されたと想定することができます。

このアプリケーションでは、Lets-Encryptはおそらくファイルベースの検証を使用しています。このサービスは「ノンス」ファイルを生成します。その内容は他の目的では基本的に無意味ですが、同時に予測不可能で秘密です。そのファイルは、サービスによって指定されたWebサーバー上の一意のパスに置かれ、次に、複数の未知/文書化されていない/地理的に分散された送信元IPアドレスからインターネット経由でファイルを取得しようとします。悪意のあるユーザーがファイルが本物のサイトにあることをサービスに納得させることができます)。ノンス・ファイルが見つかってその内容が損なわれていない場合、これにより、サービスは、ドメインを制御するエンティティーによって証明書要求が許可されていると仮定することができます。

一部のサービス(たとえばGandi)は、サイトで特定のDNSレコードを作成するために使用するnonce値が提供されるドメイン検証の3番目の形式をサポートしています。予期しない内容の予測不可能なレコードが存在するため、サービスは、証明書要求がドメインを制御するエンティティによって承認されていると判断することができます。

ドメイン検証は、Webサイト証明書の検証の最低レベルであり、検証レベルが高い証明書とは異なり、結果の証明書自体は、組織が実際に検証されなかったため証明書が発行された実際の組織を特定しませんドメインの制御だけがあった。

比較的新しい標準であるCertificate Authority Authorization DNSレコードは、CAAレコードがドメインのDNSレコードに存在する場合、特に記載されていないCAによる証明書の発行を防止します。


更新:2017年11月22日には、ACMそれは私が上で、前記「第三」のオプションでDNSを介してドメインの検証を行うための機能を追加しましたannounced。当初質問に答えられた時点で、ACMは電子メールの検証のみをサポートしていました。

関連する問題