本章では、RMSの運用に当たってより高度な設定を行う方法について説明します。具体的にはRMS-RMC間のメールの暗号化と認証を有効にする方法、およびRMSシステム関連の詳細設定方法について説明します。
5.1 メールの暗号化(gnupg)の基本設定
本項では、RMS−RMC間の通信において、PGPによる電子メールの暗号化と認証を使用する場合に必要な設定を説明します。
 |
鍵の生成作業は、必ずローカルコンソールで実行してください。 |
|
■アカウントの切り替え
RMSをインストールすると、RMSを稼動させるためのアカウントrmsが作成されます。このアカウントは、セキュリティの観点からログインに制限がついているため、以下のコマンドを実行して一時的に制限を解除します。
/usr/sbin/rmssl low
上記コマンドを実行すると、rmsアカウントのパスワードを設定するように入力を求められますので、適当なパスワードを設定してください。PGP関連の処理をするため、次のようにアカウントをrootからrmsに切り替えます。
su - rms
アカウントがrmsに切り替わったことを確認するには、以下のコマンドを実行します。アカウントが切り替わっている場合は、”rms” が表示されます。
whoami
■PGP鍵の作成
ここでは、gnupgを想定して鍵の生成を説明します。
 |
鍵の生成作業は、必ず上記のrmsアカウントで行ってください。鍵生成時のアカウントとRMSを起動するアカウントが異なった場合、暗号化を使用したRMCとの通信ができなくなります。 |
|
以下のコマンドを実行して、鍵の生成を行います。
gpg --gen-key
@ この鍵で使うアルゴリズムを決定します。
Please select what kind of key you want:
(1) DSA and ElGamal (default)
(2) DSA (sign only)
(4) ElGamal (sign and encrypt)
上記の質問に対して、デフォルトの(1)を選択します。
鍵の長さはデフォルトの1024ビットで問題ありません。
A 鍵の有効期限を選択します。
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
有効期限を設定すれば安全性は向上しますが、その場合は期限内に新しい鍵を生成し各RMCに配布しなければなりません。したがって、厳重な管理を行う必要がある場合以外は、無期限(0)の選択を推奨します。
B 鍵の使用者に関する情報を設定します。
この鍵を使う人の名前とメールアドレス、およびコメント入力します。「Email address」のところには、「
3.4 RMSの基本設定」の rmsconf コマンドで設定した
RMS のシステムメールアドレス (systemmail の値) を入力します。
下記のように設定してください。Commentは空でも構いません。
Real name: rms-system
Email address: [RMSのシステムメールアドレス]
Comment:
C 設定内容の確認を促すメッセージが表示されます。
問題がなければ、アルファベットの'O'(オー)を入力します。
D パスフレーズを入力します。
パスフレーズは作成した鍵を使用するために必要な内容で、鍵を使用する人が間違いなく本人であることを確認するためのものです。
Enter passphrase:
Repeat passphrase:
パスワードと同様、入力内容は画面には表示されません。このとき、パスフレーズは必ず1文字以上にしてください。
これで入力項目は終了です。場合によっては、乱数を発生させるために適当にキーボードをたたくようにメッセージが出ますので、乱雑にキーを押してください。このパスフレーズはPGP秘密鍵の使用時には常に必要になります。従って、RMSシステムがこの鍵を使うためのパスフレーズを設定しなければなりません。
設定は、rmsconfを実行して行います。
■公開鍵の取り出し
次に、作成したPGP鍵のうち公開鍵を取り出しファイルにセーブします。
以下のように入力します。(リダイレクト先には任意のファイルを指定してください。)
gpg --export --armor [RMSのシステムメールアドレス] > /tmp/filename
[RMSのシステムメールアドレス] のところには、上記「PGP鍵の作成」で入力した RMS のシステムメールアドレス (systemmail の値) を入力します。
前記のように入力した場合、次のような内容が /tmp/filename に書き出されます。
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
mQGiBDsRuKgRBADJGaV+ZwIp……(途中省略)
cqxeAJ9syV+R+CAa5vCkHvdo8QAHf6ZGNg==
=ilr1
-----END PGP PUBLIC KEY BLOCK-----
ここで出力された内容は、RMCに公開鍵を設定する時に使用します。RMCに対する公開鍵の設定方法に関しては、RMCのマニュアルを参照してください。
■公開鍵のfingerprint の確認
次に、作成したPGP公開鍵のfingerprintを確認します。
以下のように入力します。
gpg --fingerprint [RMSのシステムメールアドレス]
前記のように入力した場合、次のような内容が出力されます。
/var/lib/rms/.gnupg/pubring.gpg
pub 1024D/543CD2C0 2002-03-08 rms-system <rms@server.example.co.jp>
Key fingerprint = 5956 B395 BAB2 470A 87D5 F4C9 E7ED 1594 543C D2C0
sub 1024g/F77CB5E3 2002-03-08
ここで出力された内容は、RMCに公開鍵を設定する時の確認に使用します。RMCに公開鍵を設定した後、RMCコマンド " show key-list " を実行してください。RMCコマンドのKey
fingerprint = の行に表示された内容と、上記のKey fingerprint = の表示行が合致することを確認してください。
■再びログインを制限
以上で、rmsアカウントで実行すべき作業は終了です。以下のコマンドを実行して、アカウントを再びrootに戻し、rmsアカウントでのログインを制限します。
exit
/usr/sbin/rmssl high
■rmsconfコマンドの書式
/usr/sbin/rmsconf [option]
rmsconfは、rootで実行するコマンドであり、以下のオプション指定機能があります。オプション指定を省略した場合は、--highオプション指定時と同様の動作になります。
--high : |
highレベルに属する項目の設定を行なう場合に利用します。 |
|
highレベルでは、必須項目およびセキュリティに関連する設定を行います。 |
|
|
--middle : |
middleおよびhighレベルに属する項目の設定を行なう場合に利用します。 |
|
|
--low : |
low、middle、highの各レベルに属するすべての項目を設定する場合に利用します。 |
|
lowレベルでは、ポート番号の変更や、デバッグレベルの指定など、特別な設定を行います。通常、これらの設定は必要ありません。 |
|
|
--init : |
全ての設定をデフォルト値に戻します。 |
■highレベルの設定項目
以下の設定は、--highオプションを指定して実行します。
/usr/sbin/rmsconf --high
上記のコマンドを実行すると、以下の項目を設定するよう求められます。メッセージにしたがって、各項目の設定値を入力してください。Enterのみを入力した場合、[ ] 内に表示されたデフォルト値が設定されます。
∇
webdir rms-www の設定
webブラウザからアクセスする際のRMSのURLに関する設定です。
適切な設定値は、webサーバの設定に依存して変ります。
(例) http://server.example.co.jp/....任意..../rms/
∇
dbhost rms-www、rms-core の設定
rms-dbをインストールしたLinuxサーバのIPアドレス、もしくはFQDNホスト名を入力します。
デフォルト値は、localhostです。
∇
smtphost rms-core の設定
rms-mailをインストールしたLinuxサーバのIPアドレス、もしくはFQDNホスト名を入力します。
デフォルト値は、localhostです。
∇
javahomedir rms-core の設定
rms-coreを実行するJava Virtual MachineのJAVA_HOMEパスを指定します。
デフォルト値は、/usr/java/jre1.4.1_02です。
■lowレベルの設定項目
以下の項目を設定する場合は、--lowオプションを指定してrmsconfを実行します。メッセージにしたがって、各項目の設定値を入力してください。Enterのみを入力した場合、[ ]内に表示されたデフォルト値が設定されます。
/usr/sbin/rmsconf --low
 |
