This is a translation of the original English documentation page. Help us make it better.

2 PostgreSQLの暗号化設定

概要

このセクションでは、CentOS8.2およびPostgreSQL13の暗号化設定例をいくつか示します。

Database hostフィールドの値がスラッシュで始まるか、空の場合、ZabbixフロントエンドとPostgreSQL間の接続を暗号化できません(GUIのパラメーターが無効になっています)

前提条件

公式リポジトリを使用してPostgreSQLデータベースをインストールします。

PostgreSQLは、すぐにTLS接続を受け入れるように構成されていません。postgresql.confを使用した証明書の準備およびph_hba.confを介したユーザーアクセス制御については、PostgreSQLのドキュメントの指示に従ってください。

デフォルトでは、PostgreSQLソケットはローカルホストにバインドされています。これは、ネットワークリモート接続が実際のネットワークインターフェイスでリッスンできるようにするためです。

すべてのモード のPostgreSQL設定は次のようになります。

/var/lib/pgsql/13/data/postgresql.conf:

 ...  ssl = on  ssl_ca_file = 'root.crt'  ssl_cert_file = 'server.crt'  ssl_key_file = 'server.key'  ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL'  ssl_prefer_server_ciphers = on  ssl_min_protocol_version = 'TLSv1.3'  ...

アクセス制御については/var/lib/pgsql/13/data/pg_hba.confを調整します。

 ...  ### require  hostssl all all 0.0.0.0/0 md5    ### verify CA  hostssl all all 0.0.0.0/0 md5 clientcert=verify-ca    ### verify full  hostssl all all 0.0.0.0/0 md5 clientcert=verify-full  ...

トランスポートのみの暗号化

フロントエンド

Zabbixフロントエンドとデータベース間の接続でトランスポートのみの暗号化を有効にするには:

  • データベースのTLS暗号化をチェックします
  • データベース証明書の確認はチェックしません

サーバー

サーバーとデータベース間の接続に対してトランスポートのみの暗号化を有効にするには/etc/zabbix/zabbix_server.confを設定します:

... DBHost=10.211.55.9 DBName=zabbix DBUser=zbx_srv DBPassword=<strong_password> DBTLSConnect=required ...

認証局検証による暗号化

フロントエンド

Zabbixフロントエンドとデータベース間の接続の認証局検証による暗号化を有効にするには:

  • データベースTLS暗号化データベース証明書の確認をチェック
  • データベースTLS CAファイルへのパスを指定

または、これは/etc/zabbix/web/zabbix.conf.php:で設定できます。

... $DB['ENCRYPTION'] = true; $DB['KEY_FILE'] = ''; $DB['CERT_FILE'] = ''; $DB['CA_FILE'] = '/etc/ssl/pgsql/root.crt'; $DB['VERIFY_HOST'] = false; $DB['CIPHER_LIST'] = ''; ...

サーバー

Zabbixサーバーとデータベース間の接続の証明書検証による暗号化を有効にするには、/etc/zabbix/zabbix_server.confを設定します。

... DBHost=10.211.55.9 DBName=zabbix DBUser=zbx_srv DBPassword=<strong_password> DBTLSConnect=verify_ca DBTLSCAFile=/etc/ssl/pgsql/root.crt ...

完全な検証を伴う暗号化

フロントエンド

Zabbixフロントエンドとデータベース間接続の証明書とデータベースホストID検証による暗号化を有効にするには:

  • データベースTLS暗号化データベース証明書の確認をチェック
  • データベースTLSキーファイルへのパスを指定
  • データベースTLSCAファイルへのパスを指定
  • データベースTLS証明書ファイルへのパスを指定
  • データベースホストの検証をチェック

または/etc/zabbix/web/zabbix.conf.phpで設定:

$DB['ENCRYPTION'] = true; $DB['KEY_FILE'] = ''; $DB['CERT_FILE'] = ''; $DB['CA_FILE'] = '/etc/ssl/pgsql/root.crt'; $DB['VERIFY_HOST'] = true; $DB['CIPHER_LIST'] = ''; ...

サーバー

Zabbixサーバーとデータベース間の接続の証明書とデータベースホストID検証による暗号化を有効にするには/etc/zabbix/zabbix_server.confを設定します。

... DBHost=10.211.55.9 DBName=zabbix DBUser=zbx_srv DBPassword=<strong_password> DBTLSConnect=verify_full DBTLSCAFile=/etc/ssl/pgsql/root.crt DBTLSCertFile=/etc/ssl/pgsql/client.crt DBTLSKeyFile=/etc/ssl/pgsql/client.key ...