• 検索結果がありません。

インストールガイド

N/A
N/A
Protected

Academic year: 2018

シェア "インストールガイド"

Copied!
22
0
0

読み込み中.... (全文を見る)

全文

(1)

PKI 相互運用性テストスイート

インストールガイド

Ver s i on 1. 0

2003 年 3 月

情報処理振興事業協会 セキュリティセンター

(2)

1 概要...1

.. 対応プラットフォーム...1

.. 要求されるハードウェア構成...1

2 サーバー側の外部ソフトウェアのインストール...2

.. RedHat Linux のインストール...2

.. RedHatのバーチャルIPの設定...2

.. RPMのインストール...4

.. OpenLDAPサーバーのインストール...4

.. PostgreSQLのインストール...エラー! ブックマークが定義されていません。 .. AiCryptoのインストール...5

.. Dumpasn1コマンドのインストール...5

3 サーバー側環境設定...5

.. PostgreSQLの設定...6

.. rshdの設定...7

.. 環境変数の設定...7

4 クライアント側の外部ソフトウェアのインストール...8

.. CygwinCygwinパッケージのインストール...8

.. Perlモジュールのインストール...9

5 クライアント側環境設定...10

.. HOSTSファイルの設定...10

.. 環境変数の設定...10

6 サーバーでのテストスイートのインストール...12

7 サーバーにおけるテストスイートの環境設定...14

.. OpenLDAPの設定...14

.. OCSPレスポンダシミュレータ・GCVSシミュレータの設定...15

8 トラブルシューティング...18

.. サーバー側での動作確認...18

... LDAPの動作確認... 18

... PostgreSQLの動作確認... 19

.. クライアント側での動作確認...20

... rsh ... 20

... PostgreSQL... 20

... DBユーティリティーの動作確認... 20

(3)

1 概要

本書ではPKI相互運用テストスイートのインストール方法について説明する。

1.1. 対応プラットフォーム

対象となるプラットフォームは以下の通りである。 Linux

Win32Cygwin環境で動作する)

1.2. 要求されるハードウェア構成

要求されるハードウェアは以下の通り。ネットワークはインターネットに接続で きる必要は無く、どちらも、バーチャルIPの付与を除き一般的な構成である。

サーバー側

Linuxマシン× (RedHat7.3が動作する環境を推奨) ネットワークインタフェース(NIC)× 1

クライアント側

Win32マシン× (Windows 2000,XPが動作する環境を推奨) ネットワークインタフェース(NIC)× 1

LAN内の固定IPアドレスが4つ必要である。

クライアント ウェブブラウザで 各種ユーティティ

参照

テスト対象プログラ for J ava for MS C ryptoA P I

テスト実行スクプト

L DA P 模擬統合 サーバー

L DA P 模擬A s ign2

サーバー

L DA P 模擬G- ID サーバー

NIC NIC

V irtual IP 2

V irtual IP 3 HOS T IP 1

Webサーバ

各種ユーティティ

OC S P ・ シミュレータ

テスト データベース

凡例: IP 割り当て・接続関係 参照関係

サ ーバ ー機

オリジナル テストケース用

サーバー

V irtual IP 4

(4)

2 サーバー側の外部ソフトウェアのインストール

PKI相互運用テストスイートを稼動させるには幾つかのサーバー側、およびクラ イアント側において幾つかのフリーソフトウェア(パブリックドメインソフトウェ ア)のインストールが必要となる。本章では、サーバー側にインストールが必要な外 部ソフトウェアを列挙し、インストール方法について簡単に説明する。

サーバーで必要となるソフトウェアは以下の通りである。 RedHat Linux 7.3

PostgreSQL 7

Apache Web Server 2.x Perl 5

OpenLDAP Server AiCrypto Library rsh

gcc

dumpasn1

2.1. R edHat L inux のインストール

RedHat Linux 7.3 をインストールする。インストールの際にインストールすべ き パ ッ ケ ー ジ の 大 分 類 が 選 択 で き る が 、「 開 発 パ ッ ケ ー ジ 」 は 必 須 、 可 能 な ら ば

GONEKDE」のパッケージをインストールすることを推奨する。ファイヤー ウォールの設定に自信がなければ、ファイヤーウォール(ipchains)をインストー ルしないことを推奨する。

テストスイートでは、サーバー用には、DHCPを使わずに、固定IP アドレスを 4つ必要とし、そのうちの一つをRedHatのインストール時に設定する。

2.2. R edHat のバーチャル IP の設定

PKI テストスイートでは、以下の4つの LDAP サーバーをエミュレートするた めに、1つのサーバー機に対し、最低でも4つの固定IPアドレスが必要となる。

GPKI統合リポジトリ

・ 日本認証サービスA-Sign2リポジトリ

・ セコムトラストネット・パスポートfor G-IDリポジトリ

・ オリジナルテストケース用リポジトリ

なお、バーチャル IP 機能を利用すれば、1つのネットワークインタフェース (NIC)に対して複数のIPアドレスを割り当てることが可能である。

さらにテストスイートでは、以下の2つのシミュレータの動作のために、2つの IPアドレスを必要とする。

OCSPレスポンダシミュレータ

GPKI証明書検証サーバシミュレータ(GCVS)

