Posts filed under ‘SJS Web Server 7’

旧 Sun 製品の入手先について

旧 Sun のソフトウェア製品の入手についてですが、一部サイトにてリンク切れ等が発生しており、製品を入手できない、もしくはダウンロードサイトまでたどり着けないという方がいらっしゃいます。
例えば、Oracle iPlanet Web Server を入手したい場合、別の製品のダウンロードページへ誘導され入手できないといった事例が発生しています。iPlanet Web Server 等を入手したい方は直接下記のサイトへアクセスして入手してください。下記 URL には旧 Sun 製品への入手先が記載されております。

http://www.oracle.com/technetwork/indexes/downloads/sun-az-index-095901.html

※ 上記 URL もいつ変更されるか分かりませんので、現時点 (2010年10月) でのご対応とご理解ください。

また、このサイトを確認し1点気付いたのですが、旧 Sun のアプリケーションサーバ製品の名前が全て、GlassFish Server に変わっており、バージョン番号の大小と、製品の新しさの目安に不整合が発生しておりました。

具体的には、バージョン番号だけを取り出すと、2.1, 3, 6.5, 7, 8.2, 9.1 と記載されてますが、これらのバージョン番号の大小と、製品の新しさは一致しないのでご注意ください。各製品に対して古いものから順に並び替えすと下記のようになります。

バージョン番号 旧製品名
6.5 (旧 NetScape Application Server [iPlanet] )
7.0 (旧 iPlanet Application Server [Sun One] Java EE 1.3 対応)
8.2 (旧 Sun One Application Server [Sun Java] Java EE 1.4 対応)
9.1 (旧 Sun Java System Application Server: Java EE 5 対応)
2.1 (旧 Sun GlassFish Enterprise Server Java EE 5 対応)
3.0 (旧 Sun GlassFish Enterprise Server Java EE6 対応)

2010年10月5日 at 6:03 午後

SHA-2 対応の iPlanet Web/Proxy Server

たまに、ご質問が来るのでメモがてら HowTo を書いておきます。

iPlanet Web Server 7.0/Proxy Server 4.0.x は下記の暗号化アルゴリズムに対応しています。

– RSA 2048bit
– 3 key triple DES
– AES
– SHA-2

詳細を申し上げると、Web Server/Proxy Server は証明書管理に NSS ライブラリを内部的に使用していますが、NSS 3.11 バージョンで上記の暗号化アルゴリズムに対応しています。

http://www.mozilla.org/projects/security/pki/nss/nss-3.11/nss-3.11-algorithms.html

例えば、Web Server 7.0 は NSS 3.12.5(以上)を使用しており、上記 URL 中に含まれる暗号化アルゴリズム全てサポートしております。これらのアルゴリズムに対応した証明書を作成するためには下記のようにインストールディレクトリ配下に存在する certutil コマンドを使用して証明書を作成し対応する事ができます。
下記の例では、SHA-256/RSA 2048 に対応した証明書を作成しています。

1.CSR の作成例:

# cd /sun/webserver7/https-sw-103/config/
# ../../bin/certutil -R -s "CN=sw-103-3.japan.sun.com,OU=
Software Practice,O=Sun Microsystems,L=Setagaya,ST=
Tokyo,C=JP" -p "03-5717-5000" -a -o /tmp/SHA256.csr
-k rsa -g 2048 -v 12 -d /sun/webserver7/https-sw-103/config
-Z SHA256
A random seed must be generated that will be used in the
creation of your key.  One of the easiest ways to create a
random seed is to use the timing of keystrokes on a keyboard.


To begin, type keys on the keyboard until this progress meter
is full.  DO NOT USE THE AUTOREPEAT FUNCTION ON YOUR KEYBOARD!

Continue typing until the progress meter is full:

|************************************************************|

Finished.  Press enter to continue:
Generating key.  This may take a few moments...

ここで下記のようなPEM形式のファイルが作成されます。

# vi /tmp/SHA256.pem
—–BEGIN NEW CERTIFICATE REQUEST—–
MIICzjCCAbYCAQAwgYgxCzAJBgNVBAYTAkpQMQ4wDAYDVQQIEwVUb2t5bzERMA8G^M
A1UEBxMIU2V0YWdheWExGTAXBgNVBAoTEFN1biBNaWNyb3N5c3RlbXMxGjAYBgNV^M
BAsTEVNvZnR3YXJlIFByYWN0aWNlMR8wHQYDVQQDExZzdy0xMDMtMy5qYXBhbi5z^M
dW4uY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA9ej3zBS1dPHf^M
/N4qB9DE+2m0vZ8QInClzhkknChIO5kYuobLtg9mu1CAAZGcQ0QXj7/W/QGSpR6/^M
OMSHMV8o3hAVsxcg4mdXAPGfs4M36gMgkPwhSMDOzG6HGnZPRTRxrWf0Bpoo6SQY^M
1a+jar5N5CTk1NAfeAfWRKdPVjlbl88bMgQTUsODy7WluuNAMiXABX4nGNYd43c5^M
pwxyoFq8jx73u1TErTnZw477lHh28FnRy1+AxnZzQQzqZuQ13hBi3V8+OLNd7jcz^M
+CMgT0TxDjbQLIHHGAeIWIC7bBCx2Ifr7vyCZvb9zueJtyeyww6sOF3lXPEvkIBV^M
qpgVvlE2BwIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAE23QsCAFPF8j1BC4KKY^M
pqgchXFB+I/Hs9v/CpdFmkKEPcgMdPwJiXkxC0Y8j2HYbmZfqlGzunGyayxEwuGR^M
ImL+kMDriiZQervFumt82e8o5msIB05+PHLFXwpQZ6nlLKeliQIhP3owuA/3Y+TZ^M
1HICMRVLncS9f9y8+Xt7US1k24+GhhiGZrXx0KyXbDLa41YqQdRBNNSHN8LTHXsW^M
9l/oH/LbJUTeGaSy6x1AKzDY5MrKF7P4cV8I/D5GXIUwt2st/JWCF0rOkDmPdw0W^M
2JNgH2uxne/madJ3YRuzN3pTF1Yljk/FHgoN9KeSElUOXYkDssvj8AGf9wVE0cGW^M
BOo=
—–END NEW CERTIFICATE REQUEST—–
# openssl asn1parse -inform PEM -i -in /tmp/SHA256.pem
0:d=0 hl=4 l= 718 cons: SEQUENCE
4:d=1 hl=4 l= 438 cons: SEQUENCE
8:d=2 hl=2 l= 1 prim: INTEGER :00
11:d=2 hl=3 l= 136 cons: SEQUENCE
14:d=3 hl=2 l= 11 cons: SET
16:d=4 hl=2 l= 9 cons: SEQUENCE
18:d=5 hl=2 l= 3 prim: OBJECT :countryName
23:d=5 hl=2 l= 2 prim: PRINTABLESTRING :JP
27:d=3 hl=2 l= 14 cons: SET
29:d=4 hl=2 l= 12 cons: SEQUENCE
31:d=5 hl=2 l= 3 prim: OBJECT :stateOrProvinceName
36:d=5 hl=2 l= 5 prim: PRINTABLESTRING :Tokyo
43:d=3 hl=2 l= 17 cons: SET
45:d=4 hl=2 l= 15 cons: SEQUENCE
47:d=5 hl=2 l= 3 prim: OBJECT :localityName
52:d=5 hl=2 l= 8 prim: PRINTABLESTRING :Setagaya
62:d=3 hl=2 l= 25 cons: SET
64:d=4 hl=2 l= 23 cons: SEQUENCE
66:d=5 hl=2 l= 3 prim: OBJECT :organizationName
71:d=5 hl=2 l= 16 prim: PRINTABLESTRING :Sun Microsystems
89:d=3 hl=2 l= 26 cons: SET
91:d=4 hl=2 l= 24 cons: SEQUENCE
93:d=5 hl=2 l= 3 prim: OBJECT :organizationalUnitName
98:d=5 hl=2 l= 17 prim: PRINTABLESTRING :Software Practice
117:d=3 hl=2 l= 31 cons: SET
119:d=4 hl=2 l= 29 cons: SEQUENCE
121:d=5 hl=2 l= 3 prim: OBJECT :commonName
126:d=5 hl=2 l= 22 prim: PRINTABLESTRING :sw-103-6.japan.sun.com
150:d=2 hl=4 l= 290 cons: SEQUENCE
154:d=3 hl=2 l= 13 cons: SEQUENCE
156:d=4 hl=2 l= 9 prim: OBJECT :rsaEncryption
167:d=4 hl=2 l= 0 prim: NULL
169:d=3 hl=4 l= 271 prim: BIT STRING
444:d=2 hl=2 l= 0 cons: cont [ 0 ]
446:d=1 hl=2 l= 13 cons: SEQUENCE
448:d=2 hl=2 l= 9 prim: OBJECT :sha256WithRSAEncryption
459:d=2 hl=2 l= 0 prim: NULL
461:d=1 hl=4 l= 257 prim: BIT STRING

2.CA (認証局)で証明書を署名(下記では OpenSSL で実施)

# cd /usr/local/ssl/
# ./bin/openssl ca -config openssl.cnf -md sha256 -in /tmp/SHA256.pem -keyfile ./demoCA/private/cakey.pem -cert ./demoCA/cacert.pem -out /tmp/server-cert.pem

Using configuration from openssl.cnf
Enter pass phrase for ./demoCA/private/cakey.pem:
Check that the request matches the signature
Signature ok
Certificate Details:
       Serial Number:
           ca:e6:f8:42:ea:f0:0f:03
       Validity
           Not Before: Nov  4 13:55:36 2009 GMT
           Not After : Nov  4 13:55:36 2010 GMT
       Subject:
           countryName               = JP
           stateOrProvinceName       = Tokyo
           organizationName          = Sun Microsystems
           organizationalUnitName    = Software Practice
           commonName                = sw-103-3.japan.sun.com
       X509v3 extensions:
           X509v3 Basic Constraints:
               CA:FALSE
           Netscape Cert Type:
               SSL Server
           Netscape Comment:
               OpenSSL Generated Certificate
           X509v3 Subject Key Identifier:
               22:44:52:54:19:7C:BD:F2:E1:2D:C7:6F:A7:67:D3:9D:78:89:67:F0
           X509v3 Authority Key Identifier:
               keyid:CA:75:35:41:9F:75:59:7D:7B:30:B0:60:4E:CA:A2:EF:BC:25:5D:BA