middle、およびlowレベルの項目は、データベースのメンテナンスなど、特別の要件がある場合を除き、通常、設定の必要はありません。設定変更を行った場合、システムが正常に動作しなくなる可能性がありますので、ご注意ください。
誤った設定を行なった場合は、rmsconf --init コマンドにより設定値を初期値に戻してから、high レベルの設定をやり直してください。 |
|
∇
debug rms-mail の設定
rms-mailの動作ログの詳細度を指定します。動作ログの出力先はsyslogとなります。
デフォルト値は、0(深刻なエラー以外出力しない)です。
∇
mailbuffersize rms-mail の設定
rms-mailが処理可能なメールの最大長を設定します。
デフォルト値は、102,400 バイトです。
∇
retrytimeout rms-mail の設定
rms-mailが待ち受けする最大秒数を設定します。rms-coreが再起動中で一時的に処理できない場合に有用です。
デフォルト値は、60秒です。
∇
baseport rms-mail、rms-www、rms-core の設定
rmsが内部通信に使用するポート番号を設定します。
デフォルト値は、42000です。
∇
rootdir rms-www の設定
Linuxサーバ上でのrms webコンテンツのパスを入力します。
デフォルトは、/var/www/html/rms です。
∇
allow-empty-passward、rms-www の設定
RMSのアカウント作成の際、空のパスワードを許可するかどうかを設定します(0または1)。デフォルトは、1(許可)です。
∇
allow-nonstandard-char、rms-www の設定
RMSのWebインターフェイス上で日本語を入力する際、○数字等の材種依存文字を許可するかどうかを設定します(0または1)。デフォルトは、0(不許可)です。
∇
dbname rms-www、rms-core の設定
RMS用に作成されたデータベースの名称を入力します。
デフォルトは、rmsです。
∇
dbuser rms-www、rms-core の設定
RMS用に作成されたDBの作成ユーザ名を入力します。
デフォルトは、rmsです。
∇
dbport rms-www、rms-core の設定
rms-www、rms-coreからrms-dbへの接続に使用されるport番号を指定します。
デフォルト値は、5432です。
∇
bootcheck rms-core の設定
RMS起動時の自己診断のレベルを指定します。
looseを指定した場合、自己診断でエラーが検出されても起動します。
loose-nomailを指定した場合は、looseを指定した場合の動作に加え、起動時のメール送受信テストも実行されません。
デフォルトは、strictです。
∇
mailthreadcout rms-core の設定
rms-coreとrms-mailとの通信における、同時処理数を指定します。
デフォルト値は、3です。
∇
servicethreadcout rms-core の設定
rms-coreとrms-wwwとの通信における、同時処理数を指定します。
デフォルト値は、3です。
∇
reskey_expirehours rms-core の設定
RES鍵の有効期限を指定します。この有効期限内にRES鍵の自動更新を行います。
デフォルト値は、168時間(7日)です。
∇
logdir rms-core の設定
rmsの動作ログを記録するファイルのパスを指定します。
デフォルトは、/var/log/rmsです。
∇
storedir rms-mail, rms-core の設定
rms-mailが一時的にメールを格納するディレクトリを指定します。このディレクトリに格納されたメールは、rmsmailsweepコマンドを実行することによって、rms-coreへ再転送されます。
デフォルト値は、/var/lib/rms/mailstoreです。
∇
connectflag rms-mail, rms-core の設定
rms-mailが受信したメールをrms-coreに転送するか、storedirに格納するかを指定します。1 を指定した場合、メールはrms-coreに転送され、0
を指定した場合は、storedirに格納されます。
デフォルト値は、1(rms-coreに格納する)です。
∇
reportdir rms-www, rms-core の設定
rms-coreが生成したエクスポートファイルを一時保存するディレクトリを指定します。デフォルト値は、/var/lib/rms/reportです。
RMS設定項目リスト
設定項目 |
説明 |
デフォルト値 |
設定レベル |
systemmail |
RMS自身が使用するメールアドレス |
rms@"hostname
コマンドの実行結果" |
high |
webdir |
Webブラウザからアクセスする際のRMSのURL |
/rms |
high |
passphrase
|
PGP鍵の生成時に設定したパスフレーズ |
--- |
high |
rmshost
|
rms-coreをインストールしたLinuxサーバのIPアドレス、もしくはFQDNホスト名 |
localhost |
middle |
smtphost
|
rms-mailをインストールしたLinuxサーバのIPアドレス、もしくはFQDNホスト名 |
localhost |
middle |
javahomedir
|
rms-coreが使用するJava Virtual Machineのパス |
/usr/java/jre1.4.1_02 |
middle |
dbhost
|
rms-dbをインストールしたLinuxサーバのIPアドレス、もしくはFQDNホスト名 |
localhost |
middle |
baseport
|
RMSが内部通信に使用するポート番号
|
42,000 |
low |
debug |
rms-mail動作ログの詳細度 |
0 |
low |
mailbuffersize |
rms-mailが処理可能なメールの最大長 |
102,400 バイト |
low |
retrytimeout |
rms-mailが待ち受けする最大秒数 |
60 秒 |
low |
rootdir |
Linuxサーバ上でのRMS Webコンテンツのパス |
/var/www/html/rms |
low |
allow-empty-passward
(Version3.0新規追加) |
RMSのアカウント作成の際、空パスワードの許可/禁止の設定(0または1)
|
1 |
low |
allow-nonstandard-char
(Version3.0新規追加) |
RMSのWebインターフェイス上で日本語を入力する際、○数字等の材種依存文字の許可/禁止の設定(0または1)
|
0 |
low |
bootcheck
|
RMS起動時の自己診断レベル |
strict |
low |
mailthreadcount |
rms-coreとrms-mailとの通信における、同時処理数 |
3 |
low |
servicethreadcount |
rms-coreとrms-wwwとの通信における、同時処理数 |
3 |
low |
reskey_expirehours |
RES鍵の有効期限 |
168時間 |
low |
logdir |
RMS動作ログを記録するファイルのパス |
/var/log/rms |
low |
storedir |
rms-mailが一時的にメールを格納するディレクトリ |
/var/lib/rms/mailstore |
low |
connectflag |
rms-mailが受信したメールをrms-coreに転送するか、storedirに格納するかのフラグ |
1 (rms-coreに転送) |
low |
dbname |
RMS用に作成されたデータベースの名称 |
rms |
low |
dbuser |
RMS用に作成されたデータベースの作成ユーザ名 |
rms |
low |
dbport |
rms-www、rms-coreからrms-dbへの接続に使用されるport番号 |
5432 |
low |
reportdir |
rms-coreが生成したエクスポートファイルを一時保存するディレクトリ |
/var/lib/rms/report |
low |