インストールガイド

(5)

この2つのIPアドレスは、前述の、LDAP用に割り当てる4つのIPアドレスと 同じものであっても良い。

例として、本書ではサーバーホスト名をmmm1とし、1つのNICに対して、以下 の4つのIPアドレスを使うものとする。(192.168.40.101はRedHatのインス トール時に固定IPとして指定したアドレスとする。)

IPアドレス 用途

192.168.40.101 テストサーバー、模擬GPKI統合リポジトリ

192.168.40.102 模擬A-Sign2リポジトリ、OCSPレスポンダシミュレータ 192.168.40.103 模擬G-IDリポジトリ、GCVSシミュレータ

192.168.40.104 オリジナルテストケース用リポジトリ

/etc/hosts ファイルを以下の通りに記述する。 127.0.0.1 mmm1 localhost

192.168.40.101 mmm1 ldap1 dmz-dir.gpki.go.jp

192.168.40.102 ldap2 iso389.jcsinc.go.jp crca.moj.go.jp ocsp 192.168.40.103 ldap3 repository.secomtrust.net cvs

192.168.40.104 ldap4

こ の 例 に お い て 、IP ア ド レ ス 192.168.40.102192.168.40.103、 及 び 192.168.40.104はバーチャルIPアドレスである。そのための設定として、

/etc/sysconfig/network-scripts/ifcfg-eth0:1 /etc/sysconfig/network-scripts/ifcfg-eth0:2 /etc/sysconfig/network-scripts/ifcfg-eth0:3

の3つのファイルを作成する。

/etc/sysconfig/network-scripts/ifcfg-eth0:1 DEVICE=eth0:1

BOOTPROTO=static

IPADDR='192.168.40.102' NETMASK=255.255.255.0 ONBOOT=yes

/etc/sysconfig/network-scripts/ifcfg-eth0:2 DEVICE=eth0:2

BOOTPROTO=static

IPADDR='192.168.40.103' NETMASK=255.255.255.0 ONBOOT=yes

/etc/sysconfig/network-scripts/ifcfg-eth0:3 DEVICE=eth0:2

BOOTPROTO=static

IPADDR='192.168.40.104' NETMASK=255.255.255.0 ONBOOT=yes

(6)

サーバー機を再起動して、ホスト名mmm1、ldap1、ldap2、ldap3およびldap4 に対してpingが通るか等を確認する。

2.3. R P M のインストール

PKI相互運用テストスイートで必要となるRedHatのパッケージ(RPM)は以下の 通りである。(バージョンは以下のもの以降なら構わない)

apache-1.3.23-11

apache-devel-1.3.23-11 apache-manual-1.3.23-11 apacheconf-0.8.2-2

db3-3.3.11-6

Distutils-1.0.2-2 gcc-2.96-113

perl-5.6.1-34.99.6 perl-DBD-Pg-1.01-8 perl-DBI-1.21-1 postgresql-7.2.1-5

postgresql-libs-7.2.1-5 rsh-0.17-5

rsh-server-0.17-5 xinetd-2.3.4-0.8

コマンド入力 $ rpm –qa | sort により現在インストールされているパッケ ージの一覧を参照することができるので、不足しているパッケージがあれば、RPM 配布サイトよりダウンロードし、以下のコマンド入力によりインストールを行う。

$ rpm –ivh [RPMパッケージ]

2.4. OpenL DAP サーバーのインストール

OpenLDAPについては、ソースからのビルドが必要となる。RPM版では標準オ プションでコンパイルされており、--enebale-referrals のオプションがつい て い な い た め に 、LDAP v2 の 問 い 合 わ せ に 対 し て も リ フ ェ ラ ル の 応 答 を 返 す GPKIのテスト環境を再現できないためである。

まず、OpenLDAP の公式サイトより最新版のソースを取得する。動作確認した バージョンは2.1.15リリース版である。

http://www.openldap.org/software/download/

次に以下のコマンドを順に入力し、インストールを行う。

$ tar xvfz openldap-2.1.15.tgz

$ cd openldap-2.1.12/

$ ./configure --enable-referrals --enable-ldbm --disable-bdb

$ make depend

$ make

$ su

# make install インストールガイド

(7)

2.5. AiC rypto のインストール

PKIテストスイートでは鍵ペアや証明書等のデータの生成のために、名古屋工業 大学岩田研究室で開発されたライブラリAiCrypto を使用する。以下のサイトより ダウンロードし、インストールガイドに従ってインストールする。

http://mars.elcom.nitech.ac.jp/security/download.html

※ 動作確認を行ったアーカイブはaicrypto21.tar.gzである。

デフォルトでインストールされるディレクトリは /usr/local/aicaである。 2.6. Dumpasn1 コマンドのインストール

Dumpasn1は、Peter Gutmann氏が作成したソフトウェアである。ASN.1オ ブジェクトのダンプや、構文チェックを行うことが出来る。ソースコードやバイナ リは以下のサイトから入手できる。

http://www.cs.auckland.ac.nz/~pgut001/

dumpasn1.c 及び、dumpasn1.cfg をダウンロードし、以下の手順でコンパイル する。

$ gcc -o dumpasn1 dumpasn1.c

