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

証明書検証サーバの概要

N/A
N/A
Protected

Academic year: 2021

シェア "証明書検証サーバの概要"

Copied!
22
0
0

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

全文

(1)

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

インストールガイド

Version 1.0

2003 年 3 月

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

(2)

1 概要 ...1 1.1. 対応プラットフォーム ...1 1.2. 要求されるハードウェア構成 ...1 2 サーバー側の外部ソフトウェアのインストール ...2 2.1. RedHat Linux のインストール ...2 2.2. RedHat のバーチャル IP の設定 ...2 2.3. RPM のインストール...4 2.4. OpenLDAP サーバーのインストール ...4 2.5. PostgreSQL のインストール...エラー! ブックマークが定義されていません。 2.6. AiCrypto のインストール ...5 2.7. Dumpasn1 コマンドのインストール ...5 3 サーバー側環境設定 ...5 3.1. PostgreSQL の設定...6 3.2. rshd の設定...7 3.3. 環境変数の設定 ...7 4 クライアント側の外部ソフトウェアのインストール...8 4.1. Cygwin と Cygwin パッケージのインストール...8 4.2. Perl モジュールのインストール...9 5 クライアント側環境設定 ...10 5.1. HOSTS ファイルの設定...10 5.2. 環境変数の設定 ...10 6 サーバーでのテストスイートのインストール ...12 7 サーバーにおけるテストスイートの環境設定 ...14 7.1. OpenLDAP の設定 ...14 7.2. OCSP レスポンダシミュレータ・GCVS シミュレータの設定 ...15 8 トラブルシューティング ...18 8.1. サーバー側での動作確認 ...18 8.1.1. LDAP の動作確認... 18 8.1.2. PostgreSQL の動作確認 ... 19 8.2. クライアント側での動作確認 ...20 8.2.1. rsh ... 20 8.2.2. PostgreSQL... 20 8.2.3. DB ユーティリティーの動作確認 ... 20

(3)

1 概要 本書では PKI 相互運用テストスイートのインストール方法について説明する。 • • 1.1. 対応プラットフォーム 対象となるプラットフォームは以下の通りである。 Linux Win32(Cygwin 環境で動作する) 1.2. 要求されるハードウェア構成 要求されるハードウェアは以下の通り。ネットワークはインターネットに接続で きる必要は無く、どちらも、バーチャル IP の付与を除き一般的な構成である。 サーバー側 Linux マシン×1(RedHat7.3 が動作する環境を推奨) ネットワークインタフェース(NIC)×1 クライアント側 Win32 マシン×1(Windows 2000,XP が動作する環境を推奨) ネットワークインタフェース(NIC)×1 ※LAN 内の固定 IP アドレスが4つ必要である。 クライアント機 ウェブブラウザで 各種ユーティリティー 参照 テスト対象プログラム for Java for MS CryptoAPI テスト実行スクリプト LDAP 模擬統合 サーバー LDAP 模擬Asign2 サーバー LDAP 模擬G-ID サーバー

NIC NIC Virtual IP2 Virtual IP3 HOST IP1 Webサーバ 各種ユーティリティ OCSP・GCVS シミュレータ テスト データベース 凡例: IP割り当て・接続関係 参照関係 サーバー機 オリジナル テストケース用 サーバー Virtual IP4

(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. RedHat Linux のインストール RedHat Linux 7.3 をインストールする。インストールの際にインストールすべ きパッケージの大分類が選択できるが、「開発パッケージ」は必須、可能ならば 「GONE、KDE」のパッケージをインストールすることを推奨する。ファイヤー ウォールの設定に自信がなければ、ファイヤーウォール(ipchains)をインストー ルしないことを推奨する。 テストスイートでは、サーバー用には、DHCP を使わずに、固定 IP アドレスを 4つ必要とし、そのうちの一つを RedHat のインストール時に設定する。 2.2. RedHat のバーチャル 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.102 、 192.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. RPM のインストール 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. OpenLDAP サーバーのインストール 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

(7)

2.5. AiCrypto のインストール 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. PostgreSQL の設定 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-ADDRESSとIP-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 の起動

以下のコマンドを入力することで、PostgreSQL を起動できる。また、テストスイート

の利用ユーザ(以下の例では、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. Cygwin と Cygwin パッケージのインストール 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 For」で Cygwin を利用可能なユー

ザを選び(「All Users」を推奨)、「Default Text File Type」でファイルの改行 形式を選択する。(「Unix」を推奨)「次へ」をクリックする。

v. 「Select Local Package Directory」ダイアログで、ダウンロードしたファイル

の置き場所を指定する。そして、「次へ」をクリックする。

vi. インターネットからのダウンロードを指定した場合、プロキシなど接続方法を

指定する。そして、「次へ」をクリックする。

(11)

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

viii. 「Select Packages」で、先に列挙した必要なパッケージをインストールするよ う選択していることを確認する。リスト表示は「View」ボタンを何回かクリッ クすることによりアルファベット順表示にしたほうが探しやすい。New のカラ ムで「Skip」となっているとそれはインストールされないので、そこをクリッ クしバージョン番号が表示されるようにする。選び終えたら「次へ」をクリッ クすると、インターネットに接続し必要なパッケージをダウンロードし、イン ストールが始まる。 ix. ショートカットやメニューなど登録するか最後に尋ねるので、必要ならチェッ クすれば、セットアップは終了である。 3.2. Perl モジュールのインストール データベース関連の 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

(12)

4 クライアント側環境設定 4.1. HOSTS ファイルの設定 ホスト名の IP アドレスの設定ファイル HOSTS に以下の通りに設定する。 (例として、2.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=ApacheのCGIディレクトリ

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. OpenLDAP の設定 デフォルトインストールの場合、次のディレクトリ以下に、テストスイートを実 行するために必要な 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コマンドを 実行しておくことを推奨する。

(17)

6.2. OCSP レスポンダシミュレータ・GCVS シミュレータの設定 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. LDAP の動作確認 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. PostgreSQL の動作確認 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. PostgreSQL PostgreSQL のクライアントがインストールされていれば、サーバーのデータベ ースに接続できるか確認する。 7.2.3. DB ユーティリティーの動作確認 クライアントのウェブブラウザで以下の URL により「各種ユーティリティー」 の CGI.が参照できるか確認する。 http://サーバーホスト名/cgi-bin/gpkitdm_index.cgi

参照

関連したドキュメント

解析の教科書にある Lagrange の未定乗数法の証明では,

 リスク研究の分野では、 「リスク」 を検証する際にその対になる言葉と して 「ベネフ ィッ ト」

FSIS が実施する HACCP の検証には、基本的検証と HACCP 運用に関する検証から構 成されている。基本的検証では、危害分析などの

紀陽インターネット FB へのログイン時の認証方式としてご導入いただいている「電子証明書」の新規

※証明書のご利用は、証明書取得時に Windows ログオンを行っていた Windows アカウントでのみ 可能となります。それ以外の

しかし , 特性関数 を使った証明には複素解析や Fourier 解析の知識が多少必要となってくるため , ここではより初等的な道 具のみで証明を実行できる Stein の方法

すべての Web ページで HTTPS でのアクセスを提供することが必要である。サーバー証 明書を使った HTTPS

検証の実施(第 3 章).. 東京都環境局