Certificate is to be certified until Nov  4 13:55:36 2010 GMT (365 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

3.署名済みのサーバ証明書の内容確認

# more /tmp/server-cert.pem Certificate:
   Data:
       Version: 3 (0x2)
       Serial Number:
           ca:e6:f8:42:ea:f0:0f:03
       Signature Algorithm: sha256WithRSAEncryption
               (署名アルゴリズム)
       Issuer: C=JP, ST=Tokyo, O=Sun Microsystems, OU=Software Practice, CN=Foo Bar/emailAddress=foo@Sun.COM
       Validity
           Not Before: Nov  4 13:55:36 2009 GMT
           Not After : Nov  4 13:55:36 2010 GMT
       Subject: C=JP, ST=Tokyo, O=Sun Microsystems, OU=Software Practice, CN=sw-103-3.japan.sun.com
       Subject Public Key Info:
           Public Key Algorithm: rsaEncryption
           RSA Public Key: (2048 bit)
               Modulus (2048 bit):
                   00:f5:e8:f7:cc:14:b5:74:f1:df:fc:de:2a:07:d0:
                   c4:fb:69:b4:bd:9f:10:22:70:a5:ce:19:24:9c:28:
                   48:3b:99:18:ba:86:cb:b6:0f:66:bb:50:80:01:91:
                   9c:43:44:17:8f:bf:d6:fd:01:92:a5:1e:bf:38:c4:
                   87:31:5f:28:de:10:15:b3:17:20:e2:67:57:00:f1:
                   9f:b3:83:37:ea:03:20:90:fc:21:48:c0:ce:cc:6e:
                   87:1a:76:4f:45:34:71:ad:67:f4:06:9a:28:e9:24:
                   18:d5:af:a3:6a:be:4d:e4:24:e4:d4:d0:1f:78:07:
                   d6:44:a7:4f:56:39:5b:97:cf:1b:32:04:13:52:c3:
                   83:cb:b5:a5:ba:e3:40:32:25:c0:05:7e:27:18:d6:
                   1d:e3:77:39:a7:0c:72:a0:5a:bc:8f:1e:f7:bb:54:
                   c4:ad:39:d9:c3:8e:fb:94:78:76:f0:59:d1:cb:5f:
                   80:c6:76:73:41:0c:ea:66:e4:35:de:10:62:dd:5f:
                   3e:38:b3:5d:ee:37:33:f8:23:20:4f:44:f1:0e:36:
                   d0:2c:81:c7:18:07:88:58:80:bb:6c:10:b1:d8:87:
                   eb:ee:fc:82:66:f6:fd:ce:e7:89:b7:27:b2:c3:0e:
                   ac:38:5d:e5:5c:f1:2f:90:80:55:aa:98:15:be:51:
                   36:07
               Exponent: 65537 (0x10001)
       X509v3 extensions:
           X509v3 Basic Constraints:
               CA:FALSE
           Netscape Cert Type:
               SSL Server
           Netscape Comment:
               OpenSSL Generated Certificate
           X509v3 Subject Key Identifier:
               22:44:52:54:19:7C:BD:F2:E1:2D:C7:6F:A7:67:D3:9D:78:89:67:F0
           X509v3 Authority Key Identifier:
               keyid:CA:75:35:41:9F:75:59:7D:7B:30:B0:60:4E:CA:A2:EF:BC:25:5D:BA

   Signature Algorithm: sha256WithRSAEncryption
     (拇印アルゴリズム)
       58:82:fd:e4:90:d6:44:dc:e9:77:77:fb:f0:72:f1:cf:92:2d:
       58:27:a9:38:c9:cd:b7:6c:8a:f9:32:ae:d1:f3:da:04:80:ee:
       a0:6f:24:bd:6b:e5:6a:56:29:0c:dc:bf:4d:08:14:75:5a:e4:
       31:a3:72:bd:d4:f6:08:ad:0f:5f:27:fa:76:26:0f:7b:34:8c:
       58:8d:ab:a4:f7:2c:5e:93:73:93:39:20:f1:49:6f:2a:3c:74:
       11:b8:b7:96:70:65:9a:2d:03:27:61:bb:80:97:49:ef:08:85:
       99:b3:ed:43:bc:11:0e:09:8c:ac:35:c5:96:3f:ff:04:2d:23:
       e9:48
-----BEGIN CERTIFICATE-----
MIIDmjCCAwOgAwIBAgIJAMrm+ELq8A8DMA0GCSqGSIb3DQEBCwUAMIGSMQswCQYD
VQQGEwJKUDEOMAwGA1UECBMFVG9reW8xGTAXBgNVBAoTEFN1biBNaWNyb3N5c3Rl
bXMxGjAYBgNVBAsTEVNvZnR3YXJlIFByYWN0aWNlMRYwFAYDVQQDEw1Zb3NoaW8g
VGVyYWRhMSQwIgYJKoZIhvcNAQkBFhVZb3NoaW8uVGVyYWRhQFN1bi5DT00wHhcN
MDkxMTA0MTM1NTM2WhcNMTAxMTA0MTM1NTM2WjB1MQswCQYDVQQGEwJKUDEOMAwG
A1UECBMFVG9reW8xGTAXBgNVBAoTEFN1biBNaWNyb3N5c3RlbXMxGjAYBgNVBAsT
EVNvZnR3YXJlIFByYWN0aWNlMR8wHQYDVQQDExZzdy0xMDMtMy5qYXBhbi5zdW4u
Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA9ej3zBS1dPHf/N4q
B9DE+2m0vZ8QInClzhkknChIO5kYuobLtg9mu1CAAZGcQ0QXj7/W/QGSpR6/OMSH
MV8o3hAVsxcg4mdXAPGfs4M36gMgkPwhSMDOzG6HGnZPRTRxrWf0Bpoo6SQY1a+j
ar5N5CTk1NAfeAfWRKdPVjlbl88bMgQTUsODy7WluuNAMiXABX4nGNYd43c5pwxy
oFq8jx73u1TErTnZw477lHh28FnRy1+AxnZzQQzqZuQ13hBi3V8+OLNd7jcz+CMg
T0TxDjbQLIHHGAeIWIC7bBCx2Ifr7vyCZvb9zueJtyeyww6sOF3lXPEvkIBVqpgV
vlE2BwIDAQABo4GPMIGMMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgZAMCwG
CWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNV
HQ4EFgQUIkRSVBl8vfLhLcdvp2fTnXiJZ/AwHwYDVR0jBBgwFoAUynU1QZ91WX17
MLBgTsqi77wlXbowDQYJKoZIhvcNAQELBQADgYEAWIL95JDWRNzpd3f78HLxz5It
WCepOMnNt2yK+TKu0fPaBIDuoG8kvWvlalYpDNy/TQgUdVrkMaNyvdT2CK0PXyf6
diYPezSMWI2rpPcsXpNzkzkg8UlvKjx0Ebi3lnBlmi0DJ2G7gJdJ7wiFmbPtQ7wR
DgmMrDXFlj//BC0j6Ug=
-----END CERTIFICATE-----

4.署名済みサーバ証明書のインポート
最後に署名された証明書を Web Server のキーストアにインポートします。次に、Web Server の HTTP リスナーの設定時に指定したニックネーム(Server-Cert)を指定すれば設定が完了です。

# certutil -A -n Server-Cert -t “u,u,u” -i /tmp/server-cert.pem -d /sun/webserver7/https-sw-103/config

Proxy Server もほぼ同様の方法で対応が可能です。

2010年8月30日 at 6:39 午後

Sun Web Server Book



本日、Amazon より Sun Web Server の本が届きました。








内容をさらっと見た感じでは、さすが Web Server の実際の

開発者達が書いた本だけあって、かなり詳しく書かれています。

位置づけとしては機能紹介が中心に記載されておりますので

Step by Step の設定手順等を期待されていた管理者には裏切る

内容かもしれません。

(インストールや各種設定の紹介はあります。)



内部的な動作等や各種機能について詳細に記載されていますので、

Sun の Web Server で何ができるのか?またどのような処理が

行われているのか理解したい方にはお薦めです。



例えば、アクセプタースレッドや、ワーカスレッドの説明など、

Web Server のチューニングを行うためには必要な概念も

図入りで紹介されてます。

また、その他、設定ファイルの内容や、Web Server がどのように

クライアントからの要求に対して処理を行っていくかの処理フロー

等も記載されています。

この処理フローを理解する事で、アクセスコントロール、 URL Rewrite 、

コンテンツリダイレクト等がどのようなタイミングで行われるか

どのようにして設定を行うか等が理解できるようになるかと思います。



Sun の Web Server を今まであつかった事のある方から、はじめての方まで

是非一度ご覧頂ければと思います。



余談:

マルチリンガル版の説明の所では、私がブログに貼って

いた下記の日本語の管理画面等も使われてました。

(聞いてなかった。(^_^;))






2009年9月6日 at 8:06 午後

SunのWebサーバ(Open Web Server)もオープンソース化されました



昨年、7月SunのWebサーバもオープンソース化するとアナウンスを致しましたが、

ついに正式にBSDライセンスでオープンソース化されました。


Open Web Server

OpenSolaris Project: Web Stack



上記の資料によると、Sun Java System Web Server 7.0の全てのコードを

公開したわけではないと記載されております。



具体的には下記の機能が含まれないようです。

詳細は
Open Web ServerとSun Java System Web Server 7.0
をご確認ください。



● 管理画面

● 管理コマンド

● インストーラ

● SNMP対応

● Java関連 (JSP, Servlet, JSF, JSTL, JNDI, JDBC, JWSDP)

● 軽量セッションリプリケーション

● WebDAV

● 検索エンジン

● NetBeansのサポート



Open Web Server関連ドキュメント

チェックアウトとビルド方法



Apacheの2倍早い速いと言われるSunのWeb Serverのコアを除いて覘いてみたいという方は

是非チェックアウトしてみてください。(私もまだしてませんが。。(^_^;))



追記:

あっ、忘れてましたチェックアウトしていないのでなんとも言えませんが、

SunのWeb Serverは管理画面以外の部分は殆どC,C++等で記載

されていましたので、おそらくOpen Web ServerもC,C++が殆どだと

思います、これらの言語に精通している方におすすめです。


2009年1月14日 at 5:39 午前 2件のコメント

Sunのブログサイトについてのホワイトペーパ



Sunのブログサイトには約6000名のブロガーが登録されて、

1日平均、世界中から約400万〜600万のリクエストを

処理しています。



以前にもブログで書いたと思いますが、このサイト実は

たった2台のT2000で処理しています。(バックエンドDB(MySQL)の台数は除く)



そして、このサイトを構築する際のノウハウや実際の設定方法、

また昨年9月までの統計情報等がまとめられたホワイトペーパが

下記にリリースされています。

SunのWebサーバに興味のある方は是非1度ご覧ください。




Sun Blogs: A Sun Java System Web Server 7.0 Reference Deployment



2009年1月12日 at 5:53 午後

Sun Java System Web Server 7.0 Update 3 リリース



Sun Java System Web Server 7.0 Update 3がリリースされました。



このバージョンは基本的にはアップデートリリースですが、

新たに、AIXのプラットフォームも提供されるようになりました。

また、弊社のT2チップ(Niagara 2)のシステム上での動作に対して

最適化されています。



そこで、またWeb サーバのベンチマークである、SpecWEB 2005

で好成績を残すことが期待されます。



 #その他の変更点としては、GlassFish等には既に機能としてありますが、

 #Webアプリケーション(.war)ファイルを特定のディレクトリに

 #コピーするだけで配備ができるオートデプロイ機能にも対応しました。



弊社のWeb サーバはApacheのhttpdの2倍速いという結果も

報告されています。既存のWebサーバを高速化したいという方は

是非、下記よりダウンロードしてSunのWebサーバを使ってみてください。

もちろん、弊社からの技術サポートが必要ない御客様は無料でお試しいただけます。

弊社からの技術サポートが必要な御客様は、最寄りの販売代理店まで御問い合せください。



Sun Java System Web Server 7.0 Update 3ダウンロード


2008年6月27日 at 2:05 午前

3. OpenSSLでクライアント認証「クライアント認証環境構築編」

Translate to English / Google/Yahoo

今日は、OpenSSLを使用してディレクトリサーバとブラウザにクライアント証明書をインストールして、Web サーバとブラウザ間でクライアント認証を行う方法について紹介します。

設定手順は下記の通りです。

設定手順

手順1:Web サーバとディレクトリサーバの連携設定
手順2:Web サーバのHTTPリスナーの編集
手順3:Web サーバのアクセスコントロールの設定
手順4:Web サーバのcertmap.confの編集
手順5:ディレクトリサーバの拡張設定
手順6:新規ユーザの作成
手順7:クライアント証明書の作成
手順8:ブラウザへクライアント証明書のインストール
手順9:ディレクトリサーバへクライアント証明書のインストール

前提:

ブラウザから送信されたクライアント証明書をWebサーバ側で比較するわけですが、比較対照のクライアント証明書はディレクトリサーバ側で保持します。そこで、Webサーバとディレクトリサーバの連携を行う必要があります。

※ Webサーバ上の静的ファイル中に証明書を保持する事もできますが、セキュアな環境を構築したい場合、外部のディレクトリサーバに証明書データを保持しておいた方が安全です。

※ ディレクトリサーバは既に別途インストールされている事を前提として記述します。

手順1:Web サーバとディレクトリサーバの連携設定

Web サーバの管理画面より、「構成」→「対象の構成(sw-120)」→「アクセス制御」
→「認証データベース」を選択してください。
ここでは、デフォルトで「keyfile」と呼ばれる認証データベースが存在しますが、
ディレクトリサーバと連携する為に、「新規」ボタンを押下してください。

「新規」ボタンを押下すると下記の画面が表示されます。
ここでディレクトリサーバに接続する為に必要な情報を入力し、「了解」ボタンを押下してください。

「了解」ボタンを押下すると下記の画面が表示されます。
「配備保留中」リンクをクリックしてください。

「配備保留中」リンクをクリックすると下記のウィンドウが表示されます。「配備…」
ボタンを押下してください。

「配備…」ボタンを押下すると下記の画面が表示されます。
「閉じる」ボタンを押下してください。

「閉じる」ボタンを押下すると「認証データベース」一覧中に
「LDAP-SERVER」のエントリが追加されている事を確認できます。

次に、ディレクトリサーバと正常に接続ができているか確認する為に、下記の図のように
「アクセス制御」の「ユーザ」タブを選択してください。
「ユーザ」タブを選択すると、下記の画面が表示されます。
この画面ではユーザの参照、追加、削除等の操作ができます。
それでは、実際に「ユーザの検索」を行ってみましょう。
「認証データベースの選択:」で「LDAP-SERVER(ldap)」を選択し、
検索ボタンを押下しましょう。
既存のユーザが存在している場合、検索結果に一覧が表示されます。仮に既存ユーザが
存在しない場合、「新規」ボタンを押下するとディレクトリサーバに新規ユーザを
追加する事もできます。

以上で、Web サーバからディレクトリサーバに対して接続ができる事が確認できました。

手順2:Web サーバのHTTPリスナーの編集

次に、Web サーバの対象のインスタンスにおいて、クライアント認証を受け付ける事が
できるようにHTTPリスナーの設定を変更します。
既にWebサーバでSSLの設定がされている必要があります。
WebサーバのSSLの設定はWebサーバのサーバ証明書設定を参照してください。

「構成」→「対象の構成(sw-120)」→「HTTPリスナー」タブを選択し、
現在有効になっているHTTPリスナー(http-listener-1)のリンクを押下してください。

リンクを押下すると下記の画面が表示されます
「クライアント認証:」の「必要なディスク容量」を選択し
「適用」ボタンを押下してください。

※「必要なディスク容量」と表示されている日本語メッセージは
日本語翻訳のバグです!!
英語版では「Required」と表示されているので「必須」と訳されるべきです。
「適用」ボタンを押下した後、「閉じる」ボタンを押下してください。

「閉じる」ボタンを押下すると下記の画面が表示されます。
「配備保留中」リンクを押下してください。

「配備保留中」のリンクを押下すると、下記のウィンドウが表示されます
「配備…」ボタンを押下し配備して下さい。

配備が正常に完了すると下記の画面が表示されます。
「閉じる」ボタンを押下し配備を終了して下さい。

これで、HTTP リスナーの設定が完了しました。
以上の設定でクライアントのWeb ブラウザが443番ポートに
HTTPSで接続した際に、必ずクライアント証明書を要求するようになります。

手順3:Web サーバのアクセスコントロールの設定

HTTPリスナーの設定が完了した後、アクセスコントロール(ACL)の設定を行いましょう。
「構成」→「対象の構成(sw-120)」→「アクセス制御」→「アクセス制御リスト(ACL)」を
選択してください。「アクセス制御リスト(ACL)」を選択すると下記の画面が表示されます。
ここで、アクセス制御リスト中の「リソース欄」に「default」と記載された項目が
表示されますので、このリンクを押下します。

「default」のリソースを選択すると下記の画面が表示されます。
ここで、「認証方法:」をSSLに変更して下さい。
その後で、「アクセス制御エントリ(ACE)」中の「ACE動作」の
「編集」を行います。
「編集」のリンクを押下して下さい。

※ 「default」は全てのアクセスに対する設定になります。特定のURLに対して
だけアクセス制限をかけたい場合は、「新規」ボタンを押下して別途作成
してください。

「編集」のリンクを押下すると下記の画面が表示されます。
ここで、「ユーザとグループ」の設定を「認証データベース中
のすべて」に変更して、最後に「了解」ボタンを押下してください。

「了解」ボタンを押下すると下記の画面が表示されます。
再度、「認証方法:」が「SSL」になっている事を確認した後、
「了解」ボタンを押下します。

「了解」ボタンを押下すると下記の画面が表示されます。
「配備保留中」のリンクを押下してください。

「配備保留中」のリンクを押下すると下記の画面が表示されます。
「配備…」ボタンを押下してください。

配備が正常に終了すると下記の画面が表示されます。
「閉じる」ボタンを押下して終了してください。

以上で、アクセスコントロールの設定が完了しました。
上記までの設定を行う事により、Web サーバは接続する全てのクライアントである
Webブラウザに対して、クライアント証明書を要求し、クライアント認証が完了しない
リクエストは全て拒否するようになります。

手順4:Web サーバのcertmap.confの編集

次に、Web サーバのcertmap.confと呼ばれるファイルを編集します。
この設定ファイルはWeb ブラウザから送信されるクライアントの証明書と、
ディレクトリサーバ上に存在するクライアントの証明書を比較する為に必要な
マッピング等の設定を行います。
下記のように設定を変更して下さい。

修正前:

>
vi /sun/webserver7/https-sw-120/config/certmap.conf
…..(前略)
certmap
default default
#default:DNComps
#default:FilterComps e, uid
#default:verifycert on
#default:CmapLdapAttr certSubjectDN
#default:library <path_to_shared_lib_or_dll>
#default:InitFn <Init function’s name>

修正後:

>
vi /sun/webserver7/https-sw-120/config/certmap.conf
…..(前略)
certmap default default        //コメントアウト
default:DNComps          //コメントアウト
default:FilterComps e, cn //コメントアウト
default:verifycert on        //コメントアウト
default:CmapLdapAttr certSubjectDN //コメントアウト

certmap.confの詳細は下記URLを参照してください。

http://docs.sun.com/app/docs/doc/819-2630/6n4thbjc4?l=Ja&a=view#abumq

certmap.conf設定ファイルを手動で変更後、管理画面に戻って「仮想サーバ」タブ、
もしくは他のタブを押下して下さい。
すると下記のように画面右上部に「インスタンス設定が変更されています」というリンクが
表示されます。このリンクを押下して下さい。

※ ここで表示されるリンクは設定ファイルが手動で変更された後に管理画面の操作
を行った場合に表示されるようになります。(手動設定変更の自動検知)

リンクを押下すると下記の画面が表示されます。
ここで、「構成を取得し配備します」を選択し、「了解」ボタンを押下してください。

「了解」ボタンを押下する前に、「詳細を表示」ボタンを押下すると、
手動で変更されたファイル名を確認する事もできます。
実際に「了解」ボタンを押下すると今回手動で設定変更を行ったのは、
「config/certmap.conf」ファイルであることを確認できます。

「了解」ボタンを押下すると下記の画面が表示されます。
「閉じる」ボタンを押下し、配備を終了してください。

以上でWebサーバ側のクライアント認証を行うための全ての設定は完了です。

手順5:ディレクトリサーバの拡張設定

Webサーバの設定が完了しましたので、次にディレクトリサーバの設定を行いましょう。
今回ディレクトリサーバとして、Sun Java System Directory Server 5.2 Update 6を
使用しています。同様の設定は最新の、Sun Java System Directory Server Enterprise
Editionでも可能ですので、新しいバージョンを使用されている場合も、同様の設定を行ってください。
まず、ディレクトリサーバの管理コンソールにログインしてください。

次に、ディレクトリサーバのインスタンスを選択して「開く」ボタンを押下します。

「開く」ボタンを押下すると下記の画面が表示されます。
「設定」タブを押下し左のメニュー画面より「スキーマ」を選択してください。

「スキーマ」を選択すると下記の画面が表示されます。

右画面より「属性」を選択し「作成」ボタンを押下してください。
すると下記の画面が表示されます。
ここで、「属性名:」に「certSubjectDN」を入力し、「構文:」に「DN」を選択し、「複数値」のチェックを外して「了解(O)」ボタンを押下してください。

※ ここで追加するLDAPの属性は、Web サーバの「certmap.conf」ファイル中に記載した

下記の内容に一致します。
仮に「certmap.conf」の「CmapLdapAttr」で名前を変更している場合、
同一の名前の属性を作成してください。

certmap.conf

default:CmapLdapAttr certSubjectDN

「了解(O)」ボタンを押下すると下記の画面が表示されます。

次に、「オブジェクトクラス」タブを選択し、新規クラスを作成します。
「オブジェクトクラス」タブを押下し、「作成…」ボタンを押下してください。

「作成…」ボタンを押下すると下記の画面が表示されます。
オブジェクトクラスの「名前」に任意の名前(例:client-cert-person)を
入力し、「必須属性:」に「certsubjectdn」、「許可された属性」に
「usercertificate」を追加し、「了解」ボタンを押下してください。

※ usercertificateを必須属性にしない理由は後ほど説明します。

「了解」ボタンを押下すると下記の画面が表示されます。
作成したオブジェクトクラスが存在しているか確認してください。

以上でディレクトリサーバ上の設定は全て完了です。

手順6:新規ユーザの作成

それでは新規ユーザを登録しましょう。
Web サーバの管理画面より、「構成」→「対象の構成(sw-120)」→
「アクセス制御」→「ユーザ」より「新規…」ボタンを押下して下さい。

「新規」ボタンを押下すると下記の画面が表示されます。
ここで必要事項に入力して「了解」ボタンを押下してください。

ユーザが正常に追加されると下記の画面が表示されます。

また、ディレクトリサーバのコンソールから確認しても
ユーザが追加されている事を確認できます。

手順7:クライアント証明書の作成

新規ユーザを作成したので、このユーザに対する新規クライアント証明書を作成しましょう。
OpenSSLでクライアント証明書の秘密鍵を作成するには下記のコマンドを実行します。

下記では、トリプルDESを使い1024bitの秘密鍵(client-private-key)を生成しています。

>
openssl genrsa -des3 -out client-private-key 1024
Generating
RSA private key, 1024 bit long modulus
………..++++++
……………………….++++++
e
is 65537 (0x10001)
Enter
pass phrase for client-private-key:[******]
Verifying
– Enter pass phrase for client-private-key:[******]
>
ls
client-private-key

クライアントの秘密鍵を生成しましたので、次に署名要求(CSR)を作成します。
下記のコマンドを実行してください。
するとclientcsr.pemと呼ばれる署名要求(CSR)が生成されます。

>
openssl req -new -days 365 -key client-private-key -out
clientcsr.pem

Enter pass phrase for client-private-key: [******]
You are about to be asked to enter information that will be
incorporated into your certificate request.
What you are about to enter is what is called a Distinguished Name or a
DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,

If you enter ‘.’, the field will be left blank.
—–
Country
Name (2 letter code) [US]:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) []:Setagaya
Organization Name (eg, company) [Unconfigured OpenSSL Installation]:Sun
Microsystems K.K.

