web-dev-qa-db-ja.com

内部サイトの証明書を暗号化しましょう

Let's Encryptを内部サイト/アプリケーションに使用することについての混乱を解消したいと思っています。この情報を他の場所で見つけることができませんでした。

アプリケーションでSSLの使用を許可するために、Certbotと組み合わせたLet's Encryptを使用したいと思います。

質問:

  1. Let's EncryptまたはCertbotは、仕事の一部を実行するためにインターネットアクセスを必要としますか?インターネットアクセスがダウンしている場合でも、アプリケーションは正常に実行できる必要があります。私が収集できることから、インターネット接続を必要とする唯一の部分は、90日の期間が終わりに近づいているときに新しい証明書を生成するためのものです。
  2. Let's Encryptには有効なドメインが必要です。彼らのウェブサイトによると、「ウェブサーバー、メールサーバーなど、ドメイン名を使用するすべてのサーバー」。有効なドメインを持つことが何を意味するかについては、私はむしろ無知です。すでに他のWebアプリケーションをホストしているサーバーにApacheがある場合、Apacheカウントで設定したドメイン名は何ですか?またはドメイン名を購入する必要がありますか?
  3. 前の質問で、他のアプリケーションがこのサーバーに配置されると述べました。これらはSSLを必要としません。私のサーバーでLet's EncryptとCertbotをセットアップした場合、これらのアプリケーションはSSLを利用できるということですか、それともセットアップに使用したドメイン(サイト)名に固有ですか?別のアプリケーションがSSLを使用している場合、これらの他のアプリケーションのいずれかを変更する必要がありますか?
  4. 仮にルート証明書を取得したいのですが、これをCertbotで使用する代わりに、中間キーのセットを作成して使用したいとします。これは可能ですか?これらの中間キーは、新しいルートキーを作成するたびに変更する必要がありますか?

私の質問のいずれかが無知であることをお詫び申し上げます。この種のものに関する私の知識は非常に限られています。そうは言っても、私が必要とすることを達成するためのより良いオプションがあるかもしれないので、私は提案を受け入れます。このソリューションでは、アクセスが必要な各クライアントマシンにCAを追加する必要がないため、自己署名証明書でLet's Encryptを選択しました。

5
Newb 4 You BB
  1. Let's Encryptにはインターネット接続が必要ですが、それは eFF それを実行するISRG。 Certbot(コンピューター上で実行)は、Let's Encryptと通信して証明書を発行および更新しますが、コンピューターからの接続が必要です。

  2. 有効なドメイン名(Let's Encryptの場合)は、設定したドメインであり、グローバルDNSインフラストラクチャによって解決できます-実際には、購入したドメイン名、または購入したドメイン名に関連するサブドメイン(ただし、 www.tkなどのあいまいなレジストリから無料のドメインを取得することが可能です)

  3. Let's Encryptキーを使用するようにアプリケーションを設定する必要があります。 Certbotが行うことは、(a)ほとんどすべてのブラウザが受け入れるキーのセットを持ち、(b)の所有者を確認した後にキーに署名することです。キーは、署名されたキーのDNSも制御します。 CertbotはApache/NGINXで使用でき、簡単に実行できますが、どちらのソフトウェアも実行する必要はありません。同様にCertbotの出力(さらに必要に応じてオプションの構成ファイルに追加しますが、必須ではありません)は署名付き公開鍵です。この秘密キーは、秘密キー(および中間キー)とともに一般的に生成されます。これは、SSLを使用できるソフトウェアを使用し、Let's EncryptをCAとして認識し、ファイル形式を認識するために使用できます。これはソフトウェアで設定する必要があります。

  4. あなたが求めていることは無意味です-ルート証明書を持っているならCertbotを使用しません。 OpenSSLライブラリを使用して独自のCAインフラストラクチャを作成できます。これを簡単にしたい場合は、easy-rsaなどのpkiツールがあります。 Certbotはレジストリではなく、SSLライブラリでもありません。標準に準拠した方法でドメイン名の所有権を確認し、Let's Encryptが提供する証明書を管理するスクリプトです。独自のCA(認証局-ルート証明書とは何か)を設定している場合は、役に立ちません。

10
davidgo
  1. はい、新しい証明書の作成に関連する課題を実行するには、それだけです。
  2. 「有効なドメイン」は、単に「IPアドレスではない」という意味です。 Let's Encryptは、ほとんどの発行者と同様に、証明書のサブジェクトとしてIPアドレスを使用しません。ドメインである必要があります。
  3. Certbotが行うことは、Apache/nginx構成にあるドメイン名の証明書を作成することだけです。 Apache/nginx設定を使用してSSLを有効にするかどうか、または他の証明書を指すことができます。 CertbotはnotサーバーでSSLを有効にするか、独自の証明書を使用するように強制します。 (オプションで)インストーラーの間に構成を書き込むことができます。
  4. 秘密鍵とオプションのパスフレーズがあれば、任意の証明書を中間として機能させることができます。
2
Jonathan.Rosa