要启用服务器安全性,必须将 IBM® Engineering Requirements
Management DOORS® (DOORS) 数据库服务器配置为使用安全连接。
开始之前
如果未安装以下组件,请予以安装:
请验证证书是否有效且未到期。可以使用一组样本证书来验证配置,但不要将这些证书用于生产。
DOORS 客户机、互操作服务器和数据库服务器必须使用正确的服务器主机名。例如,使用样本证书时,必须将服务器主机名指定为 IBMEDSERV,并且客户机必须使用该主机名连接到服务器。
注: 您无需使用 DOORS 随附的样本证书。但是,如果使用其他证书,那么必须对客户机、互操作服务器和数据库服务器使用 -keyDB 和 -certName 参数。
要点: 只能将已列入白名单的互操作服务器连接到数据库服务器。必须在与 v6data 目录相同的级别(即,在 DOORS data 目录的顶部)创建 whitelist.dat 文件。如果使用 -secureInteropByIP 开关启动了 DOORS 数据库服务器,那么 whitelist.dat 文件必须包含运行互操作服务器的计算机的主机名或 IP 地址。如果在未使用 -secureInteropByIP 开关的情况下启动了 DOORS 数据库服务器,那么 whitelist.dat 文件必须包含运行互操作服务器的计算机上证书的 SHA256 指纹。
关于此任务
请按照以下过程来为安装了服务器的平台启用服务器安全性。启动
DOORS 数据库服务器并使用
-serverSecurityEnable 开关时,此选项将持久保留,因此重新启动时会启用服务器安全性。在后续重新启动时,可以省略该开关。
过程
- 要在 Windows 系统上启动这些服务器,请执行以下步骤:
- 如果使用的不是 DWA,请启动 ActiveMQ 代理程序。否则,请跳至下一个步骤。要启动代理程序,请输入 DWA 安装的根目录中包含的 broker.start.bat。
- 启动 DOORS 数据库服务器,同时通过输入 -serverSecurityEnable 命令行参数来启用服务器安全性。
- 通过使用 -serverSecurityBrokerHost HOST 和 -serverSecurityBrokerPort PORT 参数来定义 ActiveMQ 代理程序主机名和端口。 如果是以控制台方式运行 DOORS 数据库服务器,请按以下格式输入命令:
doorsd.exe -debug -s
"C:\example\data" -p 36700 -serverhostname IBMEDSERV -secure ON -serverSecurityBrokerHost IBMEDSERV
-serverSecurityBrokerPort 61616 -serverSecurityEnable -secureInteropByIP要点: secureInteropByIP 是允许使用主机名或 IP 地址从互操作服务器进行连接的可选开关。如果不使用此开关,那么 whitelist.dat 文件必须包含证书的 SHA256 指纹。
其中
开关 |
参数 |
说明 |
-serverdata |
"C:\example\data" |
数据文件的路径
|
-portnumber |
36700 |
用于连接到服务器的端口号
|
-serverhostname |
IBMEDSERV |
DOORS 数据库服务器的名称
|
-secure |
ON |
必须设置为 on 才能启用安全性的开关。
|
-serverSecurityBrokerHost |
IBMEDSERV |
托管 ActiveMQ 代理程序的服务器的服务器名称或 IP 地址
|
-serverSecurityBrokerPort |
61616(缺省值) |
用于与 ActiveMQ 代理程序连接的端口号
|
-serverSecurityEnable |
|
用于启用服务器安全性的开关
|
-secureInteropbyIP |
|
如果使用此开关,那么 whitelist.dat 文件必须包含主机名或 IP 地址。否则,该文件必须包含证书的 SHA256 指纹。
|
DOORS 数据库服务器将安装为 Windows 服务。缺省情况下,将禁用安全方式和服务器安全性选项。
- 如果想要根据安全方式和服务器安全性选项启用服务,请执行以下步骤:
- 停止 DOORS 数据库服务器服务。
- 打开 DOORS 数据库服务器服务的“属性”窗口。
- 在启动参数字段中输入正确的参数。例如:
-serverdata "C:\example\data" -portnumber 36700
-serverhostname IBMEDSERV -secure ON -serverSecurityBrokerHost IBMEDSERV -serverSecurityBrokerPort
61616 -serverSecurityEnable -secureInteropbyIP
- 启动此服务:在“属性”窗口中,单击启动。关闭该窗口时,将丢弃这些参数。
- 如果使用的不是 DWA,请启动 DOORS 互操作服务器。否则,请跳至下一个步骤。此服务器与 DOORS 为同一二进制。 例如:
doors.exe -interop -data 36677@IBMEDSERV -brokerHost IBMEDSERV
-brokerPort 61616 -sssServer注意: 您必须至少具有一个使用 -sssServer 开关的互操作服务器,然后可将该服务器识别为安全 interop。
其中
开关 |
参数 |
说明 |
-interop |
|
用于将客户机作为互操作服务器启动的命令
|
-data |
36700@IBMEDSERV |
DOORS 数据库服务器的端口号和名称
|
-brokerHost |
IBMEDSERV |
在托管代理程序的服务器的名称
|
-brokerPort |
61616 |
代理程序的端口号
|
-sssServer |
|
数据库服务器将互操作服务器识别为安全。
|
注: 如果 DOORS 数据库服务器是作为 Windows 服务运行,那么在重新启动 Windows 后,必须重新启动代理程序和互操作服务器。
- 如果数据库配置为使用 IBM
Rational® Directory Server,那么必须签署现有用户。要签署现有用户,请以管理员身份登录到 DOORS 客户机。从编辑 DXL 界面,输入以下命令:signTdsUsers()。
- 要在 Linux 系统上启动服务器,请遵循以下步骤:
- 如果使用的不是 DWA,请启动代理程序。否则,请跳至下一个步骤。要启动代理程序,请输入 DWA 安装的根目录中包含的 broker.start.sh。
- 启动 DOORS 数据库服务器并使用 -serverSecurityEnable 命令行开关来启用安全性。
- 通过使用 -serverSecurityBrokerHost HOST 和 -serverSecurityBrokerPort PORT 参数来定义代理程序主机和端口。 例如:doorsd -s $DOORSHOME/data -p 36700
-serverhostname IBMEDSERV -secure ON -serverSecurityBrokerHost IBMEDSERV -serverSecurityBrokerPort
61616 -serverSecurityEnable -secureInteropByIP
要点: secureInteropByIP 是允许使用主机名或 IP 地址从互操作服务器进行连接的可选开关。如果不使用此开关,那么 whitelist.dat 文件必须包含证书的 SHA256 指纹。
其中
开关 |
参数 |
说明 |
-serverdata |
$DOORSHOME/data |
数据文件的路径
|
-portnumber |
36700 |
用于连接到服务器的端口号
|
-serverhostname |
IBMEDSERV |
DOORS 数据库服务器的名称
|
-secure |
ON |
必须设置为 on 才能启用安全性的开关
|
-serverSecurityBrokerHost |
IBMEDSERV |
托管 ActiveMQ 代理程序的服务器的服务器名称或 IP 地址
|
-serverSecurityBrokerPort |
61616 |
用于与 ActiveMQ 代理程序连接的端口号
|
-serverSecurityEnable |
|
用于启用服务器安全性的开关
|
-secureInteropbyIP |
|
如果使用此开关,那么 whitelist.dat 文件必须包含主机名或 IP 地址。否则,该文件必须包含证书的 SHA256 指纹。
|
- 如果使用的不是 DWA,请启动互操作服务器。否则,请跳至下一个步骤。互操作服务器命令包含在 $DOORSHOME/bin 中。 例如:
doors -interop -data 36677@IBMEDSERV -brokerHost IBMEDSERV
-brokerPort 61616 -sssServer注意: 您必须至少具有一个使用 -sssServer 开关的互操作服务器,然后可将该服务器识别为安全 interop。
其中
开关 |
参数 |
说明 |
-interop |
|
用于将客户机作为互操作服务器启动的命令
|
-data |
36700@IBMEDSERV |
DOORS 数据库服务器的端口号和名称
|
-brokerHost |
IBMEDSERV |
托管 ActiveMQ 代理程序的服务器的名称
|
-brokerPort |
61616 |
ActiveMQ 代理程序的端口号
|
-sssServer |
|
数据库服务器将互操作服务器识别为安全。
|
- 如果数据库配置为使用 IBM
Rational Directory Server,那么必须签署现有用户。要签署现有用户,请以管理员身份登录到 DOORS 客户机。从编辑 DXL 界面,输入以下命令:signTdsUsers()。
- 要从证书中获取 SHA-256 fingerprint,请执行以下操作:
- 从 certdb 文件夹运行以下命令:
- C:\Program Files\IBM\Rational\DOORS\9.6\certdb
- gsk8capicmd_64 -cert -details -db client_authentication.kdb -stashed -label
"IBMCL1"
- gsk8capicmd_64 -cert -details -db server_authentication.kdb -stashed -label
"IBMSV1"
- 在这些命令的输出中,查找 SHA256 fingerprint:
示例:
- 将客户机和服务器证书的 SHA256 fingerprint(数字行)复制到 whitelist.dat 文件中。
下一步做什么
DOORS 数据库服务器在安装后没有密码,因此任何人都可以管理该服务器。要控制管理数据库服务器的人员,可以使用数据库服务器管理工具来设置密码。有关更多信息,请参阅设置数据库服务器密码
启用服务器安全性时,缺省认证方法是输入您的用户名和密码。可以通过使用 dbadmin 命令行开关 -sssAuthenticationMode 来更改认证方法。更改认证方法时,无需重新启动 DOORS 数据库服务器。有关更多信息,请参阅更改认证方法。
如果要禁用服务安全性,请使用 -serverSecurityDisable 和 -secure 开关。
例如,输入 doorsd.exe -debug
-serverdata "C:\example\data" -portnumber 36700 -serverSecurityDisable。