最後に、生成されたバイナリファイル dumpasn1 と、dumpasn1.cfg の両方を、 /usr/local/binにコピーする。サーバー側環境設定

(8)

2.7. P ostgreS QL の設定

1. 共通の環境変数の設定

/etc/profile.d/postgres.shに共通の環境変数設定ファイルを置いておく と、個人で環境変数の設定をする必要がない。以下は設定ファイルの例である。

export PGLIB=/usr/lib/pgsql

export PGDATA=/var/lib/pgsql/data

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB" 2. データベースの初期化と利用ユーザの作成

PostgreSQLを起動する前にデータベースの初期化を行う。

# su - postgres

$ initdb -D $PGDATA

3. 認証設定ファイルの編集

認 証 設 定 フ ァ イ ル$PGDATA/pg_hba.conf を 編 集 し 、 以 下 の 記 述 を 行 う 。 IP-ADDRESSIP-MASKについては、実際にサーバ・クライアントマシンが所属 するネットワークセグメントに応じて適宜変更する。

# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD

local all all trust

host all all 127.0.0.1 255.255.255.0 trust

host all all 192.168.1.0 255.255.255.0 trust

4. PostgreSQLの起動

以下のコマンドを入力することで、Pos t gr eSQL を起動できる。また、テストスイート の利用ユーザ(以下の例では、username)、apache 及び root のアカウントを、 PostgreSQLの利用ユーザとして登録する。

$ su

# /etc/rc.d/init.d/postgresql start

# /sbin/chkconfig --add postgres

# su - postgres

$ createuser username

Shall the new user be allowed to create databases? (y/n) y Shall the new user be allowed to create more new users? (y/n) y CREATE USER

# createuser apache

Shall the new user be allowed to create databases? (y/n) n Shall the new user be allowed to create more new users? (y/n) n CREATE USER

# createuser root

Shall the new user be allowed to create databases? (y/n) y Shall the new user be allowed to create more new users? (y/n) n CREATE USER

インストールガイド

(9)

2.8. rshd の設定

/etc/xinetd.d/{rsh,rexec}2つのファイルにおいて、「disable = yesと設定され ている場合は、「disable = no」に修正する。さらに、xinetdを再起動する。

$ su

# /etc/init.d/xinetd restart

サーバマシンの起動時に自動的に xinetd を起動するようにしたければ、以下の コマンドを実行する。

# /sbin/chkconfig –-level=35 xinetd on

テストを行うクライアントマシンからrshコマンドが使えるように、テストを行 うユーザ(以下の例ではusername)の$HOME/.rhostsファイルにクライアント マシン(以下の例ではmmm2)及びサーバマシン(mmm1)のIPアドレスかホス ト名をそれぞれ改行区切りで登録し、ファイルパーミッションを設定する。

$ cd ~

$ vi .rhosts mmm1

mmm2

$ chmod 400 .rhosts

最後に、クライアントマシンからrshコマンドによってサーバマシンを利用でき ることを確認する。

2.9. 環境変数の設定

サーバ側でのテストスイートの実行にあたっては、以下に示す環境変数を設定す る必要がある。これらの環境変数設定を、例えば利用者のホームディレクトリにあ る.bashrcなどに書いておくことを推奨する。以下は、.bashrcファイルで環境変数 を設定する例である(my_nameはテスト実行ユーザのアカウント)。

export PKITESTROOT=/home/my_name/pki14y export PKITESTDB=jnsaipa0833

サーバ側で用いる環境変数の一覧

環境変数名 説明

PKITESTROOT テスト環境のルートディレクトリ(必須)

/home/my_name/pki14yなどに設定

PKITESTDB テストケースの納められたデータベース名(必須)

デフォルトでは、jnsaipa0833という名前になる