Organizational Unit Name (eg, section) []:Software Practice
Common Name (eg, YOUR name) []:Foo Bar
Email Address []:Foo.Bar@foo.bar.com
Please enter the following ‘extra’ attributes
to be sent with your certificate request

A challenge password []:
An optional company name []:
> ls
client-private-key
clientcsr.pem

次に、認証局(CA)で署名を行いますが、その前に
認証局(CA)の設定を一部変更してください。

>
cp /etc/sfw/openssl/openssl.cnf
/etc/sfw/openssl/openssl-client.cnf

>
vi /etc/sfw/openssl/openssl-client.cnf
basicConstraints=CA:FALSE
<—FALSE
より変更
# For normal client use this is typical
nsCertType = client, email <—- コメントアウト

それでは実際に、認証局(CA)でクライアント証明書の署名を行います。

>openssl ca -config /etc/sfw/openssl/openssl-client.cnf -in
./clientcsr.pem -out clientcert.pem
Using configuration from /etc/sfw/openssl/openssl-client.cnf
Enter pass phrase for /etc/sfw/openssl/private/cakey.pem:
[******]
DEBUG[load_index]: unique_subject = "yes"
Check that the request matches the signature
Signature ok
Certificate Details:
Serial Number: 10 (0xa)
Validity
Not Before: Mar 18 07:10:14 2008 GMT
Not After : Mar 18 07:10:14 2009 GMT
Subject:
countryName               = JP
stateOrProvinceName       = Tokyo
organizationName          = Sun Microsystems K.K.
organizationalUnitName    = Software Practice
commonName                = Foo Bar
emailAddress              = Foo.Bar@foo.bar.com
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Cert Type:
SSL Client, S/MIME
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
56:64:98:F2:33:16:62:82:2B:50:91:36:29:87:48:46:74:26:00:44
X509v3 Authority Key Identifier:
keyid:06:C7:E8:90:D1:04:7C:36:16:FE:AA:D2:B2:B6:EC:C4:13:84
:36:A1
DirName:/C=JP/ST=Tokyo/L=Setagaya/O=Sun Microsystems K.K./OU=
Software Practice/CN=Hanako Yamada/emailAddress=Hanako.Yamada@foo.bar.jp
serial:00
Certificate is to be certified until Mar 18 07:10:14 2009 GMT (365 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

上記で署名済みのクライアント証明書(clientcert.pem)が生成されました。

手順8:ブラウザへクライアント証明書のインストール

Web ブラウザへ証明書をインストールする為には、秘密鍵と
クライアント証明書をまとめた、PKCS#12形式のファイルを作成し、
PKCS#12形式のファイルをブラウザへインストールします。
下記のようにクライアント証明書とクライアントの秘密鍵、
認証局の証明書を使用してPKCS#12形式のファイルを作成しましょう。
下記のコマンドを実行するとclientcert.p12と呼ばれる
PKCS#12形式のファイルが生成されます。

>
ls
client-private-key
clientcert.pem clientcsr.pem
sw-120-web
> openssl pkcs12 -export -in clientcert.pem -inkey
client-private-key -certfile /etc/sfw/openssl/cacert.pem -out
clientcert.p12

Enter pass phrase for client-private-key: [******]
Enter Export Password:[******]
Verifying – Enter Export Password:[******]
> ls
client-private-key
clientcert.p12 clientcert.pem clientcsr.pem
>

上記で、PKCS#12形式の「clientcert.p12」ファイルを
生成しましたので、Webブラウザにインストールしましょう。
下記図のようにWebブラウザのメニューより「環境設定」→
「詳細」→「暗号化」タブを選択し、「証明書を表示」ボタンを
押下してください。(ブラウザがFirefoxの場合)

「証明書を表示」ボタンを押下すると下記の画面が表示されます。
ここで「インポート」ボタンを押下してください。

「インポート」ボタンを押下すると下記のファイルダイアログ画面が表示されます。
ここで、事前に作成した、PKCS#12形式のファイル(clientcert.p12)を選択し、
「開く」ボタンを押下します。

「開く」ボタンを押下すると下記の画面が表示されます。
ここで「パスワード」欄にPKCS#12を生成する際に入力した
Exportのパスワードを入力し「OK」ボタンを押下します。

「OK」ボタンを押下すると下記の警告画面が表示されます。
「OK」ボタンを押下し終了してください。

「OK」ボタンを押下しすると「証明書マネージャ」に
インストールされたクライアント証明書が表示されます。

念のためクライアント証明書の内容を確認してみましょう。
インストールしたクライアント証明書を選択し「表示」ボタンを押下してください。
ボタンを押下すると下記の画面が表示されます。
内容を確認すると、「この証明書は以下の用途に使用する証明書であると検証されました」
というメッセージが表示され、一覧の中に「SSLクライアント証明書」が含まれている事を
確認できます。

以上で、クライアントのWeb ブラウザ側の設定は完了です。

手順9:ディレクトリサーバへクライアント証明書のインストール

クライアント証明書より証明書のSubjectのDNを入手
クライアントの証明書の中に含まれるSubjectのDNをディレクトリサーバに格納します。
そしてアクセスして来たクライアントが提示したクライアント証明書よりSubjectのDNを抽出し、
ディレクトリサーバ上のSubjectのDNとクライアント証明書のSubjectのDNを比較します。
内容が異なる場合、アクセスを拒否します。

>openssl x509 -in clientcert.pem -text 
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 10 (0xa)
Signature Algorithm: md5WithRSAEncryption
Issuer: C=JP, ST=Tokyo, L=Setagaya, O=Sun Microsystems K.K., OU=Softwa
re Practice, CN=Hanako Yamada/emailAddress=Hanako.Yamada@foo.bar.jp
Validity
Not Before: Mar 18 07:10:14 2008 GMT
Not After : Mar 18 07:10:14 2009 GMT
        Subject: C=JP, ST=Tokyo, O=Sun Microsystems K.K., OU=Software Practi
ce, CN=Foo Bar/emailAddress=Foo.Bar@foo.bar.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:f6:4c:58:aa:bb:2b:80:71:fb:8f:21:f9:9d:03:
07:9e:91:58:b4:3a:6a:a6:fa:74:18:89:e1:99:a9:
45:79:70:ae:46:bd:91:22:62:9f:e0:d7:fd:d7:03:
c3:9e:10:36:f2:ef:37:52:cc:92:86:fa:c1:a7:3c:
08:af:4e:43:55:94:87:a1:22:ad:26:b3:f6:1b:65:
19:fe:81:50:92:84:a0:34:7a:b4:c7:2c:3e:45:b3:
7e:76:a7:44:87:e3:4b:75:9a:64:ea:81:c9:fa:94:
43:ad:b3:7a:75:92:87:89:fe:a5:8e:c6:5b:bb:59:
8d:50:e7:8b:75:9c:3a:47:6f
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Cert Type:
SSL Client, S/MIME
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
56:64:98:F2:33:16:62:82:2B:50:91:36:29:87:48:46:74:26:00:44
X509v3 Authority Key Identifier:
keyid:06:C7:E8:90:D1:04:7C:36:16:FE:AA:D2:B2:B6:EC:C4:13:84:36:A1
DirName:/C=JP/ST=Tokyo/L=Setagaya/O=Sun Microsystems K.K./OU=So
ftware Practice/CN=Hanako Yamada/emailAddress=Hanako.Yamada@foo.bar.jp
serial:00
Signature Algorithm: md5WithRSAEncryption
4b:ec:fe:fb:c2:33:50:7c:86:bb:0d:ba:a7:c6:94:49:38:bf:
49:92:4f:c3:40:71:d7:8c:15:b0:8e:19:38:ba:87:a6:04:6d:
07:c8:fa:82:1f:11:ae:e4:2b:d8:aa:be:cf:29:e8:bf:ac:e7:
2d:42:5b:9b:2e:ff:f4:b5:d9:00:e0:4c:92:57:44:93:f5:c6:
dc:c1:7a:45:f6:20:14:9b:cd:09:e2:5f:e7:31:d7:74:d0:4c:
22:37:bd:e3:e3:39:b5:be:0e:6a:97:4f:08:8c:89:46:f8:60:
0a:f2:48:73:b3:36:8a:8d:84:bd:64:0f:d0:6d:91:2d:1b:35:
08:e5
-----BEGIN CERTIFICATE-----
MIIEAjCCA2ugAwIBAgIBCjANBgkqhkiG9w0BAQQFADCBrTELMAkGA1UEBhMCSlAx
DjAMBgNVBAgTBVRva3lvMREwDwYDVQQHEwhTZXRhZ2F5YTEeMBwGA1UEChMVU3Vu
IE1pY3Jvc3lzdGVtcyBLLksuMRowGAYDVQQLExFTb2Z0d2FyZSBQcmFjdGljZTEW
MBQGA1UEAxMNSGFuYWtvIFlhbWFkYTEnMCUGCSqGSIb3DQEJARYYSGFuYWtvLllh
bWFkYUBmb28uYmFyLmpwMB4XDTA4MDMxODA3MTAxNFoXDTA5MDMxODA3MTAxNFow
gY8xCzAJBgNVBAYTAkpQMQ4wDAYDVQQIEwVUb2t5bzEeMBwGA1UEChMVU3VuIE1p
Y3Jvc3lzdGVtcyBLLksuMRowGAYDVQQLExFTb2Z0d2FyZSBQcmFjdGljZTEQMA4G
A1UEAxMHRm9vIEJhcjEiMCAGCSqGSIb3DQEJARYTRm9vLkJhckBmb28uYmFyLmNv
bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA9kxYqrsrgHH7jyH5nQMHnpFY
tDpqpvp0GInhmalFeXCuRr2RImKf4Nf91wPDnhA28u83UsyShvrBpzwIr05DVZSH
oSKtJrP2G2UZ/oFQkoSgNHq0xyw+RbN+dqdEh+NLdZpk6oHJ+pRDrbN6dZKHif6l
jsZbu1mNUOeLdZw6R28CAwEAAaOCAUwwggFIMAkGA1UdEwQCMAAwEQYJYIZIAYb4
QgEBBAQDAgWgMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0
aWZpY2F0ZTAdBgNVHQ4EFgQUVmSY8jMWYoIrUJE2KYdIRnQmAEQwgdoGA1UdIwSB
0jCBz4AUBsfokNEEfDYW/qrSsrbsxBOENqGhgbOkgbAwga0xCzAJBgNVBAYTAkpQ
MQ4wDAYDVQQIEwVUb2t5bzERMA8GA1UEBxMIU2V0YWdheWExHjAcBgNVBAoTFVN1
biBNaWNyb3N5c3RlbXMgSy5LLjEaMBgGA1UECxMRU29mdHdhcmUgUHJhY3RpY2Ux
FjAUBgNVBAMTDUhhbmFrbyBZYW1hZGExJzAlBgkqhkiG9w0BCQEWGEhhbmFrby5Z
YW1hZGFAZm9vLmJhci5qcIIBADANBgkqhkiG9w0BAQQFAAOBgQBL7P77wjNQfIa7
DbqnxpRJOL9Jkk/DQHHXjBWwjhk4uoemBG0HyPqCHxGu5CvYqr7PKei/rOctQlub
Lv/0tdkA4EySV0ST9cbcwXpF9iAUm80J4l/nMdd00EwiN73j4zm1vg5ql08IjIlG
+GAK8khzszaKjYS9ZA/QbZEtGzUI5Q==
-----END CERTIFICATE-----

実際に、ディレクトリサーバに格納するSubjectのDNは上記のSubjectのDNと逆の
下記の文字列を生成します。
上記の強調(ボールド)文字を下記のように変換してください。

E=Foo.Bar@foo.bar.com,
CN=Foo Bar, OU=Software Practice, O=Sun Microsystems K.K.,
ST=Tokyo,C=JP

次に、ディレクトリサーバに保存するクライアント証明書のバイナリを作成します。
下記のコマンドを実行してクライアント証明書のバイナリデータ(DER形式)を作成してください。

>
ls
client-private-key
clientcert.p12 clientcert.pem clientcsr.pem
> openssl x509 -in clientcert.pem -outform DER -out
clientcert.der

> ls
client-private-key
clientcert.der clientcert.p12 clientcert.pem
clientcsr.pem

ディレクトリサーバの該当のユーザにクライアント証明書と証明書のSubject DNを設定します。
ディレクトリサーバの該当のユーザを選択し、右マウスクリックで「汎用エディタで編集」を
選択してください。

汎用エディタで開くと下記の画面が表示されます。ここで、「オブジェクトクラス」に
マウスカーソルをあてて「値を追加」ボタンを押下して下さい。

「値を追加」ボタンを押下すると下記のウィンドウが表示されます。ここで、先ほど、
ディレクトリサーバに新しく追加したオブジェクトクラス「client-cert-person」を選択し、
「了解」ボタンを押下します。

上記の新規オブジェクトクラスを追加すると、下記の属性が現れます。

ここには、下記のクライアント証明書のSubject DNを入力してください。

E=Foo.Bar@foo.bar.com,
CN=Foo Bar, OU=Software Practice, O=Sun Microsystems K.K.,
ST=Tokyo,C=JP

次にクライアント証明書のバイナリファイルをディレクトリサーバに保存します。
証明書のバイナリファイルを追加するために、「属性の追加」ボタンを押下してください。

「属性の追加」ボタンを押下すると下記の画面が表示されます。ここで、「usercertificate」を
選択して、「サブタイプ」の「バイナリ」を選択して「了解」ボタンを押下してください。

※ 「usercertificate」の属性を「必須属性」ではなく、
「許可された属性」にしたのは理由があります。
Web サーバがクライアント証明書のSubjectDNで
パターンマッチを行った後、取得する属性は、
「usercertificate」ではなく「usercertificate;binary」です。
そこで、「許可された属性」で属性を追加する際に
「サブタイプ」で「バイナリ」を選択しなければ
なりません。「バイナリ」を選択することで
「usercertificate;binary」という属性が作成されます。
仮に必須属性にした場合デフォルトで、「usercetificate」
になりますので、この属性にクライアント証明書の
バイナリデータを入力しても「usercertificate;binary」
の属性は空ですので、証明書比較に失敗し、
全てのアクセスは拒否されてしまいます。
属性は、「usercertificate」ではなく
「usercertificate;binary」になっている事を
確認して下さい。

ディレクトリサーバのアクセスログより、実行された検索フィルタの確認

[18/Mar/2008:18:46:17 +0900] conn=252 op=1 msgId=2 – SRCH base=”dc=japan,
dc=sun,dc=com” scope=2 filter=”(certSubjectDN=E=Foo.Bar@foo.bar.com,CN=Foo
Bar,OU=Software Practice,O=Sun Microsystems K.K.,ST=Tokyo,C=JP)”
attrs=”uid userCertificate;binary”

「了解」ボタンを押下すると、下記の属性が追加されます。

上記は、ラジオボタンの「属性の名前を表示」を選択すると表示されます。

次に「値の設定」のボタンを押下してください。ボタンを押下すると下記の画面が表示されます。
ここで、事前に入手したクライアント証明書のバイナリ(DER)を指定して「了解」ボタンを押下します。

> ls
client-private-key
clientcert.der clientcert.p12 clientcert.pem
clientcsr.pem

「了解」ボタンを押下すると下記の画面に戻りますので、「了解」ボタンを押下して終了してください。

以上で、クライアント認証に必要な全てのデータの登録は完了です。
実際にユーザの情報が正常に登録されているかldapsearchコマンドを使用し確認してみましょう。

>ldapsearch -h localhost -p 389 -b “dc=japan,dc=sun,dc=com”
-D “cn=Directory Manager” -w adminadmin “(uid=foobar)”

version: 1
dn: uid=foobar,ou=People,dc=japan,dc=sun,dc=com
telephoneNumber: +81-3-1234-5678
sn: Bar
title: Solution Architect
givenName: Foo
uid: foobar
mail: Foo.Bar@foo.bar.com
cn: Foo Bar
userPassword: {SSHA}wWRFRscPqeZgMiKlih1VcRem5G1dQFBxqWLRfw==
objectClass: top
objectClass: person
objectClass: organizationalperson
objectClass: inetorgperson
objectClass: client-cert-persion
certSubjectDN: E=Foo.Bar@foo.bar.com, CN=Foo Bar, OU=Software Practice, O=Sun
Microsystems K.K., ST=Tokyo,C=JP
userCertificate;binary:: MIIEAjCCA2ugAwIBAgIBCjANBgkqhkiG9w0BAQQFADCBrTELMAkG
A1UEBhMCSlAxDjAMBgNVBAgTBVRva3lvMREwDwYDVQQHEwhTZXRhZ2F5YTEeMBwGA1UEChMVU3Vu
IE1pY3Jvc3lzdGVtcyBLLksuMRowGAYDVQQLExFTb2Z0d2FyZSBQcmFjdGljZTEWMBQGA1UEAxMN
SGFuYWtvIFlhbWFkYTEnMCUGCSqGSIb3DQEJARYYSGFuYWtvLllhbWFkYUBmb28uYmFyLmpwMB4X
DTA4MDMxODA3MTAxNFoXDTA5MDMxODA3MTAxNFowgY8xCzAJBgNVBAYTAkpQMQ4wDAYDVQQIEwVU
b2t5bzEeMBwGA1UEChMVU3VuIE1pY3Jvc3lzdGVtcyBLLksuMRowGAYDVQQLExFTb2Z0d2FyZSBQ
cmFjdGljZTEQMA4GA1UEAxMHRm9vIEJhcjEiMCAGCSqGSIb3DQEJARYTRm9vLkJhckBmb28uYmFy
LmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA9kxYqrsrgHH7jyH5nQMHnpFYtDpqpvp0
GInhmalFeXCuRr2RImKf4Nf91wPDnhA28u83UsyShvrBpzwIr05DVZSHoSKtJrP2G2UZ/oFQkoSg
NHq0xyw+RbN+dqdEh+NLdZpk6oHJ+pRDrbN6dZKHif6ljsZbu1mNUOeLdZw6R28CAwEAAaOCAUww
ggFIMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgWgMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NM
IEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUVmSY8jMWYoIrUJE2KYdIRnQmAEQwgdoG
A1UdIwSB0jCBz4AUBsfokNEEfDYW/qrSsrbsxBOENqGhgbOkgbAwga0xCzAJBgNVBAYTAkpQMQ4w
DAYDVQQIEwVUb2t5bzERMA8GA1UEBxMIU2V0YWdheWExHjAcBgNVBAoTFVN1biBNaWNyb3N5c3Rl
bXMgSy5LLjEaMBgGA1UECxMRU29mdHdhcmUgUHJhY3RpY2UxFjAUBgNVBAMTDUhhbmFrbyBZYW1h
ZGExJzAlBgkqhkiG9w0BCQEWGEhhbmFrby5ZYW1hZGFAZm9vLmJhci5qcIIBADANBgkqhkiG9w0B
AQQFAAOBgQBL7P77wjNQfIa7DbqnxpRJOL9Jkk/DQHHXjBWwjhk4uoemBG0HyPqCHxGu5CvYqr7P
Kei/rOctQlubLv/0tdkA4EySV0ST9cbcwXpF9iAUm80J4l/nMdd00EwiN73j4zm1vg5ql08IjIlG
+GAK8khzszaKjYS9ZA/QbZEtGzUI5Q==

最後に、ブラウザからWeb サーバに対して接続が可能か確認してみましょう。
作成したクライアント証明書を指定して「OK」ボタンを押下してください。

下記のように表示されれば正常にクライアント認証後にアクセスができています。

以上で、クライアント認証を行うために必要な設定はすべて完了です。
Webサーバ、もしくはProxyサーバをDMZに配置して、クライアント認証を
完了したユーザだけ、後段のアプリケーションサーバが提供するサービスを
うける為には、上記のような設定を行い実現できます。
リバース機能を設定する場合は、上記の設定を行った後で設定を行ってください。
ちなみに上記の設定は、他にSun Java System Proxy Server4.0.xでも同じような手順で設定を行います。
Web サーバ、Proxyサーバでクライアント認証を実現したい方は是非、本エントリを
是非参考にして頂ければと思います。

2008年3月19日 at 4:20 午前

2. OpenSSLでクライアント認証「HTTPSサーバ構築編」

Translate to English / Google


前回は、Solaris 10に付属するOpenSSLで認証局を作成しました。

そこで、今回は作成した認証局でサーバ証明書を署名し、

Sun Java System Web Serverにサーバ証明書をインストールする手順までを

紹介します。





1. まず、はじめにWeb サーバ上で認証局でサーバ証明書を署名する為に

  証明書署名要求(CSR)を作成します。



Web サーバの管理画面より、構成より対象のインスタンス(ここではsw-120)を選択し、

「証明書」タブより、「サーバ証明書」タブを押下します。

すると、サーバ証明書の設定の画面で、「要求 …」ボタンがありますので、

「要求 …」ボタンを押下します。







「要求 …」ボタンを押下すると下記の画面が表示されます。ここでは使用可能なトークンを

選択する事ができます。



トークンは、例えば、Sun Crypto Accelerator 6000や、Sun Fire T2000のようなT1プロセッサ等の

H/Wのアクセラレータを使用するような場合に使用します。



このようなH/Wアクセラレータを使用する場合は、トークンを作成しますが、

このウィザードの画面では、それぞれの用途に応じたトークンを選択する事になります。

仮に、Webサーバ以外の物を使用しない場合は、デフォルトの「internal」を選択して下さい。

今回は、Webサーバの中に暗号を保存しますので、「internal」を選択します。

選択した後、「次へ」ボタンを押下してください。



補足:

WebサーバのSSLパフォーマンス

SSLの処理は暗号解析等を行うため、非常にシステムに対して負荷の掛かる作業を行っています。

そこで、SSLの処理を外部のH/Wアクセラレータ等を使用する事により、HTTPS通信における

パフォーマンスを向上させる事ができます。



また、現在RSAによる暗号化が主流ですが、将来的にはECC(楕円暗号化曲線)のアルゴリズムが主流

になる事が予想されます。



ECC(楕円曲線暗号)を使用する事によりRSAに比べ、暗号化強度を向上しても暗号化キーのサイズが

少なく済むため、ネットワーク帯域的にも、SSL処理に対する負荷も軽減できるようになります。

SJS Web Server 7.0 はこのECC もサポートしています。(RSAの場合、暗号化強度を高めるためには

キーサイズを大きくするしか方法はありませんが、ECCは、適用する曲線の選択を変更するだけです。

暗号化強度を強くしたい場合もサイズは比例して大きくなる事はありませんので、より暗号化強度が

必要な環境、もしくは大量のSSL通信が発生する環境の方がECCのメリットを実感できるようになります。)



Sun Java System Web Server 7.0 は下記をサポートしています。



Solaris 10 オペレーティングシステムを使用している場合は、カーネル SSL (KSSL) が使用できます。

SSL 用の暗号化カードハードウェアアクセラレータ(SCA 6000等)を使用してパフォーマンスを向上させることもできます。

Solaris で 64 ビットの Web Server を使用している場合は、UltraSPARC T1 プロセッサの暗号化アクセラレータを使用できます。



docs.sun.comより:SSLパフォーマンス













「次へ」ボタンを押下すると下記の画面が表示されます。ここでは、Webサーバの詳細を入力します。

ここで、注意すべき点は、組織 (o) の項目です。この部分は認証局(CA)を構築した際に、

Organization Name (eg, company)で指定した、組織名と完全一致する必要があります。

仮に異なる名前を入力した場合、認証局(CA)での署名に失敗しますので、注意して下さい。


Organization Name (eg, company) [Unconfigured OpenSSL Installation]:Sun Microsystems K.K.

</TD









次に、証明書のキーの種類を選択します。Sun Java System Web Server 7.0では、RSA,ECCを

サポートしていますので、何れかを選択して「次へ」ボタンを押下して下さい。















「次へ」ボタンを押下すると、下記の画面が表示されます。下記の画面は入力した内容を最終確認する画面です。

入力した内容に問題がない場合は、「完了」ボタンを押下して下さい。







「完了」ボタンを押下すると、下記の画面が表示されます。下記の画面はWebサーバから、認証局(CA)に対して

リクエストする「証明書署名要求(CSR)」の画面になります。ここで表示される、「BEGIN NEW CERTIFICATE REQUEST」から

「END NEW CERTIFICATE REQUEST」までの箇所をマウスで選択しコピー(Ctrl + C)して下さい。







コピーした上記の内容をファイルに保存してください。


> pwd

/.vfrCA/work/ssl/CA/server

> vi csr.pem


—–BEGIN NEW CERTIFICATE REQUEST—–
MIIB+zCCAWQCAQAwgYsxCzAJBgNVBAYTAkpQMQ4wDAYDVQQIEwVUb2t5bzERMA8G
A1UEBxMIU2V0YWdheWExHjAcBgNVBAoTFVN1biBNaWNyb3N5c3RlbXMgSy5LLjEa
MBgGA1UECxMRU29mdHdhcmUgUHJhY3RpY2UxHTAbBgNVBAMTFHN3LTEyMC5qYXBh
bi5zdW4uY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDTAgjVmg7Hqxp3
18bhJP2WvDGXu62Pm7M+igkbQPz0KYiBpSqE9ur4N5J6WrTvECcG8GSzsqoQlRCo
MB9st1KEi9wvgbAgJRYrh3nv+G/B11jocZ731CzHnMS9hbRC8xC4P+mUz1RJMqkv
djJe5HUM3sx49yOLmK+bC7mXm2f6kwIDAQABoC8wLQYJKoZIhvcNAQkOMSAwHjAc
BgNVHREEFTATggZzdy0xMjCCCXdlYnNlcnZlcjANBgkqhkiG9w0BAQUFAAOBgQC4
NnM6s5pUGXu9nRcbCFV/yiH+Es1hIqcDzyC44exBCXpSWkdfj0ezcujLI+/Poe3V
pY5+BoaUPeqIus9dYJhqu07ANU2B1mZDNys8koizRqWMpFH2Kz0XGrlNQIXWWoa2
TyTt+glQhcvzHGnrC5Xpe+3QktmRk7P2uGVi3Ir3bg==

—–END NEW CERTIFICATE REQUEST—–


>



ファイルに保存した後、上記画面の「閉じる」ボタンを押下します。ボタンを押下すると

下記の画面が表示されますので、「配備保留中」のリンクを押下して下さい。







「配備保留中」のリンクを押下すると下記の新規ウィンドウが表示されます。ここで、「配備 …」ボタンを押下

して下さい。







「配備 …」ボタンを押下すると下記の画面が表示されます。ここで「インスタンスを再起動」で「今すぐ」を

選択し、「了解 …」ボタンを押下して下さい。

以上で、Sun Java System Web Server 上に自動的に秘密鍵が生成され、「証明書署名要求(CSR)」までが

生成されました。







次に、上記で作成した証明書署名要求(CSR)を元に、認証局(CA)で実際に署名を行う方法を紹介します。

まず、既存のopenssl.confのコピーを生成し、サーバ証明書を作成する為に若干設定変更を行います。


> cp /etc/sfw/openssl/openssl.cnf /etc/sfw/openssl/openssl-server.cnf


> vi /etc/sfw/openssl/openssl-server.cnf

basicConstraints=CA:FALSE <—FALSEに変更

# This is OK for an SSL server.

nsCertType = server <———- ここをコメント会うと



さてそれでは実際に、認証局で署名を行いましょう。

-config には先ほど修正したファイルを指定します。

-in にはWebサーバで生成した証明書署名要求(CSR)を指定します。

-keyfile には認証局の秘密鍵を指定します。

-cert には認証局の証明書を指定します。

-out には署名済みのWebサーバの生成されたサーバ証明書を指定します。


> openssl ca -config /etc/sfw/openssl/openssl-server.cnf -in ./csr.pem -keyfile
/etc/sfw/openssl/private/cakey.pem -cert /etc/sfw/openssl/cacert.pem -out cert.pem



Using configuration from /etc/sfw/openssl/openssl-server.cnf
29833:error:0E06D06C:configuration file routines:NCONF_get_string:no value:
/on10/build-nd/F10U4B12b/usr/src/common/openssl/crypto/conf/conf_lib.c:329:
group=CA_default name=unique_subject
Enter pass phrase for /etc/sfw/openssl/private/cakey.pem:
Check that the request matches the signature
Signature ok
Certificate Details:
Serial Number: 1 (0x1)
Validity
Not Before: Mar 11 06:05:20 2008 GMT
Not After : Mar 11 06:05:20 2009 GMT
Subject:
countryName = JP
stateOrProvinceName = Tokyo
organizationName = Sun Microsystems K.K.
organizationalUnitName = Software Practice
commonName = sw-120.japan.sun.com
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Cert Type:
SSL Server
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
3C:08:1D:CA:8C:90:54:DB:F3:39:4F:E8:15:C3:90:4C:94:40:1C:D0
X509v3 Authority Key Identifier:
keyid:36:1F:D0:6B:95:99:BC:CB:FE:D9:C5:E6:F0:27:6B:36:96:89:E5:B0
DirName:/C=JP/ST=Tokyo/L=Setagaya/O=Sun Microsystems K.K./OU=Software
Practice/CN=Hanako Yamada/emailAddress=Hanako.Yamada@foo.bar.jp
serial:00
Certificate is to be certified until Mar 11 06:05:20 2009 GMT (365 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated



ここで生成されたWeb サーバの証明書の中身を確認してみましょう。


> cat cert.pem


Certificate:
Data:
Version: 3 (0x2)
Serial Number: 1 (0x1)
Signature Algorithm: md5WithRSAEncryption
Issuer: C=JP, ST=Tokyo, L=Setagaya, O=Sun Microsystems K.K., OU=Software
Practice, CN=Hanako Yamada/emailAddress=Hanako.Yamada@foo.bar.jp
Validity
Not Before: Mar 11 06:05:20 2008 GMT
Not After : Mar 11 06:05:20 2009 GMT
Subject: C=JP, ST=Tokyo, O=Sun Microsystems K.K., OU=Software Practice,
CN=sw-120.japan.sun.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:d3:02:08:d5:9a:0e:c7:ab:1a:77:d7:c6:e1:24:
fd:96:bc:31:97:bb:ad:8f:9b:b3:3e:8a:09:1b:40:
fc:f4:29:88:81:a5:2a:84:f6:ea:f8:37:92:7a:5a:
b4:ef:10:27:06:f0:64:b3:b2:aa:10:95:10:a8:30:
1f:6c:b7:52:84:8b:dc:2f:81:b0:20:25:16:2b:87:
79:ef:f8:6f:c1:d7:58:e8:71:9e:f7:d4:2c:c7:9c:
c4:bd:85:b4:42:f3:10:b8:3f:e9:94:cf:54:49:32:
a9:2f:76:32:5e:e4:75:0c:de:cc:78:f7:23:8b:98:
af:9b:0b:b9:97:9b:67:fa:93
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Cert Type:
SSL Server
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
3C:08:1D:CA:8C:90:54:DB:F3:39:4F:E8:15:C3:90:4C:94:40:1C:D0
X509v3 Authority Key Identifier:
keyid:36:1F:D0:6B:95:99:BC:CB:FE:D9:C5:E6:F0:27:6B:36:96:89:E5:B0
DirName:/C=JP/ST=Tokyo/L=Setagaya/O=Sun Microsystems K.K./OU=Software
Practice/CN=Hanako Yamada/emailAddress=Hanako.Yamada@foo.bar.jp
serial:00
Signature Algorithm: md5WithRSAEncryption
89:19:7f:25:55:3b:00:23:33:42:95:67:be:13:22:16:ba:46:
c1:a4:d0:73:df:96:47:c8:2c:63:a9:50:7c:02:30:32:69:39:
1f:1f:c6:fc:5e:4d:e2:28:7b:a5:ba:ba:43:67:c0:72:6a:58:
f6:87:c4:02:5e:48:4d:a8:2b:79:1e:1a:14:03:aa:0e:62:7c:
9d:2e:d6:1f:15:d6:bd:75:59:d0:41:05:8d:a6:0c:24:11:b4:
c2:87:e0:87:ca:d8:ca:b4:5d:d5:87:b0:97:83:25:da:46:0c:
32:17:0d:30:9d:55:62:19:fe:9f:96:1f:d8:99:57:6d:4d:31:
55:05
—–BEGIN CERTIFICATE—–
MIID6jCCA1OgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBrTELMAkGA1UEBhMCSlAx
DjAMBgNVBAgTBVRva3lvMREwDwYDVQQHEwhTZXRhZ2F5YTEeMBwGA1UEChMVU3Vu
IE1pY3Jvc3lzdGVtcyBLLksuMRowGAYDVQQLExFTb2Z0d2FyZSBQcmFjdGljZTEW
MBQGA1UEAxMNSGFuYWtvIFlhbWFkYTEnMCUGCSqGSIb3DQEJARYYSGFuYWtvLllh
bWFkYUBmb28uYmFyLmpwMB4XDTA4MDMxMTA2MDUyMFoXDTA5MDMxMTA2MDUyMFow
eDELMAkGA1UEBhMCSlAxDjAMBgNVBAgTBVRva3lvMR4wHAYDVQQKExVTdW4gTWlj
cm9zeXN0ZW1zIEsuSy4xGjAYBgNVBAsTEVNvZnR3YXJlIFByYWN0aWNlMR0wGwYD
VQQDExRzdy0xMjAuamFwYW4uc3VuLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw
gYkCgYEA0wII1ZoOx6sad9fG4ST9lrwxl7utj5uzPooJG0D89CmIgaUqhPbq+DeS
elq07xAnBvBks7KqEJUQqDAfbLdShIvcL4GwICUWK4d57/hvwddY6HGe99Qsx5zE
vYW0QvMQuD/plM9USTKpL3YyXuR1DN7MePcji5ivmwu5l5tn+pMCAwEAAaOCAUww
ggFIMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgZAMCwGCWCGSAGG+EIBDQQf
Fh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUPAgdyoyQ
VNvzOU/oFcOQTJRAHNAwgdoGA1UdIwSB0jCBz4AUNh/Qa5WZvMv+2cXm8CdrNpaJ
5bChgbOkgbAwga0xCzAJBgNVBAYTAkpQMQ4wDAYDVQQIEwVUb2t5bzERMA8GA1UE
BxMIU2V0YWdheWExHjAcBgNVBAoTFVN1biBNaWNyb3N5c3RlbXMgSy5LLjEaMBgG
A1UECxMRU29mdHdhcmUgUHJhY3RpY2UxFjAUBgNVBAMTDUhhbmFrbyBZYW1hZGEx
JzAlBgkqhkiG9w0BCQEWGEhhbmFrby5ZYW1hZGFAZm9vLmJhci5qcIIBADANBgkq
hkiG9w0BAQQFAAOBgQCJGX8lVTsAIzNClWe+EyIWukbBpNBz35ZHyCxjqVB8AjAy
aTkfH8b8Xk3iKHulurpDZ8Byalj2h8QCXkhNqCt5HhoUA6oOYnydLtYfFda9dVnQ
QQWNpgwkEbTCh+CHytjKtF3Vh7CXgyXaRgwyFw0wnVViGf6flh/YmVdtTTFVBQ==
—–END CERTIFICATE—–

>



以上で、認証局(CA)による署名済みのサーバ証明書が生成されました。

署名済みのサーバ証明書が生成されましたので、ここで生成された証明書を

Web サーバにインストールしましょう。

Web サーバの管理画面より、「構成」→「対象の構成(sw-120)」を選択し、「証明書」タブを

選択後、「サーバ証明書」を選択して下さい。

「サーバ証明書」タブを選択すると「インストール …」ボタンが表示されますので、ボタンを

押下します。





「インストール …」ボタンを押下すると下記の画面が表示されます。ここでトークンを選択し、

「次へ」ボタンを押下して下さい。







「次へ」ボタンを押下すると下記の画面が表示されます。下記の画面では、署名済みの証明書から、

「BEGIN CERTIFICATE」から「END CERTIFICATE」までを画面内にコピー&ペーストして貼付けます。

コピー&ペーストした後「次へ」ボタンを押下して下さい。







「次へ」ボタンを押下すると下記の画面が表示されます。ここでは、Web サーバに保存する証明書の

ニックネームを入力します。

分かり易いニックネームを入力して、「次へ」ボタンを押下して下さい。







「次へ」ボタンを押下すると下記の画面を表示されます。ここではインストールする証明書の内容を

確認する画面になります。

問題がない場合は、「完了」ボタンを押下してください。







「完了」ボタンを押下すると下記の画面が表示されます。「Installation of Certificate successful」が

表示されれば、正常に認証局(CA)で署名されたサーバ証明書がインストールされています。









「完了」ボタンを押下すると、下記の画面が表示されます。ここで、「配備保留中」のリンクを押下して下さい。







「配備保留中」のリンクを押下すると下記の新規ウィンドウが表示されます。ここで、「配備」ボタンを

押下して下さい。







「配備」ボタンを押下した後、下記の画面が表示されますので、「了解」ボタンを押下し、

インスタンスを再起動して下さい。





「了解」ボタンを押下して下さい。ボタンを押下すると下記の画面が表示されます。







「閉じる」ボタンを押下すると、画面に下記のように表示されます。サーバ証明書が正常にインストール

されているか画面より確認して下さい。





上記までで、Web サーバのサーバ証明書のインストールが完了しました。しかしこの状態ではまだ、HTTPSの

通信ができません。そこで、HTTPSの通信ができるようにHTTPリスナーの設定を変更してみましょう。

「構成」→「対象の構成(sw-120)」を選択した後、「HTTPリスナー」タブを選択して下さい。

インスタンス中に存在する、HTTPのリスナー(http-listener-1)を選択して下さい。







HTTP リスナーを選択すると下記の画面が表示されます。ここで、「SSL」のタブを選択して下さい。



補足:

サーバ証明書の署名要求で設定した「サーバ名(cn)」と同一のサーバ名が下記で設定されていることを

確認して下さい。仮に署名要求で設定したサーバ名と、HTTPリスナー内のサーバ名が異なる場合は、

正常なサーバと認識されない為、サーバ名には御注意ください。

また、HTTPSのデフォルトのポート番号は443になります。443以外のポート番号が指定されている場合、

(デフォルトでは80等)はHTTPSの通信ができるように443に変更して「適用」ボタンを押下して先の手順に

進んでください。







「SSL」のタブを押下すると下記の画面に切り替わります。ここで、「SSL」のチェックボックスにチェックを付け

「適用」ボタンを押下して下さい。







「適用」ボタンを押下すると下記の画面が表示されます。「配備保留中」のリンクを押下して下さい。







「配備保留中」リンクを押下すると、下記の新規ウィンドウが表示されます。ここで、「配備」ボタンを

押下して下さい。







「配備」ボタンを押下すると下記の画面が表示されます。「インスタンスを再起動 今すぐ」にチェックを付け

「了解」ボタンを押下して下さい。







「了解」ボタンを押下した後、下記の画面が表示されます。「閉じる」ボタンを押下し、

完了して下さい。







次に、認証局(CA)の証明書をWeb サーバにインストールします。管理画面から「構成」→

「対象の構成(sw-120)」→「証明書」タブより「認証局」タブを押下して下さい。

すると下記の画面が表示されます。ここで「インストールボタン」を押下し認証局(CA)の証明書を

インストールする事ができます。



Pasted Graphic.tiff



「インストール」ボタンを押下すると下記の画面が表示されます。トークンを選択し、「次へ」ボタンを

押下して下さい。







「次へ」ボタンを押下すると下記の画面が表示されます。この画面で認証局(CA)の証明書を貼付けます。

証明書を貼付けた後「次へ」ボタンを押下してください。







認証局(CA)の証明書の入手先ですが、OpenSSLのディレクトリ配下にcacert.pemというファイルがありますので、

こちらの「BEGIN CERTIFICATE」から「END CERTIFICATE」までをコピー&ペースとしてご利用ください。


> less /etc/sfw/openssl/cacert.pem <–このファイルの内容を表示


—–BEGIN CERTIFICATE—–
MIID4jCCA0ugAwIBAgIBADANBgkqhkiG9w0BAQQFADCBrTELMAkGA1UEBhMCSlAx
DjAMBgNVBAgTBVRva3lvMREwDwYDVQQHEwhTZXRhZ2F5YTEeMBwGA1UEChMVU3Vu
IE1pY3Jvc3lzdGVtcyBLLksuMRowGAYDVQQLExFTb2Z0d2FyZSBQcmFjdGljZTEW
MBQGA1UEAxMNSGFuYWtvIFlhbWFkYTEnMCUGCSqGSIb3DQEJARYYSGFuYWtvLllh
bWFkYUBmb28uYmFyLmpwMB4XDTA4MDMxMTA1MzgxM1oXDTA5MDMxMTA1MzgxM1ow
ga0xCzAJBgNVBAYTAkpQMQ4wDAYDVQQIEwVUb2t5bzERMA8GA1UEBxMIU2V0YWdh
eWExHjAcBgNVBAoTFVN1biBNaWNyb3N5c3RlbXMgSy5LLjEaMBgGA1UECxMRU29m
dHdhcmUgUHJhY3RpY2UxFjAUBgNVBAMTDUhhbmFrbyBZYW1hZGExJzAlBgkqhkiG
9w0BCQEWGEhhbmFrby5ZYW1hZGFAZm9vLmJhci5qcDCBnzANBgkqhkiG9w0BAQEF
AAOBjQAwgYkCgYEAwrSQg6m9CizA7xXjS3yVAgUNklxKuM9uKT8foOby72RmTfvR
Uoi3dwUI00JxQDvBvmZPElOcL1qk6H7HEMCAffAJkPvvyBCTFNKH0GgIvCaSyQX1
tmx7IVpeae+jwKVRhwUwsz8X+njXdF9rhtwIPTq8QRj+G4BOtWVKPLet/PUCAwEA
AaOCAQ4wggEKMB0GA1UdDgQWBBQ2H9BrlZm8y/7ZxebwJ2s2lonlsDCB2gYDVR0j
BIHSMIHPgBQ2H9BrlZm8y/7ZxebwJ2s2lonlsKGBs6SBsDCBrTELMAkGA1UEBhMC
SlAxDjAMBgNVBAgTBVRva3lvMREwDwYDVQQHEwhTZXRhZ2F5YTEeMBwGA1UEChMV
U3VuIE1pY3Jvc3lzdGVtcyBLLksuMRowGAYDVQQLExFTb2Z0d2FyZSBQcmFjdGlj
ZTEWMBQGA1UEAxMNSGFuYWtvIFlhbWFkYTEnMCUGCSqGSIb3DQEJARYYSGFuYWtv
LllhbWFkYUBmb28uYmFyLmpwggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEE
BQADgYEAjo9baqRceGPaZkKWm8eFSooa/b5cinz3v7qKxZKmKhsjZhyFne7BXCqY
umtzgycAgXkKzLyeyL/RulXtde1oubCIfAlzEhD3hp1MBbJ4/Pw7I6ixyf1kkrf7
+aJ3/KQBZrclXK1aGyjnQKOQE2XHGewUf+Ouk6v7B+TrERivZF0=
—–END CERTIFICATE—–



「次へ」ボタンを押下すると下記の画面が表示されます。ここでは認証局(CA)の証明書をインストールしていますので、

「CA 証明書」のラジオボタンにチェックを付け「次へ」ボタンを押下します。







「次へ」ボタンを押下すると下記の画面が表示されます。ここではインストールする認証局(CA)の証明書の確認を

行います。サブジェクトや発行者に記載されている内容を確認し「完了」ボタンを押下して下さい。







「完了」ボタンを押下すると下記の画面が表示されます。「閉じる」ボタンを押下しインストールウィザードを終了して下さい。







下記の画面では認証局(CA)の証明書が正しくインストールされているかを確認しています。インストールした認証局(CA)の

証明書は一覧の最後のエントリに記載されてますので、確認を行う際にはページを移動して確認を行ってください。







確認が終わった後、「配備保留中」のリンクを押下して下さい。







「配備」を行った後、インスタンスを再起動する必要がありますので、画面の内容に従い

インスタンスを再起動して下さい。









以上で、Web サーバに対するサーバ証明書のインストール作業は全て完了です。

この状態で、信頼されたHTTPS通信が可能なWeb サーバの構築が完了です。





次は、クライアントのブラウザからHTTPSの通信ができるかを確認してみましょう。

実際にクライアントのブラウザからアクセスする前に、ブラウザで1点だけ準備する事があります。

それは、認証局(CA)の証明書をブラウザにインストールしなければならない点です。


現在、Web サーバは自前のOpenSSLで構築した認証局(CA)で署名されたサーバ証明書を利用してHTTPSの
通信ができるように設定が完了していますが、クライアントのブラウザは自前で構築したOpenSSLの認証局(CA)
を信頼する設定にはなっておりません。そこで、OpenSSLの認証局(CA)で署名された全ての証明書を信頼する為に
クライアントのブラウザに対しても認証局(CA)の証明書をインストールする必要があります。
以下に、ブラウザに認証局(CA)の証明書のインストール手順を記載します。
ちなみに、下記はFirefoxを例にして記述しています。
Firefoxのメニューより、「環境設定」を選択して下さい。すると下記のような新規ウィンドウが表示されます。
この中で、「詳細」→「暗号化」タブを選択し、「証明書を表示」ボタンを押下して下さい。







「証明書を表示」ボタンを押下すると下記のような画面が表示されます。この中で「認証局証明書」タブを

選択し「インポート」ボタンを押下して下さい。







「インポート」ボタンを押下するとファイルダイアログが表示されますので、事前に認証局(CA)より

FTP等で入手しておいたcacert.pemを指定して「開く」ボタンを押下します。







ボタンを押下すると下記の画面が表示されますので、全てのチェックボックスにチェックを付け

「OK」ボタンを押下して認証局(CA)のインストールを完了します。







認証局(CA)の証明書が正しくインストールされているかを確認してみましょう。

下記のように、証明書名と発行者名中に独自で作成した証明書が表示されていれば問題ありません。

念のため、証明書を確認してみましょう。対象の署名書を選択し「表示」ボタンを押下してください。







「表示」ボタンを押下すると下記の画面が表示されます。この認証局(CA)の証明書では、

認証局で署名された、クライアント証明書やサーバ証明書、メール署名者の証明書、メール受信者の

証明書等を信頼できるようになっています。







以上で、クライアントであるブラウザ側の準備も完了しました。

それでは、実際にブラウザからWebサーバにHTTPSで通信を行ってみましょう。

警告画面等が表示されずに正常にHTTPSの通信ができたでしょうか?

ブラウザの鍵の絵の部分をダブルクリックすると「ページ情報」を表示する画面が表示されます。

内容を確認すると、このサイトへの接続は検証されており、信頼していますというメッセージが

表示されているかと思います。









以上で、OpenSSLを使用したセキュアなWebサーバの構築が完了です。

次回は、いよいよクライアント認証の設定方法について紹介します。





すいません、体裁が悪くて、これから外出で直前でアップしましたので、

体裁は後で綺麗にしなおします。


2008年3月13日 at 10:10 午後

Web Server 7.0 から Web Server 7.0 Update1へのアップデート方法

今日は、SJS Web Server 7.0からSJS Web Server 7.0 Update 1へのアップデート方法
について説明します。
SJS Web Server 7.0から7.0 Update 1へのアップデート方法は非常に簡単です。

7.0 Update 1を御入手いただいた後、Update 1のsetupを実行してください。
そしてインストール先として既存のWeb Server 7.0のディレクトリを指定してください。
ディレクトリを指定後、「次へ」ボタンを押下すると、下記のような画面が表示されます。

ここでは、インストーラが自動的に既存の情報を入手し必要なライブラリのみ
アップデートインストールしてくれます。
実際にこの手法でアップデートした後、アップデートされたファイルを確認してみました。
Web Server 7.0 Upadte 1をアップデートした日付を6月27日とします。
そして、ファイルの更新日付が6月27日の内容だけを確認してみます。

その結果、管理サーバを初めとし既存のインスタンスの内容には一切変更は施されていない事がわかります。つまり、アップデートする為に再度Web Serverのインスタンスを設定をしなおさなくてもそのまま設定が反影される事がわかります。既存の設定が壊れる事はありませんので容易にアップデートが可能です。

※ ただし、アップデートの際は管理サーバやインスタンスは停止してアップデートしてください。

#  ls -lt 
合計 28
drwx------   2 root     root         512  6月 27日  20:29 setup
drwxr-xr-x   3 root     root         512  6月 27日  20:28 bin
drwxr-xr-x  13 root     root        3072  6月 27日  20:28 lib
-rw-r--r--   1 root     root         726  6月 27日  20:27 README.txt
drwxr-xr-x   2 root     root         512  6月 27日  20:27 Legal
drwxr-xr-x   8 root     root         512  6月 27日  20:27 include
drwxr-xr-x  11 root     root         512  6月 13日  23:10 https-test.Japan.Sun.COM
drwxr-xr-x   9 root     other        512  6月 13日  18:57 jdk
drwxr-xr-x   2 root     root         512  5月 31日  22:10 etc
drwxr-xr-x   9 root     root         512  5月 28日  21:12 admin-server
drwxr-xr-x   6 root     root         512  5月 28日  10:34 plugins
drwxr-xr-x   7 root     root         512  5月 28日  10:34 samples
#  pwd
/sun/webserver7/bin
# ls -lt
合計 252
-rwxr-xr-x   1 root     root       29332  6月 27日  20:28 uninstall
-rwxr-xr-x   1 root     root       66184  6月 27日  20:27 flexanlg
-rwxr-xr-x   1 root     root       17068  6月 27日  20:27 htpasswd
lrwxrwxrwx   1 root     root           7  5月 28日  10:35 64 -> sparcv9
-rwxr-xr-x   1 root     root        1062  5月 28日  10:35 schemagen
-rwxr-xr-x   1 root     root        1015  5月 28日  10:35 xjc
-rwxr-xr-x   1 root     root         426  5月 28日  10:35 wsimport
-rwxr-xr-x   1 root     root         421  5月 28日  10:35 wsgen
drwxr-xr-x   2 root     root         512  5月 28日  10:35 sparcv9
-rwxr-xr-x   1 root     root         540  5月 28日  10:35 jspc
-rwxr-xr-x   1 root     root         941  5月 28日  10:35 modutil
-rwxr-xr-x   1 root     root         942  5月 28日  10:35 certutil
-rwxr-xr-x   1 root     root         942  5月 28日  10:35 pk12util
-rwxr-xr-x   1 root     root        1308  5月 28日  10:35 wdeploy
-rwxr-xr-x   1 root     root        1439  5月 28日  10:35 wadm
#
#  pwd 
/sun/webserver7/lib
# ls -lt
合計 114546
-rw-r--r--   1 root     root     7747324  6月 27日  20:28 webserv-jwsdp.jar
-rw-r--r--   1 root     root       44623  6月 27日  20:28 activation.jar
-rw-r--r--   1 root     root      270394  6月 27日  20:28 mail.jar
-rw-r--r--   1 root     root      698579  6月 27日  20:28 jss4.jar
-rw-r--r--   1 root     root      263556  6月 27日  20:28 ldapjdk.jar
-rw-r--r--   1 root     root      497796  6月 27日  20:28 ktsearch.jar
-rw-r--r--   1 root     root     1034049  6月 27日  20:28 ant.jar
-rw-r--r--   1 root     root         476  6月 27日  20:28 libfreebl_32int64_3.chk
-rw-r--r--   1 root     root         476  6月 27日  20:28 libfreebl_32int_3.chk
-rw-r--r--   1 root     root         476  6月 27日  20:28 libfreebl_32fpu_3.chk
-rw-r--r--   1 root     root         476  6月 27日  20:28 libsoftokn3.chk
-rw-r--r--   1 root     root     9902188  6月 27日  20:28 libicudata.so.3
-rw-r--r--   1 root     root     1170776  6月 27日  20:28 libicuuc.so.3
-rw-r--r--   1 root     root     1437600  6月 27日  20:28 libicui18n.so.3
-rwxr-xr-x   1 root     root       66452  6月 27日  20:28 libz.so
-rwxr-xr-x   1 root     root      482360  6月 27日  20:28 libfreebl_32int64_3.so
-rwxr-xr-x   1 root     root      430888  6月 27日  20:28 libfreebl_32int_3.so
-rwxr-xr-x   1 root     root      599128  6月 27日  20:28 libfreebl_32fpu_3.so
-rwxr-xr-x   1 root     root      588448  6月 27日  20:28 libsoftokn3.so
-rwxr-xr-x   1 root     root      304172  6月 27日  20:28 libjss4.so
-rwxr-xr-x   1 root     root      414472  6月 27日  20:28 libnssckbi.so
-rwxr-xr-x   1 root     root      162780  6月 27日  20:28 libsasl.so
-rwxr-xr-x   1 root     root       51488  6月 27日  20:28 libssldap60.so
-rwxr-xr-x   1 root     root       34344  6月 27日  20:28 libprldap60.so
-rwxr-xr-x   1 root     root      422884  6月 27日  20:28 libldap60.so
-rwxr-xr-x   1 root     root      434288  6月 27日  20:28 libnspr4.so
-rwxr-xr-x   1 root     root       17228  6月 27日  20:28 libplds4.so
-rwxr-xr-x   1 root     root       43780  6月 27日  20:28 libplc4.so
-rwxr-xr-x   1 root     root      885804  6月 27日  20:28 libnss3.so
-rwxr-xr-x   1 root     root      284568  6月 27日  20:28 libsmime3.so
-rwxr-xr-x   1 root     root      283620  6月 27日  20:28 libssl3.so
-rwxr-xr-x   1 root     root      137100  6月 27日  20:28 pk12util
-rwxr-xr-x   1 root     root      309728  6月 27日  20:28 modutil
-rwxr-xr-x   1 root     root      203376  6月 27日  20:28 certutil
drwxr-xr-x   2 root     root        4608  6月 27日  20:28 htmlconvert
drwxr-xr-x   4 root     root         512  6月 27日  20:28 snmp
drwxr-xr-x   2 root     root         512  6月 27日  20:28 tlds
-rwxr-xr-x   1 root     root       23871  6月 27日  20:28 migrateServer.pl
drwxr-xr-x   2 root     root        1536  6月 27日  20:28 messages
drwxr-xr-x   3 root     root        1024  6月 27日  20:28 perl
drwxr-xr-x   3 root     root         512  6月 27日  20:28 install
drwxr-xr-x   2 root     root         512  6月 27日  20:28 icons
drwxr-xr-x   2 root     root         512  6月 27日  20:28 dtds
-rw-r--r--   1 root     root       55028  6月 27日  20:28 s1as-jsr160-server.jar
-rw-r--r--   1 root     root       36050  6月 27日  20:28 container-auth.jar
-rw-r--r--   1 root     root       22342  6月 27日  20:28 deployment-api.jar
-rw-r--r--   1 root     root       36600  6月 27日  20:28 sun-ws-jsr88-dm.jar
-rw-r--r--   1 root     root     1965940  6月 27日  20:28 webserv-rt.jar
-rw-r--r--   1 root     root      383236  6月 27日  20:28 webserv-jstl.jar
-rw-r--r--   1 root     root      531457  6月 27日  20:28 webserv-admin.jar
-rw-r--r--   1 root     root     2786266  6月 27日  20:28 pwc.jar
-rw-r--r--   1 root     root      323012  6月 27日  20:28 jsf-api.jar
-rw-r--r--   1 root     root     1210046  6月 27日  20:28 jsf-impl.jar
-rwxr-xr-x   1 root     root       17744  6月 27日  20:28 libadminsecurity.so
-rwxr-xr-x   1 root     root      136004  6月 27日  20:28 libwssecurity.so
-rwxr-xr-x   1 root     root       37132  6月 27日  20:28 libwsserverctrl.so
-rwxr-xr-x   1 root     root       15904  6月 27日  20:28 libwslifecycle.so
-rwxr-xr-x   1 root     root       18840  6月 27日  20:28 libwsconfigurator.so
-rwxr-xr-x   1 root     root      145176  6月 27日  20:28 libwsconfig.so
-rwxr-xr-x   1 root     root       72304  6月 27日  20:28 libmonitorjni.so
-rwxr-xr-x   1 root     root       28836  6月 27日  20:28 libadminjni.so
-rwxr-xr-x   1 root     root       15184  6月 27日  20:28 libadminutil.so
-rwxr-xr-x   1 root     root     5113892  6月 27日  20:28 libxerces-c.so.26
-rwxr-xr-x   1 root     root       36960  6月 27日  20:28 libxalanMsg.so.19
-rwxr-xr-x   1 root     root     6241880  6月 27日  20:28 libxalan-c.so.19
-rwxr-xr-x   1 root     root       67472  6月 27日  20:28 libpcre.so.0
-rwxr-xr-x   1 root     root       52240  6月 27日  20:28 libxsd2cpp.so
-rwxr-xr-x   1 root     root      188128  6月 27日  20:28 libwebdav.so
-rwxr-xr-x   1 root     root       93184  6月 27日  20:28 libsupport.so
-rwxr-xr-x   1 root     root       13132  6月 27日  20:28 libCld.so
-rwxr-xr-x   1 root     root        7524  6月 27日  20:28 libShtml.so
-rwxr-xr-x   1 root     root       13208  6月 27日  20:28 libnstp.so
-rwxr-xr-x   1 root     root       25224  6月 27日  20:28 libnstime.so
-rwxr-xr-x   1 root     root       73288  6月 27日  20:28 libnsprwrap.so
-rwxr-xr-x   1 root     root       50136  6月 27日  20:28 libnsfc.so
-rwxr-xr-x   1 root     root     4193796  6月 27日  20:28 libns-httpd40.so
-rwxr-xr-x   1 root     root      203088  6月 27日  20:27 liblibsi18n.so
-rwxr-xr-x   1 root     root       69420  6月 27日  20:27 liblibdbm.so
-rwxr-xr-x   1 root     root      260184  6月 27日  20:27 libj2eeplugin.so
-rwxr-xr-x   1 root     root        7584  6月 27日  20:27 libgetprop.so
-rwxr-xr-x   1 root     root      294244  6月 27日  20:27 libdavplugin.so
-rwxr-xr-x   1 root     root       31936  6月 27日  20:27 libares3.so
-rwxr-xr-x   1 root     root       11976  6月 27日  20:27 runmagt
-rwxr-xr-x   1 root     root      336484  6月 27日  20:27 httpagt
-rwxr-xr-x   1 root     root       74344  6月 27日  20:27 CertificateMgrUtil
-rwxr-xr-x   1 root     root       12068  6月 27日  20:27 svrctl
-rwxr-xr-x   1 root     root       18156  6月 27日  20:27 parsexml
-rwxr-xr-x   1 root     root       65904  6月 27日  20:27 dpstats
-rwxr-xr-x   1 root     root       38696  6月 27日  20:27 dblink
-rwxr-xr-x   1 root     root       32272  6月 27日  20:27 Cgistub
-rwxr-xr-x   1 root     root       11128  6月 27日  20:27 webservd
-rwxr-xr-x   1 root     root       72168  6月 27日  20:27 webservd-wdog
-rw-r--r--   1 root     root      206352  6月 27日  20:27 jmxremote_optional.jar
-rw-r--r--   1 root     root      168112  6月 27日  20:27 libcliutil.so
-rw-r--r--   1 root     root      130194  6月 27日  20:27 webserv-admin-shared.jar
-rw-r--r--   1 root     root     1319503  6月 27日  20:27 wadmcli.jar
-rw-r--r--   1 root     root      220775  6月 27日  20:27 tcljava.jar
-rw-r--r--   1 root     root       62270  6月 27日  20:27 s1as-jsr160-client.jar
-rw-r--r--   1 root     root       56936  6月 27日  20:27 jline.jar
-rw-r--r--   1 root     root      719297  6月 27日  20:27 jacl.jar
-rw-r--r--   1 root     root       81895  6月 27日  20:27 cli-framework.jar
-rw-r--r--   1 root     root       20988  6月 27日  20:27 webserv-rt-l10n.jar
-rw-r--r--   1 root     root      220685  6月 27日  20:27 webserv-admin-shared-l10n.jar
-rw-r--r--   1 root     root       38924  6月 27日  20:27 wadmcli-l10n.jar
-rw-r--r--   1 root     root        2576  6月 27日  20:27 cli-framework_zh_TW.jar
-rw-r--r--   1 root     root        2572  6月 27日  20:27 cli-framework_zh_CN.jar
-rw-r--r--   1 root     root        2695  6月 27日  20:27 cli-framework_ko.jar
-rw-r--r--   1 root     root        2723  6月 27日  20:27 cli-framework_ja.jar
-rw-r--r--   1 root     root        2505  6月 27日  20:27 cli-framework_fr.jar
-rw-r--r--   1 root     root        2493  6月 27日  20:27 cli-framework_es.jar
-rw-r--r--   1 root     root        2511  6月 27日  20:27 cli-framework_de.jar
drwxr-xr-x   2 root     root        1536  6月 27日  20:27 sparcv9
lrwxrwxrwx   1 root     root           7  5月 28日  10:35 64 -> sparcv9
-rwxr-xr-x   1 root     root        1348  5月 28日  10:35 searchadmin
-rwxr-xr-x   1 root     root         371  5月 28日  10:35 migrateServer
-rwxr-xr-x   1 root     root         317  5月 28日  10:35 wsenv
drwxr-xr-x   3 root     root         512  5月 28日  10:35 cpu
drwxr-xr-x   6 root     root         512  5月 28日  10:35 webapps
# pwd
/sun/webserver7/include
# ls -lt
合計 292
drwxr-xr-x   2 root     root         512  6月 27日  20:28 ldapsdk50
drwxr-xr-x   4 root     root        3072  6月 27日  20:28 nspr
drwxr-xr-x   2 root     root         512  6月 27日  20:27 shtml
-rw-r--r--   1 root     root      121806  6月 27日  20:27 nsapi.h
drwxr-xr-x   2 root     root         512  6月 27日  20:27 nsacl
-rw-r--r--   1 root     root         350  6月 27日  20:27 netsite.h
drwxr-xr-x   2 root     root         512  6月 27日  20:27 frame
-rw-r--r--   1 root     root        9001  6月 27日  20:27 drnsapi.h
drwxr-xr-x   2 root     root         512  6月 27日  20:27 base
#

※ nspr , shtml , nsacl , frame , baseディレクトリの中身は全て
アップデートされていました。

2007年6月27日 at 5:28 午前

高パフォーマンスで信頼できるWeb Proxyソリューション





弊社のSun Fire T1000, T2000等は非常に優れたパフォーマンスを

発揮するサーバ製品として良く知られています。特にWeb Serverや

Application Server等に対する用途として非常にマッチする事も

知られています。



今回、Web ServerやApplication Server以外にProxy Server

(実はHTTPのハンドリング等の部分はWeb Serverのコードを使用)

でも非常に優れたパフォーマンスを発揮する点をレポートに

まとめた資料がリリースされましたので報告します。



この資料の中には、Proxy Serverのベンチマークテストで良く使用されている、

Web Polygraphでの結果も記載されていますので、参考になるかと思います。



是非、一度御確認いただければと思います。




Sun’s High-Performance and Reliable Web Proxy Solution






上記資料によると、PolygraphというProxy Serverのベンチマークツールを

使用し、Sun Fire T2000でProxy 1インスタンスあたり、8000 req/secまで

スケールしています。(その際のコンテンツサイズは13Kbです。)



ただし、Sun Fire T2000で8000 req/secが最大なのかというとそうではありません。

その際のCPU使用率は20〜30%しか使用しておらず、

Proxy Serverに対する要求を8000 req/secまでいくとNIC(1GB)の限界に達し

(Network Utilizationが100%)、それ以上を処理できないというのが本当の所です。



Sun Fire T2000にはデフォルトでGigabit Ethernetのポートが4つ付いていますので、

T2000を効率的に使用する為には、Solaris 10の仮想化技術(zone)を使用し

zone毎にProxyをインストールする事でSun Fire T2000上では8000req/sec以上の

処理ができるという事が言えます。





Polygraphによるベンチマーク結果







2007年6月25日 at 10:03 午後

Older Posts


Java Champion & Evangelist

Translate

ご注意

このエントリは個人の見解であり、所属する会社の公式見解ではありません

カレンダー

2024年5月
 12345
6789101112
13141516171819
20212223242526
2728293031  

カテゴリー

clustermap

ブログ統計情報

  • 1,288,480 hits

Feeds

アーカイブ