web-dev-qa-db-ja.com

HTTPリバースプロキシ:バックエンドに対してSSLを実行する正しい方法

信頼されていないデータセンターまたはデータセンター間でバックエンドと通信するHTTPリバースプロキシがある場合、ここで説明されているように、バックエンドでHTTPSを使用したいと思います。

リバースプロキシのセキュア構成

これらのSSL証明書はどのように設定されますか?バックエンドIPアドレスが変更されるたびに新しい証明書を購入してインストールすることはほとんどできません。一致しない共通名を単に無視するだけでは、安全性が低いようです。証明書を自動生成できる独自のCAをセットアップしますか?プロキシは何らかの証明書の修正を使用しますか?

これは通常どのように行われますか?私が使用できるソフトウェアを使用する準備はできていますか?

6
miracle2k

最初に、CNをFQDNに設定します(これは最初から設定する必要があります)。これにより、CNがどのIPアドレスにあるかは関係ありません。次に、必要に応じて内部証明書を使用することもできます。これは1つのオプションですが、これは非常にロックダウンしてセグメント化する必要があります。

通常、そのようなことに対して私が行うことは、私の処分に応じて、2つの解決策の1つです。
-バックエンドで内部署名証明書を使用し、リバースプロキシで、フロントエンドであるサーバーの正しい「ユニット」数で購入した1つの証明書を使用します。ここでのボーナスは、個別のキーがあるため、1つが危険にさらされても、全体が危険にさらされることはありません。また、有効期限をずらすこともできるため、有効期限に達した場合は、すべての証明書を更新する間、有効期限をグループから外す(アプリの稼働時間を維持する)ことができます。リバースプロキシの有効期限が最新であることを確認してください。
-外部CAを取得して証明書に署名し、リバースプロキシからバックエンドサーバーに証明書/キーをコピーします。ここでは複数の場所に1つのキーがあるため、キーが危険にさらされている場合は、全体が危険にさらされています。さらに、証明書の有効期限が切れると、どこでも同時に有効期限が切れますが、新しい証明書を取得するときには、どこでも更新する必要があります。これは必ずしも合法ではありませんが、VerSignは気にしませんでした。サーバーのユーザーに応じて異なるコスト(アクティブ/パッシブ、プライマリ/ DR、アクティブ/アクティブなど)もあるので、必ずCAと相談してください。

3
JZeolla