PKITESTDB_USER データベースに接続する際のユーザ名(必須ではない。デフォ

ルトはNULL

PKITESTDB_PASSWD データベースに接続する際のパスワード(必須ではない。デフ

ォルトはNULL

(10)

3 クライアント側の外部ソフトウェアのインストール

Windowsクライアントマシンでは、Unix環境をエミュレートするCygwinとい うソフトウェアを利用する。クライアント側で必要となる外部ソフトウェアは以下 の通りである。

cygwin

default setup packages (bash, cp, mv, …等、基本コマンド) inetutils (rsh)

perl5 gcc

テスト用にあると便利なパッケージ openssh(client)

openssl(client) PostgreSQL(client) Perlモジュール

DBI DBD::Pg

注:ActivePerl での動作は確認していないため、推奨しない。 3.1. C ygwin とC ygwin パッケージのインストール

Cygwinと必要なパッケージのインストール手順を述べる。 i. Cygwinは米RedHatのサイトにおいて配布されている。

以下のURLを開き、「Install now!」の画像をクリックし、setup.exeをダウンロ ードする。

http://sources.redhat.com/cygwin/

ii. ダウンロードしたsetup.exeを実行すると、ダイアログが現れるので、「次へ」 をクリックする。

iii. Choose A Download Sourceのダイアログが現れたら、適宜ダウンロード元 を選択し(「Install from Internet」を推奨)「次へ」をクリックする。

iv. Select Root Install Directoryのダイアログでは、Root Directoryでイン ストール先ディレクトリを入力し、「Install ForCygwinを利用可能なユー ザを選び(All Users」を推奨)、「Default Text File Type」でファイルの改行 形式を選択する。(Unix」を推奨)「次へ」をクリックする。

v. Select Local Package Directory」ダイアログで、ダウンロードしたファイル の置き場所を指定する。そして、「次へ」をクリックする。

vi. インターネットからのダウンロードを指定した場合、プロキシなど接続方法を 指定する。そして、「次へ」をクリックする。

vii. Choose Download Siteでは、パッケージをダウンロードする元を指定する。 インストールガイド

(11)

サイトによっては、全てのパッケージがそろわない場合もあるので、インスト ールできなかった残りのパッケージのインストール作業を何回か繰り返すこと に な る か も し れ な い 。 日 本 か ら は 、 比 較 的 高 速 で モ ジ ュ ー ル も 揃 っ て い る ring.asahi-net.or.jpring.aist-net.or..jpなどを推奨する。

viii. Select Packagesで、先に列挙した必要なパッケージをインストールするよ う選択していることを確認する。リスト表示は「View」ボタンを何回かクリッ クすることによりアルファベット順表示にしたほうが探しやすい。Newのカラ ムで「Skip」となっているとそれはインストールされないので、そこをクリッ クしバージョン番号が表示されるようにする。選び終えたら「次へ」をクリッ クすると、インターネットに接続し必要なパッケージをダウンロードし、イン ストールが始まる。

ix. ショートカットやメニューなど登録するか最後に尋ねるので、必要ならチェッ クすれば、セットアップは終了である。

3.2. P erl モジュールのインストール

データベース関連の Perl のモジュールは、ソースからビルドしてインストール する必要がある。必要なモジュールは。

DBI DBD-Pg

2つである。以下にインストール手順を述べる。

i. CPANサイトの以下のURLを開き、DBI」と入力し、検索する。 http://search.cpan.org/

ii. 検索結果のバージョン番号のついたリンク(例:「DBI-1.32)をクリックし、 [Download]の リ ン ク を ク リ ッ ク し ア ー カ イ ブ を ダ ウ ン ロ ー ド す る 。(例 : DBI-1.32.tar.gz)

iii. 同様に「DBD-Pg」と入力して検索し、DBD-Pg」をダウンロードする。(例: DBD-Pg-1.21.tar.gz)

iv. DBDのアーカイブを解凍し、そのディレクトリに移動する。 C:¥> bash

bash% tar xvfz DBI-1.32.tar.gz bash% cd DBI-1.32

v. コンパイル、テスト、及びインストールを行う。 bash% perl Makefile.PL

bash% make

bash% make test bash% make install

vi. DBD-Pg DBD

(12)

4 クライアント側環境設定

4.1. HOS T S ファイルの設定

ホスト名のIPアドレスの設定ファイルHOSTS に以下の通りに設定する。 (例として、2. 節ホスト側の設定例に対応した値となっている。クライアント のホスト名をmmm2と仮定する。)

127.0.0.1 mmm2 localhost

192.168.40.101 mmm1 ldap1 dmz-dir.gpki.go.jp

192.168.40.102 ldap2 iso389.jcsinc.go.jp crca.moj.go.jp ocsp 192.168.40.103 ldap3 repository.secomtrust.net cvs

192.168.40.104 ldap4

※ 参考:

HOSTSファイルは、Windows 2000では、 C:¥ WINNT¥ system32¥ drivers¥ etc Windows XP では

C:¥ WINDOWS¥ system32¥ drivers¥ etc に置かれている。

4.2. 環境変数の設定

クライアント側で設定する環境変数を以下に示す。サーバと同様、これらの環境 変数設定を、例えば/etc/profile.d/gpki.sh や、利用者のホームディレクトリにあ る.bashrcなどに書いておくことを推奨する。

クライアント側で用いる環境変数

環境変数名 説明

PKITESTROOT テスト環境のルートディレクトリ(テスト結果ローダを起動する

場合のみ必須)※

サ ー バ と ク ラ イ ア ン ト が 同 一 の マ シ ン の 場 合 、 サ ー バ の PKITESTROOTと同じディレクトリとなる。

PKITESTPROGRAM テスト対象プログラムのパス(必須)※

実行するテスト対象プログラムによって異なる。

PKITESTDATA データディレクトリのパス(必須ではないが、設定しておく

ことを推奨)※

PKITESTRESULT Resultディレクトリのパス(必須ではないが、設定しておくこ

とを推奨)

PKIRHOST サーバマシンのホスト名(オンラインモードでの実行時必須)

PKIREMOTEROOT サーバマシンにおけるPKITESTROOT(オンラインモードで

の実行時必須)

RSH rshコマンドのパス(デフォルトは/usr/bin/rsh

cygwin を 利 用 し て テ ス ト を 実 行 す る 場 合 、 PKITESTROOT PKITESTPROGRAM及びPKITESTDATAのパスはWindowsの形式(ドラ イブレター:/ディレクトリ/.../ファイル名)で指定する必要がある。

インストールガイド

(13)

以下は、クライアントがLinuxマシンであるときに、.bashrcファイルを用いて 環境変数を設定する例である(my_nameはテスト実行ユーザのアカウント)。

export PKITESTROOT=/home/my_name/pki14y

export PKITESTPROGRAM=/usr/local/ChallengePKI2002/gpkiverify export PKITESTDATA=$PKITESTROOT/Data

export PKITESTRESULT=$PKITESTROOT/Result export PKIRHOST=mmm1

export PKIREMOTEROOT=/home/my_name/pki14y export RSH=/usr/bin/rsh

以下は、クライアントがWindowsマシンであるときに、Cygwin.bashrcを用 いて環境変数を設定する例である(my_nameはテスト実行ユーザのアカウント)。

export PKITESTROOT=c:/cygwin/home/my_name/pki14y export PKITESTPROGRAM=$HOME/pkiic/pkiicver.exe export PKITESTDATA=$PKITESTROOT/Data

export PKITESTRESULT=$PKITESTROOT/Result export PKIRHOST=mmm1

export PKIREMOTEROOT=/home/my_name/pki14y export RSH=/usr/bin/rsh

クライアントマシンとサーバマシンが同一のマシンである場合は、3.3節で示 したサーバマシン用の環境変数と、本節で示したクライアントマシン用の環境変数 の両方を設定する必要がある。以下はその例である(my_name はテスト実行ユー ザのアカウント)。

# server settings

export PKITESTROOT=/home/my_name/pki14y export PKITESTDB=jnsaipa0833

# client settings

export PKITESTPROGRAM=/usr/local/ChallengePKI2002/gpkiverify export PKITESTDATA=$PKITESTROOT/Data

export PKITESTRESULT=$PKITESTROOT/Result export PKIRHOST=mmm1

export PKIREMOTEROOT=/home/my_name/pki14y export RSH=/usr/bin/rsh

(14)

5 サーバーでのテストスイートのインストール

PKIテストスイートのアーカイブを取得し、ルート権限で以下の手順でインスト ールする。(最新のアーカイブは pki14y-1.0.0.tar.gzであるとする。)

i. アーカイブの解凍を行う。

$ mv pki14y-1.0.0.tar.gz /tmp

$ cd /tmp

$ tar xvfz pki14y-1.0.0.tar.gz

$ cd pki14y-1.0.0

ii. configureスクリプトの実行

マシンの環境やインストール先を指定するために、以下に説明するオプションを 指定してconfigureスクリプトを実行する。--help オプションでも簡単な全オプシ ョンの説明が表示される。

--prefix=テストスイートのインストール先

/usr/local/pki14y を推奨。デフォルトは/usr/local/pki14y --enable-setwwwdoc=Apacheのドキュメントルート

Apache Web Server のドキュメントルートディレクトリを指定する。 通 常 は/var/www/htdocs あ る い は/var/www/html な ど 。 デ フ ォ ル ト は /var/www/htdocs あるいは /var/www/html の存在する方。

--enable-setwwwcgi=ApacheCGIディレクトリ Apache Web ServerのCGIディレクトリを指定する。

通常は/var/www/cgi-bin。デフォルトは /var/www/cgi-bin が存在すれ ば、そのディレクトリ名。

--enable-setaica=AiCrpytoのインストールされたディレクトリ AiCryptoライブラリのインストールされているディレクトリを指定する。 通常は/usr/local/aica。デフォルトは /usr/local/aica

--enable-testdb

テストケースのデータベースのインストール先データベース名。デフォルトは jnsaipa0833

--enable-distdb

開発者向け:配布用データベースダンプの取得元データベース名。デフォルト はjnsaipa0833

通常のパッケージを使っている場合、オプション無しで configure スクリプトを 実行すればよい。

$ ./configure

インストール環境によっては、以下のようにオプションを指定することもできる。

$ ./configure ¥

--prefix=/usr/local/pki14y ¥

--enable-setwwwdoc=/usr/local/apache/htdocs ¥ --enable-setwwwcgi=/usr/local/apache/cgi-bin ¥ --enable-setaica=/usr/share/aica

インストールガイド

(15)

iii. ツールのコンパイル

証明書や鍵生成のためのコマンドのコンパイルを行う。

$ make

iv. ファイルのインストール

全てのファイルをインストールするために、以下のコマンドを実行する。

$ su

# make install

以上で、テストスイートのインストールは完了となる。最後に、テストを実行す るユーザのホームディレクトリへ、/usr/local/pki14y以下に存在するテストス イ ー ト を コ ピ ー す る 。 作 業 は テ ス ト を 実 行 する ユ ー ザ の 権 限 で 行 う 。 以 下 で は 、 my_nameという名前のユーザがテストを実行するものとする。

$ cd

$ cp -r /usr/local/pki14y ./pki14y

この場合、/home/my_name/pki14y が、3.3節で示したサーバの環境変数 PKITESTROOT及び、5.2節で示したクライアントの環境変数PKIREMOTEROOT で示すべきディレクトリとなる。

テスト実行ユーザは複数であってもかまわない。その場合、それぞれの実行ユー ザの権限で、ホームディレクトリ内にテストスイートを用意する必要がある。

(16)

6 サーバーにおけるテストスイートの環境設定 設定はルート権限でおこなう。

6.1. OpenL DAP の設定

デフォルトインストールの場合、次のディレクトリ以下に、テストスイートを実 行するために必要なOpenLDAPの設定ファイルが納められている。

/usr/local/pki14y/sample.config/usr/local/etc/openldap

以下は、openldapの各種設定ファイル・ディレクトリである。

slapd1.conf GPKI統合リポジトリ設定ファイル

slapd2.conf 日本認証サービスA-Sign2リポジトリ設定ファイル

slapd3.conf パスポートfor G-IDリポジトリ設定ファイル

slapd4.conf オリジナルテストケース用リポジトリ設定ファイル

schema/ スキーマファイルが納められたディレクトリ

これらのファイル・ディレクトリは、/usr/local/etc/openldap以下にコピ ーする。

# cp –r /usr/local/pki14y/sample.config/usr/local/etc/openldap/* ¥ /usr/local/etc/openldap

# chmod 640 /usr/local/etc/openldap/slapd?.conf

# chmod 444 /usr/local/etc/openldap/schema/*

次に、4つのリポジトリのための作業ディレクトリを作成する。これらのディレ クトリの所有者は、ldapとしておく(アカウントが存在しない場合は作成)。

# mkdir /var/lib/ldap1 /var/lib/ldap2 /var/lib/ldap3 /var/lib/ldap4

# mkdir /var/run/openldap

# chown ldap:ldap /var/lib/ldap?

# chown ldap:ldap /var/run/openldap

# chmod 755 /var/run/openldap

最後に、ldapの起動管理スクリプトを準備する。起動管理スクリプトは、デフォ ルトでは次の場所に用意されている。

/usr/local/pki14y/sample.config/etc/init.d/ldap

このファイルを、/etc/rc.d/init.dにコピーし、動作確認をする。

# cp /usr/local/pki14y/sample.config/etc/init.d/ldap /etc/rc.d/init.d

# chmod 755 /etc/rc.d/init.d/ldap

# /etc/rc.d/init.d/ldap status slapdは停止しています

/etc/rc.d/init.d/ldap start

slapdを起動中: [ OK ]

マシンを再起動した際もldapサーバが起動するように、chkconfigコマンドを 実行しておくことを推奨する。

# /sbin/chkconfig --add ldap

インストールガイド

(17)

6.2. OC S P レスポンダシミュレータ・GC V S シミュレータの設定

OCSPレスポンダシミュレータ及びGCVSシミュレータ(GPKI証明書検証サー バシミュレータ)は、どちらもCGIプログラムである。これらは、apacheのバー チャルホスト機能を使って、特定のポートへのアクセスを受け付けるように設定す る必要がある。従ってこれらのプログラムを設定するためには、apache の設定フ ァイルであるhttpd.confを編集する必要がある。

デ フ ォ ル ト イ ン ス ト ー ル が さ れ て い れ ば 、 サ ン プ ル と し て 、 以 下 の 場 所 に httpd.confファイルが置かれている。

/usr/local/pki14y/sample.config/etc/httpd/conf/httpd.conf

このファイルを、以下の要領で編集し、/etc/httpd/conf/httpd.confと置 き換えることで、OCSP レスポンダシミュレータ及び GCVS シミュレータを動作さ せることができる。

i ServerNameの設定

サンプルファイル450行目にある ServerNameの設定を、実際のサーバ名に書 き換える。

ServerName mmm1

ii. Listenアドレス・ポートの設定

httpd.conf のサンプルファイル 180 行目に、以下の記述がある。ここに書か れ て い る IP ア ド レ ス は 、 本 書 で 仮 定 し た ア ド レ ス で あ る 。 従 っ て

「192.168.40.103」を、サーバに割り当てた実際のIPアドレスに書き換える必 要がある。なお、ポート番号(コロン「:」以降の番号)は、変更する必要がない。

Listen 192.168.40.103:2401 Listen 192.168.40.103:2402 Listen 192.168.40.103:2403 Listen 192.168.40.103:2404 Listen 192.168.40.103:2405 Listen 192.168.40.103:2406 Listen 192.168.40.103:2407 Listen 192.168.40.103:2408 Listen 192.168.40.103:2409

iii cgi-binの設定

デフォルト以外の設定でインストールを行った場合は、cgi-bin ディレクトリ の位置(デフォルトでは/var/www/cgi-bin)を、適切な値に書き換える。デフ ォルトインストールであれば、この作業は必要ない。

iv. VirtualHostの設定

サンプルファイル1232行目に、次の記述がある。ここで書かれているIPアドレ

(18)

スを、サーバに実際に割り当てた実際の IP アドレスに書き換える。ポート番号の 変更は不要である。

<VirtualHost 192.168.40.102:80> ServerAdmin root@localhost

DocumentRoot /var/www/cgi-bin/ocsp ServerName ocsp

<Directory /var/www/cgi-bin/ocsp> AddHandler cgi-script .cgi .confirm Options Indexes FollowSymLinks ExecCGI

</Directory>

</VirtualHost>

<VirtualHost 192.168.40.103:2401> ServerAdmin root@localhost

DocumentRoot /var/www/cgi-bin/cvs ServerName cvs

<Directory /var/www/cgi-bin/cvs> AddHandler cgi-script .cgi

Options Indexes FollowSymLinks ExecCGI

</Directory>

</VirtualHost>

<VirtualHost 192.168.40.103:2402> ServerAdmin root@localhost

DocumentRoot /var/www/cgi-bin/cvs ServerName cvs

<Directory /var/www/cgi-bin/cvs> AddHandler cgi-script .cgi

Options Indexes FollowSymLinks ExecCGI

</Directory>

</VirtualHost>

...(途中略)...

<VirtualHost 192.168.40.103:2409> ServerAdmin root@localhost

DocumentRoot /var/www/cgi-bin/cvs ServerName cvs

<Directory /var/www/cgi-bin/cvs> AddHandler cgi-script .cgi

Options Indexes FollowSymLinks ExecCGI

</Directory>

</VirtualHost> v. ファイルのコピー

既にあるhttpd.confのバックアップをとり、新しいファイルをコピーする。

# mv /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.orig

# cp /usr/local/pki14y/sample.config/etc/httpd/conf/httpd.conf ¥ /etc/httpd/conf/httpd.conf

以上で、OCSPレスポンダシミュレータ及びGCVSシミュレータを動作させるた めの、apacheの設定が完了する。

インストールガイド

(19)

次に、以下のコマンドを実行しapacheを再起動する。

# /etc/rc.d/init.d/httpd restart

最後に、以下のURLを参照し、OCSPレスポンダシミュレータCGI及びGCVS シミュレータCGIが動作していることを確認する。ただしURLに書かれたIP ア ドレスは、実際にサーバに割り当てられたアドレスを記述する。

(1) ブラウザで「http://192.168.40.102/」を表示する。

「Welcome to OCSP responder simulator」と表示されれば、OCSPレス ポンダシミュレータが正常に動作していることを示す。

(2)ブラウザで以下のURLを順に表示する。

http:// 192.168.40.103:2401 http:// 192.168.40.103:2402 http:// 192.168.40.103:2403 http:// 192.168.40.103:2404 http:// 192.168.40.103:2405 http:// 192.168.40.103:2406 http:// 192.168.40.103:2407 http:// 192.168.40.103:2408 http:// 192.168.40.103:2409

9つのURLのいずれも、「Welcome to CVS Simulator(port xxxx)」と表 示されれば、GCVS シミュレータが正常に動作していることを示す。ただし xxx の部分には、アクセスした際のポート番号が表示される。

(20)

7 トラブルシューティング

以上でテストスイートを実行できる環境は整った事になり、以降、マニュアル「コ マンド実行方法」に従ってテストを行う。テストが動作しない場合には、本節で述 べるチェック事項に従って動作確認を行う。

7.1. サーバー側での動作確認

7.1.1. L DAP の動作確認

root権限で以下のコマンドを実行することで、プロセスが起動しているかどうか を確認できる。以下は、正常な場合の実行例である。なお、実行する環境によって プロセスIDは異なる。

# /etc/rc.d/init.d/ldap status

slapd (pid 6248 6247 6245 6244 6243 6238 6237 6236 6231 6230 6229 6224) を実行中...

# ps -wx | grep slapd

6224 ? S 0:00 /usr/local/libexec/slapd -f /usr/local/etc/openldap/slapd1.conf -h ldap://ldap1 -n slapd1 6229 ? S 0:00 /usr/local/libexec/slapd -f /usr/local/etc/openldap/slapd1.conf -h ldap://ldap1 -n slapd1 6230 ? S 0:00 /usr/local/libexec/slapd -f /usr/local/etc/openldap/slapd1.conf -h ldap://ldap1 -n slapd1 6231 ? S 0:00 /usr/local/libexec/slapd -f /usr/local/etc/openldap/slapd2.conf -h ldap://ldap2 -n slapd2 6236 ? S 0:00 /usr/local/libexec/slapd -f /usr/local/etc/openldap/slapd2.conf -h ldap://ldap2 -n slapd2 6237 ? S 0:00 /usr/local/libexec/slapd -f /usr/local/etc/openldap/slapd2.conf -h ldap://ldap2 -n slapd2 6238 ? S 0:00 /usr/local/libexec/slapd -f /usr/local/etc/openldap/slapd3.conf -h ldap://ldap3 -n slapd3 6243 ? S 0:00 /usr/local/libexec/slapd -f /usr/local/etc/openldap/slapd3.conf -h ldap://ldap3 -n slapd3 6244 ? S 0:00 /usr/local/libexec/slapd -f /usr/local/etc/openldap/slapd3.conf -h ldap://ldap3 -n slapd3 6245 ? S 0:00 /usr/local/libexec/slapd -f /usr/local/etc/openldap/slapd4.conf -h ldap://ldap4 -n slapd4 6247 ? S 0:00 /usr/local/libexec/slapd -f /usr/local/etc/openldap/slapd4.conf -h ldap://ldap4 -n slapd4 6248 ? S 0:00 /usr/local/libexec/slapd -f /usr/local/etc/openldap/slapd4.conf -h ldap://ldap4 -n slapd4

一般ユーザ権限で以下の通りにリポジトリの初期化コマンドを入力することで、 LDAPサーバへの情報の登録削除が正常に行えるかどうかを確認できる。以下は、 正常に通信が行われている場合の実行例である。

$ cd $PKITESTROOT/bin

$ ./lflush.sh

erasing all repositories... ldap_search: No such object

Delete Result: No such object (32) ldap_search: No such object

Delete Result: No such object (32) ldap_search: No such object

Delete Result: No such object (32) ldap_search: No such object

Delete Result: No such object (32) ldap_search: No such object

Delete Result: No such object (32) contacting to ldap1...

ldap_init( ldap1, 0 ) contacting to ldap2... ldap_init( ldap2, 0 ) contacting to ldap3... ldap_init( ldap3, 0 ) contacting to ldap4... ldap_init( ldap4, 0 )

<OK>

※ 「No such object」のエラーは初めに初期化するときだけ表示される。

※ 最終的に「<OK>」と表示されれば、正常に初期化が行われている。 インストールガイド

(21)

次に、サーバから以下の通りに ldapsearch コマンドを入力することで、各リポ ジトリに正常に情報が登録されているかどうかを確認することが出来る。以下は、 初期化コマンドによって情報が正常に登録されている場合の実行結果である。

GPKI統合リポジトリ(ldap1)

$ ldapsearch -h ldap1 -x -b "c=JP" -LLL "o=*" dn: o=Japanese Government,c=JP

objectClass: top

objectClass: organization o: Japanese Government

# refldap://ldap2/o=Japan%20Certification%20Services,c=JP??sub

# refldap://ldap3/o=SECOM%20Trust.net%20Co.%5C2C%20Ltd.,c=JP??sub

・日本認証サービスA-Sign2リポジトリ(ldap2)

$ ldapsearch -h ldap2 -x -b "c=JP" -LLL "o=*" dn: o=Japan Certification Services,c=JP

objectClass: top

objectClass: organization o: Japan Certification Services

# refldap://ldap1/o=Japanese%20Government,c=JP??sub

・パスポートfor G-IDリポジトリ(ldap3)

$ ldapsearch -h ldap3 -x -b "c=JP" -LLL "o=*" dn: o=SECOM Trust.net Co.¥2C Ltd.,c=JP

objectClass: top

objectClass: organization o: SECOM Trust.net Co., Ltd.

# refldap://ldap1/o=Japanese%20Government,c=JP??sub

・オリジナルテストケース用リポジトリ(ldap4)

$ ldapsearch -h ldap4 -x -b "c=JP" -LLL "o=*" dn: o=OriginalTest,c=JP

objectClass: top

objectClass: organization o: OriginalTest

7.1.2. P ostgreS QL の動作確認

psqlコマンドを用いることで、データベースが正常に動作していることを確認で きる。以下は、正常に動作している場合の実行結果である。

(22)

$ su postgres

$ psql jnsaipa0833

Welcome to psql, the PostgreSQL interactive terminal. Type: ¥copyright for distribution terms

¥h for help with SQL commands

¥? for help on internal slash commands

¥g or terminate with semicolon to execute query

¥q to quit jnsaipa0833=# ¥d

List of relations

Name | Type | Owner

---+---+--- cert | table | postgres cert_path | table | postgres cert_value | table | postgres

crl | table | postgres

crl_value | table | postgres keypair | table | postgres ocsp | table | postgres ocsp_value | table | postgres test_case | table | postgres test_category | table | postgres test_object | table | postgres test_result | table | postgres test_result_detail | table | postgres (13 rows)

postgres =#

7.2. クライアント側での動作確認

7.2.1. rsh

クライアント側からサーバーへrshできるか確認する。

$ rsh サーバーホスト名

7.2.2. P ostgreS QL

PostgreSQL のクライアントがインストールされていれば、サーバーのデータベ ースに接続できるか確認する。

7.2.3. DB ユーティリティーの動作確認

クライアントのウェブブラウザで以下の URL により「各種ユーティリティー」 のCGI.が参照できるか確認する。

http://サーバーホスト名/cgi-bin/gpkitdm_index.cgi

インストールガイド

参照

関連したドキュメント

Section 4 contains the main results of this paper summarized in Theorem 4.1 that establishes the existence, uniqueness, and continuous dependence on initial and boundary data of a

&lt; &gt;内は、30cm角 角穴1ヶ所に必要量 セメント:2.5(5)&lt;9&gt;kg以上 砂 :4.5(9)&lt;16&gt;l以上 砂利 :6 (12)&lt;21&gt; l

Views of Kazunogawa Hydroelectric Power Station Dams &lt;Upper dam (Kamihikawa dam)&gt;. &lt;Lower dam

[r]

Type of notification: Customers must notify ON Semiconductor (&lt;PCN.Support@onsemi.com &gt;) in writing within 90 days of receipt of this notification if they consider

Type of notification: Customers must notify ON Semiconductor (&lt;PCN.Support@onsemi.com &gt;) in writing within 90 days of receipt of this notification if they consider

Type of notification: Customers must notify ON Semiconductor (&lt;PCN.Support@onsemi.com &gt;) in writing within 90 days of receipt of this notification if they consider

When value of &lt;StThr[3:0]&gt; is different from 0 and measured back emf signal is lower than &lt;StThr[3:0]&gt; threshold for 2 succeeding coil current zero−crossings (including