oracle weblogic serverにおける証明書のインストール方法、及び、ssl 設定
DESCRIPTION
第39回WebLogic Server勉強会@東京 Lightning Talksセッション 「Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定」 伊藤忠テクノソリューションズ株式会社 橋本 和俊TRANSCRIPT
Copyright (c)2013 ITOCHU Techno-Solutions Corporation Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定
橋本 和俊
2013/8/21
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
はじめに
• 発表する内容は個人の見解であり、所属する組織の公式な見解ではありません。
• 資料に関しては以下の環境において作成しております。SSLの設定方法に関してはOracle WebLogic Server
8.1辺りからほぼ同一の方法で行えます。
– Windows 7
– Oracle WebLogic Server 12.1.1
– Oracle HotSpot JDK 1.6.0.29
– OpenSSL 1.0.1e 11 Feb 2013
1
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Agenda
• SSL設定を始める前に
• Oracle WebLogic ServerのSSL設定方法
• SSLを使用した運用
• 参考資料
2
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
SSL設定を始める前に
• Oracle WebLogic ServerにおいてSSLを使用するためには以下が必要です。
– 証明書データベース(keystore)
– CSR/サーバ証明書
– CA証明書(中間CA証明書を含む)
• Oracle WebLogic Serverはデモ証明書を含んでおりますが、開発環境のみの使用となっております。
“デモ用のデジタル証明書、秘密鍵、および信頼性のあるCA証明書は、開発環境でのみ使用してください。”
http://docs.oracle.com/cd/E28613_01/web.1211/b65913/iden
tity_trust.htm#SECMG366
3
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
SSL設定を始める前に
• 手順は以下の形で進みます。
1. 証明書DB(keystore)/キーペア(秘密鍵・共通鍵)作成
2. 証明書発行リクエスト(CSR)作成
3. CSR を CA に発行依頼し、サーバ証明書を入手
(※ここは外部で行う可能性があります。)
5. CA証明書をインストール
6. 中間CA証明書をインストール(※必要があれば)
7. サーバ証明書をインストール
8. Oracle WebLogic ServerのSSL機能設定
4
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• 証明書DB(keystore)/キーペア(秘密鍵・共通鍵)作成
– ドメイン内にkeystore(証明書データベース)を作成します。
5
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• 証明書DB(keystore)/キーペア(秘密鍵・共通鍵)作成
– 各項目の説明
6
オプション/設定値例 説明
-genkeypair 証明書データベース、及び、キーペアを作成するコマンドです。以前のバージョンでは-
genkeyでした。-genkeyでも作成可能です。
-alias test キーペア、及び、証明書の名称を指定します。”別名”と表記されます。基本的に外部に
は出ない文字列のために被らない文字列ならば問題ございません。
-keyalg RSA 鍵作成のアルゴリズムです。基本的にRSAで設定してください。
-keysize 2048 鍵長を2048bitに設定しております。CAによっては1024bitは許容されておりません。
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• 証明書DB(keystore)/キーペア(秘密鍵・共通鍵)作成
– 各項目の説明
7
オプション/設定値例 説明
-keypass keypass 証明書データベースにおいて該当の証明書の秘密鍵等を使用するために必要なパスワードです。
-keystore test.jks 証明書データベースのファイル名です。 相対パス、または、絶対パスで記述します。
-storepass
storepass 証明書データベースにアクセスするためのパスワードです。
-storetype JKS キーストアのタイプを指定します。JKSやPKCS12などが用意されておりますが、通常はJKSです。
-validity 365 証明書の有効期限の指定です。デフォルトは90日となります。
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• 証明書DB(keystore)/キーペア(秘密鍵・共通鍵)作成
– サブジェクト(cn)はクライアントのブラウザのリクエストURLのホスト名と同一になるように設定してください。
– SSLの接続にブラウザにてホスト名のチェックにて失敗すると下記のようにエラーが出力されます。
8
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• 証明書発行リクエスト(CSR)作成
– 先ほど作ったキーペアに対するCSRを発行します。
9
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• 証明書発行リクエスト(CSR)作成
– 作成したPEM形式のCSRの最初と最後は
-----BEGIN NEW CERTIFICATE REQUEST-----
-----END NEW CERTIFICATE REQUEST-----
という形で表示されます。
10
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• CSR を CA に発行依頼し、サーバ証明書を入手
– ここは外部のCA(認証局)で行うこととなります。試しにOpenSSLでCAを作成します。
11
storeパスワード入力
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• CSR を CA に発行依頼し、サーバ証明書を入手
– CA作成中
12
keyパスワード入力
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• CSR を CA に発行依頼し、サーバ証明書を入手
– CA作成中
13
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• CSR を CA に発行依頼し、サーバ証明書を入手
– サーバ証明書発行中
14
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• CSR を CA に発行依頼し、サーバ証明書を入手
– サーバ証明書発行中
15
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• CA証明書をインストール
– VeriSign 社等のCA証明書が事前に組み込まれている認証局を利用している場合はこの処理は必要はありません。OpenSSLを使用した自作のCAの場合はCA証明書を組み込む必要があります。
– OpenSSLでCAを作成した場合はデフォルトでは”[OpenSSL_ROOT]¥bin¥demoCA¥cacert.pemがCA証明書となります。
– cacert.pemでは最初にCA証明書のサブジェクト等の情報が入っています。ファイルの中身が
-----BEGIN NEW CERTIFICATE REQUEST-----
~~~~~
-----END NEW CERTIFICATE REQUEST-----
のみになるように加工しましょう。
16
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• CA証明書をインストール
17
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• CA証明書をインストール
18
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• CA証明書をインストール
– 各項目の説明
19
オプション/設定値例 説明
-importcert 証明書データベースに証明書を入れるコマンドです。以前のバージョンでは-importでした。-importでも作成可能です。
-file cacert.pem インポートする証明書ファイルを記述します。相対パス、または、絶対パスで記述します。
-trustcacerts この証明書は信頼できる証明書と認識します。ルートCA証明書としてインポートする場合に使用します。
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• サーバ証明書をインストール
– OpenSSLで署名したサーバ証明書には最初にサーバ証明書のサブジェクト等の情報が入っています。ファイルの中身が
-----BEGIN NEW CERTIFICATE REQUEST-----
~~~~~
-----END NEW CERTIFICATE REQUEST-----
のみとなるように加工しましょう。
20
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• サーバ証明書をインストール
21
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• サーバ証明書をインストール
– 念のためにインストールした証明書一覧を確認しましょう。
22
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• Oracle WebLogic ServerのSSL機能設定
– 構成->キーストアにてデフォルトのキーストアから作成したキーストアを確認するように設定を変更します。
23
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• Oracle WebLogic ServerのSSL機能設定
– デフォルトのキーストアから作成したキーストアを確認するように設定を変更します。
24
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• Oracle WebLogic ServerのSSL機能設定
– キーストアはjksファイル、タイプはJKS、パスフレーズはkeytoolの-storepassの設定をどちらも設定します。
25
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• Oracle WebLogic ServerのSSL機能設定
– 構成->SSLで秘密鍵の別名はkeytoolの-alias、パスフレーズはkeytoolの-keypassを設定します。
26
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• Oracle WebLogic ServerのSSL機能設定
– 構成->全般でSSLリスニングポートを有効にし、ポート番号を設定します。
27
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• Oracle WebLogic ServerのSSL機能設定
– サーバログかコンソールログにてBEA-090171やBEA-
090169でサーバ証明書とCA証明書が読み込まれていることを確認し、SSLがリスンされていることを確認してください。
28
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• Oracle WebLogic ServerのSSL機能設定
– ブラウザでアクセス時にCA証明書が登録されていない場合(OpenSSLで自作したCAの場合)は下記のエラーとなります。
29
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• Oracle WebLogic ServerのSSL機能設定
– IEでCA証明書を登録する場合はコントロールパネル->インターネットオプションからコンテンツ->証明書にて”信頼されたルート証明機関”にCA証明書(cacert.pem)を登録します。
30
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• Oracle WebLogic ServerのSSL機能設定
– “インポートする証明書ファイル”では全てのファイル(*.*)を選択し、OpenSSLで作成したCA証明書(cacert.pem)をインポートします。
31
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• Oracle WebLogic ServerのSSL機能設定
– 自作のCAのCA証明書をインストールする際には下記のセキュリティ警告が出ます。
– “はい”を押下し、CA証明書が登録されればサーバ証明書が有効であると判断し、ブラウザのエラーはなくなります。
32
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
Oracle WebLogic ServerのSSL設定方法
• Oracle WebLogic ServerのSSL機能設定
– ブラウザにて証明書を確認すると下記のように証明書が問題なく信頼できていることが分かります。
33
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
SSLを使用した運用
• 前段のWebServerとの間の通信をSSL化させる場合はプロキシプラグイン側でOracleウォレットという証明書データベースが別途必要です。
• Oracle WebLogic Serverは以下のオプションで、SSL
のデバッグを有効にすることが可能です。
– -Djavax.net.debug=all -Dssl.debug=true
-Dweblogic.StdoutDebugEnabled=true
• SSLにおけるホスト名検証を無効にする場合は下記のオプションをご利用ください。
– -Dweblogic.security.SSL.ignoreHostnameVerification=
false
34
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
SSLを使用した運用
• 12.1.1からJSSE実装に変わりました。10.3.3からはCerticom非推奨となります。
• Oracle WebLogic ServerにおいてCypher listを変更する場合はWLSTを使用します。詳細は下記をご確認ください。
– http://docs.oracle.com/cd/E28389_01/web.1111/b61617/ss
l.htm#CHDIJBGI
• 変更すると以下の形でconfig.xmlに追加されます。
<ssl>
<enabled>true</enabled>
<ciphersuite>SSL_RSA_WITH_RC4_128_MD5</ciphersuite>
~~~~
35
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
SSLを使用した運用
• 今回はkeytoolで説明しましたが、Oracle WebLogic
Serverにデフォルトで用意されている豊富なJavaユーティリティを使用しても証明書関連の処理が可能です。例えば…
– utils.CertGen
– utils.ImportPrivateKey
– utils.der2pem
– utils.pem2der
36
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
最後に
ご視聴、ありがとうございました。
VeriSign、VeriSignロゴ、および、その他名称、 サービスマーク、およびロゴは、
米国VeriSign,Inc. または、関連会社の米国、またはその他の国における登録商標、または、商標であり、
米国Symantec Corporationは、それらの使用を一定期間許諾されています。
その他記載されている会社名、製品名は、各社の登録商標、または、商標です。
37
Copyright (c)2013 ITOCHU Techno-Solutions Corporation
参考資料
• keytool
– http://docs.oracle.com/javase/jp/6/technotes/tools/solaris/k
eytool.html
• Oracle® Fusion Middleware Securing Oracle
WebLogic Server 12c Release 1 (12.1.1)
– http://docs.oracle.com/cd/E24329_01/web.1211/e24422/ss
l.htm
• 2 Using the Oracle WebLogic Server Java Utilities
– http://docs.oracle.com/cd/E24329_01/web.1211/e24487/ut
ils.htm
38