SSL接続


https://docs.oracle.com/cd/E57425_01/121/DBSEG/asossl.htm#GUID-6AD89576-526F-4D6B-A539-ADF4B840819F
https://docs.oracle.com/cd/E57425_01/121/DBIMI/walet.htm#GUID-7BEA833A-AB6B-4F9B-A3B2-7727BA6608FB__CIHDHIDC
https://qiita.com/takech9203/items/5206f8e2572e95209bbc

 

--1.サーバーでのウォレット作成

cd $ORACLE_HOME/bin
LANG=C owm

新しいウォレットを作成
ウォレットでCSRを生成し、server.reqとしてエクスポート

--秘密鍵の生成
openssl genrsa -out server.key 1024

--署名
openssl req -x509 -in server.req -text -key server.key -out server.crt

server.crtをウォレットへインポート

Walletメニューからに自動ログイン機能を設定

 

--2.サーバーでのデータベース・ウォレット・ロケーションの指定


cd $ORACLE_HOME/bin
LANG=C netmgr


/u01/app/oracle/product/12.1.0/dbhome_1/owm/wallets/oracle

 

--3.SSL付きTCP/IPを使用するリスニング・エンドポイントのサーバーでの作成

listener.oraファイルでリスナーを構成します。
一般的なOracle Netクライアントには、ポート番号2484を使用することをお薦めします

vim listener.ora

SID_LIST_LISTENER_SSL =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = PROD1.example.com)
(SID_NAME = PROD1)
(ORACLE_HOME = /u01/app/oracle/product/12.1.0/dbhome_1)
)
)

LISTENER_SSL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = mmm124)(PORT = 2484))
)

lsnrctl start LISTENER_SSL

--4.データベース・インスタンスへのログイン

sqlplus test/test@mmm124:2484/PROD1.example.com

 

https://qiita.com/toshiro3/items/b7f6842efe9fd97f8c56


(5.7)
show variables like '%ssl%';

デフォルトで証明書等も存在する

vim /etc/my.cnf
[mysqld]
ssl-ca = /var/lib/mysql/ca.pem
ssl-cert = /var/lib/mysql/server-cert.pem
ssl-key = /var/lib/mysql/server-key.pem


mysql -u root -p --ssl-ca=/var/lib/mysql/ca.pem

\s

 

--自己署名証明書の作成
cd $PGDATA


--1.証明書署名要求(CSR)の作成
openssl req -new -text -out server.req

"Common Name"には確実にローカルホスト名を入力してください。
チャレンジパスワードは空白でも構いません。
Enter PEM pass phrase:と表示されたら適当なパスフレーズを入力する

→実行結果
-rw-r--r-- 1 root root 3443 5月 6 11:47 server.req CSR
-rw-r--r-- 1 root root 1834 5月 6 11:47 privkey.pem 秘密鍵(パスフレーズあり)

--2.秘密鍵パスフレーズの削除
openssl rsa -in privkey.pem -out server.key
rm privkey.pem

→実行結果
-rw-r--r-- 1 root root 1675 5月 6 11:48 server.key 秘密鍵(パスフレーズなし)
-rw-r--r-- 1 root root 3443 5月 6 11:47 server.req CSR


--3.署名
openssl req -x509 -in server.req -text -key server.key -out server.crt
chmod og-rwx server.key

→実行結果
-rw-r--r-- 1 root root 4319 5月 6 12:02 server.crt サーバ証明書
-rw------- 1 root root 1679 5月 6 12:02 server.key 秘密鍵(パスフレーズなし)
-rw-r--r-- 1 root root 3443 5月 6 12:02 server.req CSR

 

vim postgresql.conf

ssl = on
ssl_cert_file = 'server.crt'
ssl_key_file = 'server.key'

sudo systemctl restart postgresql-9.6


psql -h 192.168.137.51 -U postgres test

--(9.6)
select * from pg_stat_ssl;

 

 


https://note.miyabis.jp/2018/12/sqlserver-%E3%82%92%E8%87%AA%E5%B7%B1%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%81%A7-ssl-%E6%8E%A5%E7%B6%9A%E3%81%AB%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F.html
https://docs.microsoft.com/ja-jp/sql/database-engine/configure-windows/enable-encrypted-connections-to-the-database-engine?view=sql-server-2017



証明書の Subject プロパティで、共通名 (CN) が
サーバー コンピューターのホスト名または完全修飾ドメイン名 (FQDN) と同一であると示されていること。