12-3. Netscape WWWサ−バ (1) Netscape Enterprise Server '97 -------------------------------------------------------------------------------- よう名前が変わる。この前 INDY でインスト−ルしたのは Netscape Commerce Server だ ったぞ。こちらは97年5月時点の最新バ−ジョンで Version 2.0(a) である。 -------------------------------------------------------------------------------- * インスト−ル # cd /opt/https # ls license.txt nav ns-setup nshttps.tar readme.txt # ./ns-setup << これでインスト−ルしていく。 どこにインスト−ルするか。管理サ−バにアクセスできるホストは、ユ−ザは、パス ワ−ドは。管理サ−バのポ−ト番号は。などなど項目を入力していく。ここではそう シビアにならずにおこう。後からでも変更はできる。 Netscape Navigator ------------------------------------------------------------------- | Netscape Enterprise Server Installation | |Server Name: www.nix.co.jj |Bind Address: |Server Port: 80 << 外向けWWWサ−ビスは80番に決まっている。 |Server Identify: web << /export/home/ns-home/https-web に対応する。 |Server User: nobody << nobody にしておくこと。 | | | |◆Always attempt to resolv IP addresses into host names. |◇Attempt to resolv IP addresses only for access control and CGI. |◇Never attempt to resolv IP addresses into host names. | |Document Root: /export/home/ns-home/docs | | [OK] [Reset] [Help] # cd /export/home/ns-home << インスト−ルした状態。 # ls -F LiveWire/ cgi-bin/ httpacl/ nsapi/ userdb/ admserv/ docs/ https-web/ plugins/ authdb/ docs.org/ install/ start-admin* bin/ extras/ ns-icons/ stop-admin* [/export/home/ns-home] | |-[docs]-------------------- index.html << ここにコンテンツを入れる。 |-[docs.org] << 元々あったサンプルの docs。一応コピ−してとっておく。 | |-[https-web]---[logs]------ access.xxx << ログはどんどん溜まるので注意。 | | erros.xxx | | pid | | | |-[config]---- magnus.conf << これがメインの設定ファイル。 | | |- obj.conf 等 | | | |-[catalog]--- index.html 等 | | | |-[db]-------- schema.rdm, taxonomy.rdm | | | |- start, stop, restart, rotate << WWWサ−バの起動等。 | |-[bin]---[https]--- ns-httpd << WWWサ−バ本体。 | |-[admserv]--- ns-admin.conf << 管理サ−バの制御ファイル。 | |- ns-admin << 管理サ−バの本体。 | |- start-admin, stop-admin << 管理サ−バの起動と停止。 # cat ns-admin.conf << 例えばこんなように設定した。 NetsiteRoot /export/home/ns-home Port 8080 << 別に何番でもいい。慣例的に 8080 にしただけ。 User root ErrorLog /export/home/ns-home/admserv/errors AccessLog /export/home/ns-home/admserv/access PidLog /export/home/ns-home/admserv/pid ServerName www.nix.co.jj Backups 10 AdminUsers /export/home/ns-home/admserv/admpw Addresses 202.241.128.3 << hostA からのみ管理サ−バにアクセスできる。 ↑ もしここのアドレスをおかしなものを設定してしまうと、どこからも管理サ−バにア クセスできなくなってしまう。その場合 vi で ns-admin.conf を開いて、 ここの部 分を消去するか、IPアドレスを書き換える。消去すると、どのホストからでもアク セスを許すようになる。ここは注意すること。そのままにしておかないこと。 * WWWサ−バを起動する [ コマンド入力で起動する ] # cd /export/home/ns-home/https-web # ./start startup: listening to port 80 as nobody << # ps -e でみると ns-httpd デ−モン が幾つかできているはずである。 # ./stop << これで停止する。ns-httpd デ−モンは全て止まる。 start -------------------------------------------------------- |#!/bin/sh |cd /export/home/ns-home/bin/https |./ns-httpd -d /export/home/ns-home/https-web/config $@ stop -------------------------------------------------- |#!/bin/sh |kill `cat /export/home/ns-home/https-web/logs/pid` [ 自動起動する ] ともかく /etc/rc2.d に上記のスクリプトを置けば、マシン起動時にWWWも起動するよ うになる。同じスクリプトを /etc/rc0.d にも置き、マシン停止時にWWWデ−モンを停 止するようにしておく。INDY の場合 /etc/init.d にもスクリプトを置いて、rc2.d とは リンクを張ったりするのだが、どうもやらなくても構わないみたいだ。 # cd /etc/rc2.d # ls -al S8* -rwxr--r-- 2 root sys 134 .. S80PRESERVE << どこが空いているか調べる。 -rwxr--r-- 1 root sys 614 .. S85lmgrd << 小さい順に実行される。 -rwxr--r-- 4 root sys 408 .. S88utmpd S81netscape << S81 にしよう。netscape と -------------------------------------------------- いう文字列はなんでもいい。 |#!/bin/sh |# |# Netscape Enterprise Server 2.0 |# |case $1 in |'start') | cd /export/home/ns-home/bin/https | ./ns-httpd -d /export/home/ns-home/https-web/config | ;; |'stop') | /usr/bin/kill `/usr/bin/cat /export/home/ns-home/https-web/logs/pid` | ;; |*) | echo "usage: /etc/rc2.d/S81netscape {start|stop}" | ;; |esac # chmod 744 S81netscape << 一応パ−ミッションを他のに合わせる。 # chgrp sys S81netscape # cp S81netscape /etc/r0.d/K81netscape << /etc/rc0.d にもコピ−する。 # /etc/rc2.d/S81netscape stop << 確認してみる。デ−モンは止まるよ。 # /etc/rc2.d/S81netscape start << 手動でスタ−トさせてみる。OK!。 startup: listening to port 80 as nobody * 2000年対策してバ−ジョンを上げたところ /etc/rc2.d/S81netscape --------------------------------------------------------- |#!/bin/sh |case $1 in |'start') | /export/home/netscape/suitespot/https-www/start | ;; |'stop') | /usr/bin/kill `/usr/bin/cat /export/home/netscape/suitespot/https-www/ | ;; logs/pid` |*) | echo "usage: /etc/rc2.d/S81netscape {start|stop}" | ;; |esac # /etc/rc2.d/S81netscape start Netscape-Enterprise/3.6 D98.900.1089 << D98.xxx のところは適当です。 startup: listening to http://www.nix.co.jj, port 80 as nobody * Solaris 9 V210 に入れたところ `25 /etc/init.d/webstart で自動起動。/etc/rc2.d にはスクリプトはなかった。#ps -ef で デ−モンを見ると webservd -r /opt/SUNWwebsvr というのが幾つか走っている。 ソフト は /opt/SUNWwebsvr 内にある。制御ファイルもここにある。 WWWサ−バの管理画面に アクセスするには、先ず # /usr/dt/bin/netscape . & でブラウザを起動する。それから # http://localhost:8888。"Netscape: Web Server 6.1 Administration Server" とメッ セ−ジが出てくる。しかし Netscape のWWWサ−バ、もう特に必要はないかも知れない。 WANの出入りのところには侵入防御装置の DefensePro を入れて、不正な HTTP アクセ スはブロックするようにしたし。そのため安全性に関しては Apache でも一緒だと思う。 (2) Netscape Enterprise Server の管理 * 管理サ−バを使う インスト−ルした後、管理サ−バを起動し Netscape Navigator から色々設定しなければ ならない。その後設定を変更したいとか、ログをみたい場合やはり管理サ−バが必要とな る。ここでは hostA の Netscape Navigator で管理サ−バにアクセスする。 # openwin # cd /export/home/ns-home # ./start-admin << root ユ−ザで ns-admin という名前でプ warning: daemon is running as super-user ロセスが幾つかできる。 startup: listening to port 8080 as root # netscape http://hostA:8080 & << 作業する。 # ./stop-admin << これでプロセスは全て止まる。 * 管理サ−バを遠隔で使う インタ−ネット接続口の hostA, hostG, hostB 3台を、 もし別室に置いて稼働させてお おくとしたら。空調やUPS、できれば入室管理もして、安全に稼働させることが望まし い。そうなるとWWWサ−バの管理を手元のマシンでやりたい。hostC から'のみ'リモ− トで管理サ−バにアクセスできるようにしてみよう。 hostC は FireWall-1 でIPアドレス変換対象にしている。つまり管理サ−バにアクセス する hostC のIPアドレスは 200.241.128.2 である。管理サ−バではアクセスを許すホ ストを、ホスト名またはIPアドレスで制限することができる。ホスト名による制限はあ まり安全とはいえない。IPアドレスの方で制限するのが望ましい。 管理サ−バをリモ−トで使うメリットは、hostA 上で Netscape Navigator を使う必要が なくなり、Netscape Navigator を稼働させるための OpenWindows を停止させることがで る。OpenWindows は rpcbind( portmapper )管理下にあり、rpcbind も従って起動させな いようにできる。これは hostA のセキュリティを向上させることができる。 ------- WWW |hostA| Solaris 2.5.1 /etc/hosts これ追加しておくと便利。 ------- -------------------- | .3 |202.241.128.3 hostA -------*-------*------ 202.241.128.0 | .2 ------- ------- ------- |hostG| |hostB| |hostC| ------- ------- ------- | .2 | | .3 ---------------*----------*---------------*----- 192.168.1.0 hostA# netscape http://hostA:8080 & Netscape Navigator ここの画面に来て設定する。 ----------------------------------------------------- | Administaration Server Access Control | |Hostname to allow: [ ] |IP addresses to allow: [200.241.128.2 ] << アクセスを許すホスト。 |Authentication user name: [root ] << ここはEWSのユ−ザ |Authentication Password: [ ] << 名とパスワ−ドではな |Authentication Password (again):[ ] << い。別にした方がいい。 | | [OK] [Reset] [Help] "□Services" のところで httpq, TCP, 8080 を定義する。httpq は別にどんな名前でも よい。TCP, 8080 というサ−ビスを httpq という名前にしたということでしかない。 さらに "Rule Base Editor" で以下のようにル−ルを追加する。 ----------------------------------------------------------------------------- | Rule Base Editor : /etc/fw/conf/default.W | |---------------------------------------------------------------------------| | File Rule Policy Routers Utilities Properties | | | |Windows: □Network Objects □Users □Services □System View □Log Viewer | | | |---------------------------------------------------------------------- | ||No.| Source | Destination | Services | Action | Track | Install On | | ||---|---------|-------------|----------|--------|-------|------------| | || ? | hostC | hostA | httpq | accept | | gate | | |---------------------------------------------------------------------- | ----------------------------------------------------------------------------- hostC# netscape http://202.241.128.3:8080 & << アクセスして作業できる。 hostC# netscape http://hostA:8080 & << /etc/hosts に hostA を入れた。 * さまざまな拡張機能 ・WWWサ−バに chroot をかける。やってみたがうまくいかなかった。 ・WWWサ−バに全文検索機能を加える。日本語対応させるには別途 Topic を購入する。 ・WWWサ−バを SSL 暗号化対応する。デジタルIDを VeriSign 等から先ず取得する。 ・管理サ−バへのアクセスに SSL を使う。上記 SSL のデジタルIDが使える。 ・WWWサ−バへのアクセス・ログを見る。ログの消去が直ちにできない。 ・WWWサ−バへのアクセス・ログを集計する。使うのにめんどくさそう。 ・WWWサ−バへのアクセスのパフォ−マンスを見る。 (その他いろいろあるよ) ・WWWサ−バにユ−ザアクセス制限を設ける。 ・WWWサ−バに仮想サ−バの設定をする。 (3) Netscape Commerce Server -------------------------------------------------------------------------------- 96年当時テストしたことである。デジタルIDは OpenSSL の前進である SSLeay-0.6.4 を用いている。コマンドとしては OpenSSL でも同じといってよく、Netscape のサ−バさ え設定がそう違ってなければ、下記の設定手順は今でもそのまま参考になるだろう。 -------------------------------------------------------------------------------- * インスト−ル INDY の inst コマンドで CD-ROM から Netscape Commerce Server, 1.1 とパッチなどを インスト−ルする。OSは IRIX 5.3 である。暗号化部分の設定は何かこなれていないと いうか敏感というか、ちょっとしたことでエラ−になる。おかしかったら、全体のインス ト−ル自体最初からやり直すとか、Netscape Navigator が作る ~/.netscape ディレクト リを消去するとか、怪しげな所は初期化した方がいいだろう。 % cd /usr/netscape/https/install admin/ extras/ icons/ misc/ nsapi/ bin/ html/ mc-icons/ ns-setup % ns-setup Netscape Communications Corporation | Full name [indy2]: www.nix.co.jj << 入力する。 Using hostname www.nix.co.jj, port 2991. | If you want or need to use a PC, Macintosh, or other remote system, enter NONE here, and open the URL http://www.nix.co.jj:2991/ Network navigator [netscape]: << Return キ−を押す。 ================================================================================ Return キ−を押すと Netscape Navigator が立ち上がり、 Commerce Server の設定をや っていくことになる。入力項目は CERN などとほとんど同じである。Commerce Server の ポ−トは 443 にすること。管理サ−バのポ−トはとりあえず 444 とすること。暗号化対 応の設定もやっていき、最後のサ−バの起動はこの画面からはやらないこと。キ−のエラ −がでる。/usr/ns-home/https-443/start をマニュアルで実行すること。 サ−バのパス ワ−ドを聞いて来るので、それを入れるとサ−バが立ち上がる。 chkconfig ns_httpd は off にしておく。パスワ−ドを覚えておき、必ずマニュアルで起動するようにする。ちゃ んとインスト−ルが済むと、以下のようにディレクトリとファイルができる。 ================================================================================ [/usr/ns-home/] | |-[https-443]---[logs]----- secure, access, erros | | | |-[config]--- magnus.conf, obj.conf | | | mime.typs, admin.conf | | | | | |- ServerKey.der << 暗号化対応を設定すると | | ServerCert.der 3つのファイルができる。 | | ServerCertInfo.txt | | | |- start, stop, restart, rotate << WWWサ−バの起動など。 | |-[bin]---[https]--- ns-httpd << WWWサ−バ本体。 | |-[admserv]--------- ns-admin.conf | | | |----- ns-admin << 管理サ−バの本体。 | |- start-admin, stop-admin << 管理サ−バの起動と停止。 [ 概略手順 ] a. Netscape Commerce Server でWWWサ−バの秘密鍵と公開鍵 ServerKey.der を作る。 b. Netscape Commerce Server で証明書申請リクエストを出す。 c. そのファイルを次で作成する認証局への newreq.pem とする。 d. CA.sh -newca を実行し認証局 newcert.pem を作成する。 e. CA.sh -sign を実行し証明書を表示、作成する。 f. BEGIN から END までの部分を Netscape Commerce Server に張り付ける。 g. Security モ−ドをオンにする。ServerCert.der ができる。 h. マニュアルでサ−バを起動する。サイトのパスワ−ドを入れること。 * 詳細手順 1) Netscape Server Manager にアクセスする % /usr/ns-home/start-admin << 管理サ−バを手動で起動する場合。 % netscape http://www.nix.co.jj:444 ns-admin というデ−モンができる。 ------------------------------------- | Netscape Server Manager | Commerce Server | |□Netscape Communications | |□Security Configuration | Generate a key << ここを順にやっていく。 | Change your key pair file password | Request or renew a certificate | Install a certificate | Active security 2) Generate a Key Pair File 画面 Key File Path : ServerKey.der << WWWサ−バの秘密鍵と公開鍵を作 Key File Password : 87654321 るためにパスワ−ドを入力する。 Key File Password (again) : 87654321 3) Request a Server Certificate 画面 Certificate authority: katou@nix.co.jj << これは何でもいいからメ−ルアドレ ◇ I'd like to request a new certificate. スを入れること。でないとリクエス Key file location: ServerKey.der ト・フォ−ムがでてこない。 Key file password: 87654321 Server name:www.nix.co.jj Email address: katou@nix.co.jj Organization: NIX Ltd Organizational Unit: CAD Locality: Anjyo State or Province:Aichi Country: JP Telephone number: ???-??-???? Creating certificate request << リクエスト・フォ−ムがでてくる。 Creating certificate request... Done. The certificate request contains: Certificate Request: Data: Version: 0 (0x0) Subject: C=JP, ST=Aichi, L=Anjyo, O=NIX Ltd, OU=CAD, CN=www.nix.co.jj Subject Public Key Info: Public Key Algorithm: RSA Encryption Public Key: これが公開鍵だ Modulus: ↓ 00:b5:91:9f:36:6c:7a:64:a8:98:49:f6:98:e7:3b: fd:11:cf:25:db:3c:4b:8c:35:59:aa:98:ab:fe:0f: db:4c:51:5a:64:66:29:c7:32:73:fa:31:5f:37:26: 72:e9:0f:66:0f:c7:37:7e:73:a7:a7:50:0b:ac:28: 5f:f8:47:48:b7 Exponent: 3 (0x3) Attributes: a0:00 Signature Algorithm: MD5 digest with RSA Encryption Signature: 89:d9:fb:2e:b4:8a:dc:48:b8:aa:ee:bc:f2:61:f1:0a:e0:2b: 6e:32:2c:a2:b0:07:b4:70:6a:27:14:cd:71:46:3b:3a:c1:95: ed:5d:ec:ac:06:53:a3:2d:fd:1c:58:6c:5c:b4:63:33:66:08: 25:3f:a4:f8:5d:1f:5b:42:bb:a1 Creating a temporary file for mail... Headers generated. Converting binary request to ascii data... Finishing mail message... Done. The mail message contains: To: katou@nix.co.jj Subject: Certificate request Reply-To: katou@nix.co.jj Webmaster: katou@nix.co.jj Phone: ???-??-???? -----BEGIN NEW CERTIFICATE REQUEST----- MIIBHTCByAIBADBlMQswCQYDVQQGEwJKUDEOMAwGA1UECBMFQWljaGkxDjAMBgNV BAcTBUFuanlvMRAwDgYDVQQKEwdOSVggTHRkMQwwCgYDVQQLEwNDQUQxFjAUBgNV BAMTDXd3dy5uaXguY28uanAwWjANBgkqhkiG9w0BAQEFAANJADBGAkEAtZGfNmx6 ZKiYSfaY5zv9Ec8l2zxLjDVZqpir/g/bTFFaZGYpxzJz+jFfNyZy6Q9mD8c3fnOn p1ALrChf+EdItwIBA6AAMA0GCSqGSIb3DQEBBAUAA0EAidn7LrSK3Ei4qu688mHx CuArbjIsorAHtHBqJxTNcUY7OsGV7V3srAZToy39HFhsXLRjM2YIJT+k+F0fW0K7 oQ== -----END NEW CERTIFICATE REQUEST----- 4) 証明書を作成する /usr/lcoal/ssl/newreq.pem << 上記の部分をとってくる。 ----------------------------------------------------------------- |-----BEGIN NEW CERTIFICATE REQUEST----- |MIIBHTCByAIBADBlMQswCQYDVQQGEwJKUDEOMAwGA1UECBMFQWljaGkxDjAMBgNV | | |oQ== |-----END NEW CERTIFICATE REQUEST----- ================================================================================ 一応 demoCA ディレクトリはまっさらにしてからやること。外向きのWWWは1個でいい ため、認証局を自分とこでやるのでもなければ、 demoCA 中のデ−タベ−スは必要でない。 ================================================================================ % CA.sh -newca << やること。 % CA.sh -sign Enter PEM pass phrase: 12345678 Check that the request matches the signature Signature ok The Subjects Distinguished Name is as follows countryName :PRINTABLE:'JP' stateOrProvinceName :PRINTABLE:'Aichi' localityName :PRINTABLE:'Anjyo' organizationName :PRINTABLE:'NIX Ltd' organizationalUnitName:PRINTABLE:'CAD' commonName :PRINTABLE:'www.nix.co.jj' Certificate is to be certified until Nov 8 10:12:25 1997 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 issuer :/C=JP/SP=Aichi/L=Anjyo/O=NIX Ltd/OU=CAD/CN=www.nix.co.jj/Email=KATOU subject:/C=JP/SP=Aichi/L=Anjyo/O=NIX Ltd/OU=CAD/CN=www.nix.co.jj serial :01 Certificate: Data: Version: 0 (0x0) Serial Number: 1 (0x1) Signature Algorithm: md5withRSAEncryption Issuer: C=JP, SP=Aichi, L=Anjyo, O=NIX Ltd, OU=CAD, CN=WWW, Email=KATOU Validity Not Before: Nov 8 10:12:25 1996 GMT Not After : Nov 8 10:12:25 1997 GMT Subject: C=JP, SP=Aichi, L=Anjyo, O=NIX Ltd, OU=CAD, CN=www.nix.co.jj Subject Public Key Info: Public Key Algorithm: rsaEncryption Modulus: 00:b5:91:9f:36:6c:7a:64:a8:98:49:f6:98:e7:3b: fd:11:cf:25:db:3c:4b:8c:35:59:aa:98:ab:fe:0f: db:4c:51:5a:64:66:29:c7:32:73:fa:31:5f:37:26: 72:e9:0f:66:0f:c7:37:7e:73:a7:a7:50:0b:ac:28: 5f:f8:47:48:b7 Exponent: 3 (0x3) Signature Algorithm: md5withRSAEncryption 57:b2:9b:65:c2:8c:a0:95:f6:32:b8:a9:c8:c0:c7:ba:f0:c3: 88:2d:39:16:87:33:9c:b4:f8:ac:f2:ba:c9:00:94:a6:93:17: 8d:ac:d9:a6:41:3c:dc:84:e8:ec:cb:b8:86:0e:86:b1:8c:5f: 48:0d:cf:fd:0a:37:50:6d:67:08 -----BEGIN CERTIFICATE----- MIIB0zCCAX0CAQEwDQYJKoZIhvcNAQEEBQAwgYUxCzAJBgNVBAYTAkpQMQ4wDAYD VQQIEwVBaWNoaTEOMAwGA1UEBxMFQW5qeW8xEDAOBgNVBAoTB05JWCBMdGQxDDAK BgNVBAsTA0NBRDEWMBQGA1UEAxMNd3d3Lm5peC5jby5qcDEeMBwGCSqGSIb3DQEJ ARYPa2F0b3VAbml4LmNvLmpwMB4XDTk2MTEwODEwMTIyNVoXDTk3MTEwODEwMTIy NVowZTELMAkGA1UEBhMCSlAxDjAMBgNVBAgTBUFpY2hpMQ4wDAYDVQQHEwVBbmp5 bzEQMA4GA1UEChMHTklYIEx0ZDEMMAoGA1UECxMDQ0FEMRYwFAYDVQQDEw13d3cu bml4LmNvLmpwMFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALWRnzZsemSomEn2mOc7 /RHPJds8S4w1WaqYq/4P20xRWmRmKccyc/oxXzcmcukPZg/HN35zp6dQC6woX/hH SLcCAQMwDQYJKoZIhvcNAQEEBQADQQBXsptlwoyglfYyuKnIwMe68MOILTkWhzOc tPis8rrJAJSmkxeNrNmmQTzchOjsy7iGDoaxjF9IDc/9CjdQbWcI -----END CERTIFICATE----- ↑ | 5) INSTALL a Server Certificate 画面 上のをとってくる ◇Here is the text of the message, with the headers: -----BEGIN CERTIFICATE----- MIIB0zCCAX0CAQEwDQYJKoZIhvcNAQEEBQAwgYUxCzAJBgNVBAYTAkpQMQ4wDAYD | tPis8rrJAJSmkxeNrNmmQTzchOjsy7iGDoaxjF9IDc/9CjdQbWcI -----END CERTIFICATE----- 6) Active Security 画面 ◇I'd like to run in secure mode. << Secure モ−ドにする。 7) 暗号化 Netscape Commerce Server を起動する /usr/ns-home/https-443/start をマニュアルで実行する。 % /usr/ns-home/bin/https/ns-httpd -d /usr/ns-home/https-443/config Key File Password: 87654321 << サイトのパスワ−ドを入れる。 startup: listening to port 443 as nobody % ps -e 2458 ? 0:00 ns-httpd << 一杯 SSL 対応のWWWサ−バの | デ−モンができているはずである。 2450 ? 0:00 ns-httpd * INDY の inst コマンドで CD-ROM からインスト−ルした様子 # inst Default distribution to install from: /CDROM/dist For help on inst commands, type "help overview". Inst Main Menu 1. from [source] Specify location of software to be installed 2. list [keywords] [names] Display information about software subsystems 3. go Perform software installation and removal now 4. install [keywords] [names] Select subsystems to be installed 5. remove [keywords] [names] Select subsystems to be removed 6. keep [keywords] [names] Do not install or remove these subsystems 7. step [keywords] [names] Interactive mode for install/remove/keep 8. conflicts [choice ...] List or resolve installation conflicts 9. help [topic] Get help in general or on a specific word 10. view ... Go to the View Commands Menu 11. admin ... Go to the Administrative Commands Menu 12. quit Terminate software installation | Netscape Commerce Server 1.1 netsite commerce 1.1 patches: sg0000317,sg0000393 sg0000404,sg0000425 sg0000481,sg0000503 # inst Inst> 2 Reading installation history .. 100% Done. Reading distribution .. 100% Done. Checking dependencies .. 100% Done. Calculating sizes .. 100% Done. Current View: Location: distribution Status: N=new,U=upgrade,P=patch upgrd,S=same,D=downgrade,' '=not installed Patches: A=patch installable,X=patch uninstallable (missing base product) Selection: i=install, r=remove, k=keep Level: subsystem Name: name Subsystem Type(s) [bdrp]: b=reBoot needed, d=Default, r=Required, p=Patch D netsite_commerce.books.Firewall_AG [d] 0 WebFORCE Firewall Admin Guide, 1.0 D netsite_commerce.books.NetscapeSrv_AG [d] 0 Netscape Communications and Commerce Servers Admin Guide, 1.1 D netsite_commerce.books.NetscapeSrv_PG [d] 0 Netscape Servers Programmer's Guide, 1.1 D netsite_commerce.man.man [d] 0 Netscape Commerce Server Manual Pages, 1.1 S netsite_commerce.man.relnotes [d] 0 Netscape Commerce Server Release Notes, 1.1 S netsite_commerce.sw.server [d] 0 Netscape Commerce Server, 1.1 DA patchSG0000317.eoe1_sw.unix [bp] 0 IRIX Execution Environment SA patchSG0000393.eoe1_sw.unix [bp] 0 IRIX Execution Environment DX patchSG0000404.eoe1_man.unix [p] 0 Basic IRIX Man Pages DX patchSG0000404.eoe1_sw.unix [bp] 0 IRIX Execution Environment X patchSG0000404.eoe2_sw.kdebug [bp] 0 Debugging Kernels DX patchSG0000404.eoe2_sw.perf [bp] 0 Performance Measurement Utilities DX patchSG0000425.eoe1_man.unix [p] 0 Basic IRIX Man Pages DX patchSG0000425.eoe1_sw.unix [bp] 0 IRIX Execution Environment X patchSG0000425.eoe2_sw.kdebug [bp] 0 Debugging Kernels DX patchSG0000425.eoe2_sw.perf [bp] 0 Performance Measurement Utilities NA patchSG0000481.eoe1_sw.unix [bp] 0 IRIX Execution Environment NX patchSG0000481.nfs3_sw.nfs3 [p] 0 NFS Version 3 Software NA patchSG0000481.nfs_sw.nfs [bp] 0 NFS Support NX patchSG0000503.eoe2_sw.xfs [bp] 0 XFS Filesystem (4) Netscape Commerce Server の確認 * Netscape Navigator で暗号化を確認する % netscape https://www.nix.co.jj/ ------------------------------------------------------------------- |Netscape: View A Certificate | |-----------------------------------------------------------------| |This Certificate belongs to: This Certificate was issued by: | | www.nix.co.jj www.nix.co.jj | | katou@nix.co.jj katou@nix.co.jj | | CAD CAD | | NIX Ltd NIX Ltd | | Anjyo, Aichi, JP Anjyo, Aichi, JP | | | |Serial Number: 00 | |This Certificate is valid from Fri Nov 8, 1996 to Sun Dec 8, 1996| |Certificate Fingerprint: | | 08:CF:4B:B5:A4:BA:AB:9C:73:16:0B:74:A8:78:48:DF << 鍵指紋だ! | ------------------------------------------------------------------- * 鍵と証明書情報を見る % cd /usr/ns-home/https-443/config % rsa -inform NET -in ServerKey.der どうもこの出力は違うような気がするが。 read RSA private key Enter Private Key password: 87654321 writing RSA private key PEM フォ−マットのファイルが出力された。 -----BEGIN RSA PRIVATE KEY----- ↓ MIIBOgIBAAJBALWRnzZsemSomEn2mOc7/RHPJds8S4w1WaqYq/4P20xRWmRmKccy c/oxXzcmcukPZg/HN35zp6dQC6woX/hHSLcCAQMCQHkLv3mdpu3Futv5u0TSqLaK GTzS3QgjkRxlx/61PN2KchNM6p7Ew8Um0n4NcC11iI4RxMThSdcuWQKNbno1gusC IQDb+X6ovf5V0tVn3LGjxorpKFLvAgwbJzEYdIajBicERwIhANNN9CEbDPh/obud YKbeVDASWaFVFZ29WW2zzZc60AARAiEAkqZUcH6pjoyORT3LwoRcm3A3SgFdZ292 EE2vF1lvWC8CIQCM3qLAvLNQVRZ9E5XElDggDDvA42O+fjued95k0eAACwIhAIUH 1iGToCgefmyAGQGdRgzTgyRYbVBN5HzF9LrCIAzR -----END RSA PRIVATE KEY----- 上記出力を k.pem とし、WWWの公開鍵を調べる。 % rsa -in k.pem -modulus read RSA private key Modulus= B5919F366C7A64A89849F698E73B FD11CF25DB3C4B8C3559AA98ABFE0F DB4C515A646629C73273FA315F3726 72E90F660FC7377E73A7A7500BAC28 5FF84748B7 この値は "Request a Server Certificate" 画面に出ているのと同じである。 Public Key Algorithm: rsaEncryption Modulus: 00:b5:91:9f:36:6c:7a:64:a8:98:49:f6:98:e7:3b: fd:11:cf:25:db:3c:4b:8c:35:59:aa:98:ab:fe:0f: db:4c:51:5a:64:66:29:c7:32:73:fa:31:5f:37:26: 72:e9:0f:66:0f:c7:37:7e:73:a7:a7:50:0b:ac:28: 5f:f8:47:48:b7 % der_chop < ServerCert.der PEM フォ−マットのファイルが出力された。 -----BEGIN CERTIFICATE----- ↓ MIIB0zCCAX0CAQEwDQYJKoZIhvcNAQEEBQAwgYUxCzAJBgNVBAYTAkpQMQ4wDAYD VQQIEwVBaWNoaTEOMAwGA1UEBxMFQW5qeW8xEDAOBgNVBAoTB05JWCBMdGQxDDAK BgNVBAsTA0NBRDEWMBQGA1UEAxMNd3d3Lm5peC5jby5qcDEeMBwGCSqGSIb3DQEJ ARYPa2F0b3VAbml4LmNvLmpwMB4XDTk2MTEwODEwMTIyNVoXDTk3MTEwODEwMTIy NVowZTELMAkGA1UEBhMCSlAxDjAMBgNVBAgTBUFpY2hpMQ4wDAYDVQQHEwVBbmp5 bzEQMA4GA1UEChMHTklYIEx0ZDEMMAoGA1UECxMDQ0FEMRYwFAYDVQQDEw13d3cu bml4LmNvLmpwMFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALWRnzZsemSomEn2mOc7 /RHPJds8S4w1WaqYq/4P20xRWmRmKccyc/oxXzcmcukPZg/HN35zp6dQC6woX/hH SLcCAQMwDQYJKoZIhvcNAQEEBQADQQBXsptlwoyglfYyuKnIwMe68MOILTkWhzOc tPis8rrJAJSmkxeNrNmmQTzchOjsy7iGDoaxjF9IDc/9CjdQbWcI -----END CERTIFICATE----- 上記出力を p.pem とし、中身を調べる。証明書は X.509 というフォ−マットになってい る。x509 というコマンドで調べることができる。 % x509 -in p.pem -issuer -subject -fingerprint issuer= /C=JP/SP=Aichi/L=Anjyo/O=NIX Ltd/OU=CAD/CN=www.nix.co.jj/Email=KATOU subject=/C=JP/SP=Aichi/L=Anjyo/O=NIX Ltd/OU=CAD/CN=www.nix.co.jj Fingerprint=08:CF:4B:B5:A4:BA:AB:9C:73:16:0B:74:A8:78:48:DF % x509 -in p.pem -modulus << WWWの公開鍵をみる。 Modulus= B5919F366C7A64A89849F698E73B .... 5FF84748B7 (5) SSLeay コマンドのまとめ * 暗号化の色々なコマンド % cd /usr/local/ssl/bin;ls CA.sh des des3 idea-ofb s_filter asn1parse des-cbc desx md2 s_mult base64 des-cfb dgst md5 s_server c_hash des-ecb dh pkcs7 s_time c_info des-ede enc rc2 sess_id c_issuer des-ede-cbc errstr rc2-cbc sha c_name des-ede-cfb gendh rc2-cfb sha1 c_rehash des-ede-ofb genrsa rc2-ecb speed ca des-ede3 hashdir rc2-ofb ssleay ciphers des-ede3-cbc idea rc4 verify crl des-ede3-cfb idea-cbc req version crl2pkcs7 des-ede3-ofb idea-cfb rsa x509 der_chop des-ofb idea-ecb s_client enc : 一般的な暗号プログラム。17の異なった暗号方式の組み合わせがある。 dgst : md2, md5, sha(sha-0 or sha-1) のメッセ−ジダイジェストを生成する。 rsa : RSA 秘密鍵を操作する。 crl : 証明書無効リストを操作する。 x509 : x509 証明書を操作する。自身で署名もできる。 req : PKCS#10 証明書発行リクエストを操作し、生成する。 genrsa : 任意サイズの RSA 秘密鍵を生成する。 verify : x509 の証明書の署名をチェックする。 dh : Diffie-Hellman パラメ−タのファイルを操作する。gendh もあり。 ca : PKCS#10 証明書発行リクエストから証明書を作成する。 それに発行済み証明書 のデ−タベ−スのメンテナンスも行う。 crt2pkcs7: Generate a pkcs7 object containing a crl and a certificate. * デモ用CA管理 demoCA について [ CA.sh コマンドの中身 ] CA.sh -newca (新しく認証局を自分で作る) > req -new -x509 -keyout ./demoCA/private/cakey.pem -out ./demoCA/cacert.pem cacert.pem 自己署名した公開鍵証明書 CA.sh -newreq (WWWサイトの証明申請書を作成する) > req -new -keyout newreq.pem -out newreq.pem cakey.pem は必要ない。-keyout は秘密鍵も newreq.pem に入れる指示である。 CA.sh -sign (証明申請書に認証局の署名をする) > ca -policy policy_anything -out newcert.pem -infiles newreq.pem cacert.pem と cakey.pem が必要である。 [ デジタルIDの作成 ] % setenv PATH /usr/local/ssl/bin:$PATH % CA.sh -help usage: CA -newcert|-newreq|-newca|-sign|-verify % CA.sh -newca << これで cacert.pem と cakey.pemができる。認証 ./demoCA/cacert.pem 局のデジタルIDと秘密鍵である。デジタルID ./demoCA/private/cakey.pem には公開鍵が入っている。 % CA.sh -newreq << WWWサ−バのデジタルIDの発行依頼の申請書 ./newreq.pem WWWの秘密鍵も出来 newreq.pem に含められる。 % CA.sh -sign << 認証局に署名されたWWWサ−バのデジタルID ./newcert.pem ができる。 注.1) % CA.sh -newca をやるとカレントディレクトリに demoCA ディレクトリができる。 間違えたら demoCA を消して再度やるとよい。-newca で聞いてくる Common Name はWWWサ−バのホスト名( FQDN )にすること。 注.2) できた全ての pem ファイルの内容は、国名などを同じ識別名にしても毎回異なる。 日付けかランダムな値により、再現性がないようにしているらしい。 % cd /usr/local/ssl;ls bin/ include/ lib/ demoCA/ newcert.pem newreq.pem % du -a demoCA **** これは認証局そのものである **** 1 demoCA/certs 1 demoCA/crl << 認証サイト失効リスト。 5 demoCA/new_certs/01.pem << 上の newcert.pem と同じ。 2 demoCA/private/cakey.pem << 認証局の秘密鍵。 2 demoCA/cacert.pem << 認証局のデジタルID。 1 demoCA/serial << 管理番号ファイル。 1 demoCA/index.txt << デ−タベ−ス。 0 demoCA/index.txt.old 1 demoCA/serial.old /usr/local/ssl/lib/ssleay.conf << デジタルID発行の制御ファイル。一応ざっ と、どんなことが書いてあるか見ておくこと。 * 参考:CA.sh スクリプト /usr/local/ssl/bin/CA.sh ------------------------------------------------------------------ |#!/bin/sh |# CA -newca ... will setup the right stuff |# CA -newreq ... will generate a certificate request |# CA -sign ... will sign the generated request and output |# |# default ssleay.conf file has setup as per the following |# demoCA ... where everything is stored | |REQ='ssleay req' |CA='ssleay ca' |CATOP=./demoCA |CAKEY=./cakey.pem |CACERT=./cacert.pem | |for i |do |case $i in |-\?|-h|-help) | echo "usage: CA -newcert|-newreq|-newca|-sign|-verify" >&2 | exit 0 | ;; |-newcert) | # create a certificate | $REQ -new -x509 -keyout newreq.pem -out newreq.pem -days 365 | ;; |-newreq) | # create a certificate request | $REQ -new -keyout newreq.pem -out newreq.pem | ;; |-newca) | # if explictly asked for or it doesn't exist then setup the directory | # structure that Eric likes to manage things | NEW="1" | if [ "$NEW" -o ! -f ${CATOP}/serial ]; then | # create the directory hierarchy | mkdir ${CATOP} | mkdir ${CATOP}/certs | mkdir ${CATOP}/crl | mkdir ${CATOP}/new_certs | mkdir ${CATOP}/private | echo "01" > ${CATOP}/serial | touch ${CATOP}/index.txt | fi | if [ ! -f ${CATOP}/private/$CAKEY ]; then | echo "CA certificate filename (or enter to create)" | read FILE | | # ask user for existing CA certificate | if [ "$FILE" ]; then | cp $CERTIFICATE ${CATOP}/private/$CAKEY | else | echo "Making CA certificate ..." | $REQ -new -x509 -keyout ${CATOP}/private/$CAKEY \ | -out ${CATOP}/$CACERT | fi | fi | ;; |-xsign) | $CA -policy policy_anything -infiles newreq.pem | ;; |-sign|-signreq) | $CA -policy policy_anything -out newcert.pem -infiles newreq.pem | cat newcert.pem | ;; | | |esac |done