Deciding on an SSL model

Deciding on an SSL model#

PEMエージェントは、 PEMアーキテクチャ で詳細に説明しているように、libpqを使用してPEMバックエンドデータベースに直接接続するPostgresクライアントです。

通信を安全に管理および暗号化するために、PEMはPostgresバックエンドのネイティブSSL/TLS機能を活用します。

このセキュリティモデルが機能するには、次のコンポーネントを構成する必要があります。

  • エージェント認証 すべてのPEMエージェントには、割り当てられたPostgresユーザーの名前と一致するクライアント証明書が必要です。

  • ルート信頼 バックエンドPostgresサーバーをルートCAファイルで構成して、受信エージェント証明書を検証する必要があります。

  • サーバー暗号化 バックエンドPostgresサーバーには、データストリームを暗号化し、IDを確立するために独自のSSL証明書とプライベートキーが必要です。

ニーズとポリシーに応じて、これらの証明書とキーを提供するために使用できるさまざまなモデルがあります。以下の情報は、インストールを開始する前にどのモデルに従うかを決定するのに役立ちます。

証明書管理モデル#

自動sslutils経由 または 手動外部CAを使用 の2つの方法でセキュリティ証明書を処理するようにPEMを構成できます。適切なパスの選択は、インフラストラクチャの複雑さとコンプライアンスのニーズによって異なります。

  • sslutilsで自動化 sslutils拡張機能を活用することにより、PEMは独自の認証局CAとして機能します。エージェントが登録すると、PEMは必要なクライアント証明書を自動的に生成します。

以下の用途に最適 速度と利便性が優先される標準の非HA展開。

欠点 厳密な外部CAポリシーを使用する組織の制御が低下します。

  • pgBouncer pgBouncerを使用する場合、プーリングには単一の共有ユーザーが必要であるため、sslutilsは一般的にお勧めできません。以下を参照してください。 .. ::
    • 外部CAマニュアル sslutilsに依存する代わりに、組織の承認されたCAによって署名された証明書を提供できます。独自の証明書を持ち込む場合、アーキテクチャには2つの選択があります。

  1. 共通エージェントユーザー共有証明書 すべてのエージェントは、単一のPostgresユーザーと同じクライアント証明書/キーペアを共有します。

長所 pgBouncerと唯一の互換性のある方法トランザクションはプールされる同じユーザーからである必要があるため。少数の証明書の管理がはるかに簡単になります。

短所 特定のエージェント接続を監査するのが困難です。証明書を失効すると、すべてのエージェントが切断されます。

  1. 一意のエージェントユーザー個人証明書 すべてのエージェントには、独自の一意の証明書と、対応する番号のPostgresユーザーたとえば、agent1、agent2などがあります。

長所 高い監査可能性。 1つの証明書を失効すると、1つのエージェントにのみ影響します。

短所 大量の証明書による多大な管理オーバーヘッド。