PostgresqlのサポートSSL証明書は、どこで通常の状況下では、サーバとクライアントの間でPostgreSQLのデータ伝送はクリアテキストで送信され、これは、特定のセキュリティリスクを持っていること。
暗号化はサービス終了OpenSSLがインストールされた後、あなたはopensslのコマンドを使用することができるためには、データの暗号化と復号化用の秘密鍵と証明書のペアを生成する必要がある場合は、設定ファイルには、マイナーな変更することができます。
1.利用OpenSSLが秘密鍵と証明書を生成するには、達成するためのシェルスクリプトを書くことができます。
OpenSSLのREQ -nodes -new -text -subj "/ C = CH / ST =上海/ L =済南/ O = HighGo / CN = tbing"アウトserver.req OpenSSLのRSA -in privkey.pemアウト./server。キー opensslのREQ -x509 -in server.req -text -key ./server.key -out ./server.crt CPサーバー。* $ PGDATA /../ data5433 / chmodの600 $ PGDATA /../ data5433 /サーバー。キー$ PGDATA /../ data5433 /をserver.crt
スクリプトファイルを実行する前に、環境変数の良いデータディレクトリを定義するノート。server.keyの秘密鍵と証明書をserver.crt:スクリプトを実行した後は、データディレクトリ内の2つのファイルを検索します。これらの2つのキーがそれ以外の場合は、データベースが起動しません、シェルスクリプトのパーミッションを変更する必要があります。
2. [変更postgresql.conf設定ファイル、オープンSSL接続。
SSL =上 のssl_ciphers = 'HIGH:MEDIUM:+ 3DES:!aNULL' ssl_prefer_server_ciphers =上 ssl_ecdh_curve = 'prime256v1' たssl_cert_file = 'をserver.crt' ssl_key_fileの= 'server.keyの'
hostssl 3.修正pg_hba.confのプロファイルが接続されています。
hostsslすべてすべて0.0.0.0/0 md5の
4有効な構成
pg_load_confを選択します();
5データベース、暗号化されたディスプレイに接続
[postgresの@ kbj-DB-1〜] $ psqlの-p5433 -hlocalhost -Upostgreadm -dpdb ユーザーktccadmin用パスワード: psqlの(11.4) SSL接続(プロトコル:TLSv1.2、暗号:ECDHE-RSA-AES256-GCM-SHA384、ビット:256、圧縮:オフ) の助けを入力し、「ヘルプ」。
6 Etherealの表示
暗号化前:
tcpdumpの-t -s 0 -c 20 のIP ホスト172.17.16.12 と172.17.16.9、ポート5433 -w ./potgresql-ssl_4.cap
暗号化: