レック・テクノロジー・コンサルティング株式会社TECH BLOG

OEMコンソールの暗号化

初めまして、Re:QのY.Yと申します。

Oracle Enterprise Manager(以下OEM) 13cの通信暗号化に置いて、サードパーティ証明書を利用する方法について紹介したいと思います。
OEMの通信暗号化には、いくつか種類があるのですがOEMコンソールの暗号化について限定して記載します。

※上記の「サードパーティ証明書」は、一般の証明書利用者が認証局に依頼せずに、
 自身の公開鍵を自身の秘密鍵で署名して作成した証明書を示します。つまり自己署名証明書です。
 証明書の作成方法は割愛します。

暗号化の大まかな流れは

1. 証明書をOEMサーバ上に配置する。
2. サーバ証明書と秘密鍵をpkcs12形式で保存する。
3. walletを作成する。
4. walletに証明書を登録する。
5. walletを指定してOEMコンソールを暗号化する。
6. OMSを再起動する。
7. WebブラウザにルートCA証明書を登録する。

となります。



1. 証明書をOEMサーバ上に配置する。

まず、作業で使用する証明書をOEMのサーバに配置します。
必要な証明書は以下の3~4種類です。

■使用する証明書
 ・ルートCA証明書
 ・中間証明書(存在する場合)
 ・サーバ証明書
 ・秘密鍵(サーバ証明書を発行する時に使用した物)


2. 証明書と秘密鍵をpkcs12形式で保存する。

OEMコンソールの暗号化は配置した各証明書をwalletに登録して行います。
ルートCA証明書や中間証明書は証明書だけの登録で問題ありませんが、
サーバ証明書は、秘密鍵も一緒に登録する必要があります。
しかし、後述の「orapki」コマンドでは秘密鍵だけを登録するコマンドが見当たらないため
以下のコマンドを実行し、pkcs12形式のファイルとしてサーバ証明書と秘密鍵をマージします。

コマンド:
openssl pkcs12 -export -in {サーバ証明書のパス} -inkey {秘密鍵のパス} -out {pkcs12形式のファイルの出力先}

例:
$ openssl pkcs12 -export -in /tmp/server_cert.pem -inkey /tmp/server_certkey.pem -out /tmp/pkcs12.out
>パスワード入力を求められるので任意のパスワード(ここではexportpass)を入力します。


3. walletを作成する。

orapkiコマンドで証明書を格納するwalletを作成します。
oracle製品にはmkstoreコマンドを使用するoracle wallet(データベース接続時のユーザやパス
ワードを格納)も存在しますが、それとは別物ですので注意してください。

コマンド:
orapki wallet create -wallet {walletのパス} -auto_login -pwd {walletのパスワード}

例:
$ orapki wallet create -wallet /u01/app/oracle/wallets -auto_login -pwd password


4. walletに証明書を登録する。

作成したwalletに証明書を登録していきます。
ルートCA証明書、中間証明書(存在する場合)、サーバ証明書の順で登録します

・ルートCA証明書の登録

コマンド:
orapki wallet add -wallet {walletのパス} -trusted_cert -cert {ルートCA証明書のパス} -pwd {walletのパスワード}

例:
$ orapki wallet add -wallet /u01/app/oracle/wallets -trusted_cert -cert /tmp/rootca_cert.pem -pwd password

・中間証明書の登録

コマンド:
orapki wallet add -wallet {walletのパス} -trusted_cert -cert {中間証明書のパス} -pwd {walletのパスワード}

例:
$ orapki wallet add -wallet /u01/app/oracle/wallets -trusted_cert -cert /tmp/inter_cert.pem -pwd password

・サーバ証明書と秘密鍵の登録

コマンド:
orapki wallet import_pkcs12 -wallet {walletのパス} -pkcs12file {pkcs12形式のファイルのパス} -pwd {walletのパスワード}

例:
$ orapki wallet import_pkcs12 -wallet /u01/app/oracle/wallets -pkcs12file /tmp/pkcs12.out -pwd password
>pkcs12形式ファイルのパスワード入力を求められるのでexportpassと入力します。

5. walletを指定してOEMコンソールを暗号化する。

以下のコマンドが実行されれば暗号化は成功です。

コマンド:
emctl secure console -wallet /u01/app/oracle/wallets


6. OMSを再起動する。

暗号化の設定を反映させるためにOMSを再起動します。

コマンド:
emctl stop oms -all force
emctl start oms


7. WebブラウザにルートCA証明書を登録する。

仕上げにOEMコンソールにアクセスするWebブラウザ上にルートCA証明書を登録します。
これでOEMコンソールとWebブラウザ間で安全な通信を確立できます。


以上、OEMコンソールの暗号化方法でした。
デフォルトでは、暗号化されていないので検討してみてはいかがでしょうか。

この記事をシェアする

  • Facebook
  • X
  • Pocket
  • Line
  • Hatena
  • Linkedin

資料請求・お問い合わせはこちら

ページトップへ戻る