Show Table of Contents
4.3. PostgreSQL データベースが SSL を使用するように設定する
デフォルトで、Satellite は最初に暗号化されていない通信によって PostgreSQL データベースに接続します。しかし、データベースの接続で SSL を使用するように設定することもできます。SSL 接続では Satellite とデータベース間の通信が暗号化されるので、広域ネットワークで管理データベースまたは外部データベースを使用している場合は有利になります。
Satellite Server と PosgreSQL データベースサーバー間の SSL 通信を有効にするには、以下の手順を実行します。
前提条件
Satellite Server と PosgreSQL データベースサーバー間の通信を有効にするには、以下が必要になります。これらのファイルを作成する方法については、使用する認証機関のドキュメントを参照してください。
- 認証機関により署名された Satellite Server 向けの証明書ファイル。以下の手順では、ファイル名のサンプルは
server.crtです。 - 証明書の署名に使用した秘密鍵。以下の手順ではサンプルファイル名は
server.keyです。 - 証明書が署名された認証機関の証明書。以下の手順では、サンプルファイル名は
root-ca.certです。
すべての Satellite サービスを停止してからデータベースで SSL を使用するように設定します。
[root@satellite ~]# spacewalk-service stop
手順4.1 データベースサーバーでの SSL 設定
rootでデータベースサーバーにログインします。- 署名済み証明書と秘密鍵をデータベースサーバーの所定の場所にコピーします。
[root@database~]# cp server.{key,crt} /var/opt/rh/rh-postgresql95/lib/pgsql/data/. [root@database~]# chown postgres:postgres /var/opt/rh/rh-postgresql95/lib/pgsql/data/server.{key,crt} [root@database~]# chmod 0400 /var/opt/rh/rh-postgresql95/lib/pgsql/data/server.key postgresql.confファイルを編集し、以下のオプションを追加します。ssl=on
pg_hba.confファイルを編集します。このファイルは、データベースへのアクセスを制限するパーミッションファイルです。以下のような行を見つけます。host mydb mydbuser 192.168.122.0/24 md5
この行には、データベース名、データベースユーザー、および接続を可能にする IP アドレスまたは範囲が含まれます。hostオプションをhostsslに変更します。hostssl mydb mydbuser 192.168.122.0/24 md5
この変更により、着信の通信プロトコルが SSL を使用するようになり、暗号化されていない PostgreSQL 接続が拒否されるようになります。rh-postgresql95-postgresqlサービスを再起動し、変更を有効にします。[root@database~]# service rh-postgresql95-postgresql restart
これでデータベースサーバーは、SSL を使用するクライアントからの接続のみを受け入れます。次の手順では、Satellite Server が SSL を使用してデータベースと通信するように設定します。
手順4.2 Satellite Server での SSL 設定
rootで Satellite Server にログインします。root-ca.cert証明書をコピーします。[root@satellite ~]# cp root-ca.cert /etc/rhn/postgresql-db-root-ca.cert
/etc/rhn/rhn.confファイルを編集して以下のオプションを追加します。db_ssl_enabled = 1
- 証明書を Satellite の Java web サーバーのキーストアに追加します。
[root@satellite ~]# openssl x509 -in /etc/rhn/postgresql-db-root-ca.cert -out server.der -outform der [root@satellite ~]# keytool -keystore /etc/rhn/javatruststore.jks -alias postgresql -import -file server.der [root@satellite ~]# rm server.der
重要
キーストアに変更を加えるには、/etc/rhn/javatruststore.jksでパスワードが必要です。必要な場合は、以下のコマンドを使用してこのパスワードを変更します。[root@satellite ~]# keytool -storepasswd -keystore /etc/rhn/javatruststore.jks
- 新たな証明書ファイルの SELinux コンテキストを復元します。
[root@satellite ~]# restorecon -R -F -v /etc/rhn/
- Satellite サービスを起動します。
[root@satellite ~]# spacewalk-service start
これで Satellite サーバーは SSL を使用してデータベースと通信するようになります。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.