Rational BuildForge将 buildforge.conf 和 bfagent.conf 中的密码加密

BuildForge中有几处使用密码,想数据库,安装时的证书访问密码等,想数据库密码可能在一定时间后需要更改,如何对新的密码进行加密呢,本文主要讨论这些问题。

一 如何将密码加密
使用导出的密码密钥可构建要在 buildforge.conf 和 bfagent.conf 中使用的已加密密码。
buildforge.conf 文件包含 Build Forge 用于访问数据库的用户名和密码(db_password)。 该密码通常已编码但是可以加密。要为管理控制台将密码加密,请执行以下操作:
1. 转至管理控制台根目录。
Windows:<bfinstall>
UNIX 或 Linux:<bfinstall>/Platform
2. 运行以下命令:
bfpwencrypt -e password
使用您想加密的明文密码来替换 password。
加密后的密码将发送到 stdout。
bfagent.conf 文件包含代理程序用于访问密钥库的密码密钥(ssl_key_password)。 该密码通常为明文,但是可以加密。要为代理程序加密密码,请执行以下操作:
1. 转至代理程序根目录。
2. 运行以下命令:
bfagent -e password
使用您想加密的明文密码来替换 password。
加密后的密码将发送到 stdout。
加密后的密码是包含在花括号中国的,并且以字符串 bfcrypt:开头,紧随其后的是已加密(AES 128位)并编码(Base63)的密码。已编码和加密的密码的示例:
Encoded:
dd8b42eed5cc051500f5bffe2b82b1aa6a67baee028a85d0cefa
Encrypted:
{bfcrypt:7427ab360c4010008f9d000049664966}drAIT1zLDGX/xRcvw65+B8aFpTqvmAdbmnh6FpwkHjU=


二 对密码加密的问题进行调试
如果已加密的密码有问题,以下各节描述进行调试的方法。
2.1 调试控制台中的密码加密问题
服务层、Web 界面和引擎共享同一个密钥文件。当所有三个组件都安装在同一个主机上时,它们将使用同一个密钥文件:
对于 Windows:
<bfinstall>/bfpwcrypt.conf
对于 UNIX 或 Linux:
<bfinstall>/Platform/bfpwcrypt.conf
如果启用密码加密后出现问题,请检查以下事项:
(1)请确保在启用密码加密之后重新启动 Build Forge。 请确保所有进程都已正确地停止并重新启动(Apache、Apache Tomcat 以及引擎)。
(2)冗余控制台:如果使用同一数据库进行管理控制台的多次安装,那么这些安装必须全部使用同一个 bfpwcrypt.conf 文件。 最安全的方法是手动(而不是通过网络)分发该文件。
(3)服务器定义:如果控制台中的 测试连接 失败,请确保已导出密钥,并将其正确地置于bfagent.conf 文件中。要确定存在密码问题,请禁用密码加密并尝试 测试连接 。
(4)登录:如果在启用密码加密后无法登录,请确保 Build Forge 在 bfclient.conf 和 buildforge.conf中使用了正确的 bfpwcrypt.conf 密钥。 buildforge.conf 必须在 <bfinstall> 目录和服务层的副本中进行更新。请参阅Build Forge 配置文件(buildforge.conf)。


如果执行了所有这些检查,但是问题仍然存在,请尝试启用跟踪并检查输出日志。
a。 Web 界面(UI):设置环境变量 BFDEBUG_SECURITY=1。
b。 Web 界面:输出显示在文件中。
对于 Windows:
<bfinstall>/Apache/logs/php_error.log

对于 UNIX 或 Linux:
<bfinstall>/server/apache/logs/php_error.log
c。 引擎:在前台启动引擎。在安装目录中,运行 bfengine –d。对于 UNIX 或 Linux,可以使用bfengine –d 2>&1 | tee out.tx t 将它以管道方式传输至文件。对于 Windows,如果有 tee 实用程序,那么可以执行相同的操作。
d。 服务:执行以下操作:
d.1. 停止 Build Forge。
d.2. 在编辑器中打开日志文件。
对于 Windows:
<bfinstall>/Apache/tomcat/common/classes/logging.properties
对于 UNIX 或 Linux:
<bfinstall>/server/apache/tomcat/common/classes/logging.properties
d.3. 将下行添加至文件末尾。
com.buildforge.services.common.security.level=ALL
d.4. 启动 Build Forge。
d.5. 检查输出。
对于 Windows:
<bfinstall>/Apache/tomcat/logs/catalina.out
对于 UNIX 或 Linux:
<bfinstall>/server/apache/tomcat/logs/catalina.out

2.2 调试代理程序中的密码加密问题
调试代理程序通信包含代理程序和引擎组件。
如果启用密码加密后出现问题,请检查以下事项:
(1)检查 bfagent.conf。下行应取消注释:
password_encrypt_module ./bfcrypt.dll;./bfpwcrypt.conf
(2)检查 bfpwcrypt.conf 是否存在于启动代理程序的目录中。它必须包含至少一个密钥条目。
(3)检查引擎的 bfpwcrypt.conf 中的最后一个条目是否存在于代理程序的 bfpwcrypt.conf 中的某处。

如果执行了所有这些检查,但是问题仍然存在,请尝试启用跟踪并检查输出日志。要启用跟踪,请执行以下操作:
1. 打开 bfagent.conf。
2. 取消下行的注释:
activity_log bfagent.log
可以指定另一个路径来代替 bfagent.log。
bfcrypt.dll 的路径问题
在 bfagent.conf 中,password_encrypt_module 属性必须指向 bfcrypt.dll 的正确路径。示例:
password_encrypt_module /opt/buildforge/bfcrypt.dll

代理的示例配置文件

bfagent.conf配置示例文件

打开跟踪后,该路径的问题将通过类似以下的输出指示:
[ 8928] bfcryptloader.c : 208: Loading password encryption module.
[ 8928] bfcryptloader.c : 223: module: bfcrypt
[ 8928] bfcryptloader.c : 232: Loading module: C:/BuildForge71.181.Agent/bfcrypt.dll
[ 8928] bfcryptloader.c : 262: Failed loading DLL, error code = 0
如果装入成功,将产生类似以下的输出:
[ 12248] bfpwdlocloader.c: 134: Looking for password locator: ssl_key_password_locator
[ 12248] bfpwdlocloader.c: 244: Looking for password for prop ssl_key_password from bfagent.conf.
[ 12248] bfcryptloader.c : 208: Loading password encryption module.
[ 12248] bfcryptloader.c : 223: module: bfcrypt
[ 12248] bfcryptloader.c : 232: Loading module: ./bfcrypt.dll
[ 12248] bfcryptloader.c : 269: Loading procedure bfcrypt_init.
密码解密失败
当密码由于密钥错误或某些其他原因而未能解密时,日志将包含类似于以下内容的行:
[ 4912] agent.c : 237: AUTH failed
如果确定密码是正确的,那么可以进一步诊断问题。启用对 bfcrypt.dll 模块的调试。要启用调试,
请设置以下环境变量:
BFDEBUG_SECURITY=1
如果代理程序作为服务运行,那么该环境变量需要全局设置。
调试输出置于启动代理程序的目录中的 bfcrypt.txt 内。
以下输出表示代理程序上的 bfpwcrypt.conf 中没有正确的密钥:
load_keys_from_file: Parsed 1 key configurations.decrypt: Looking for key matching info:
922492fe0c4010008304c3670e1e0e1e, length=32
decrypt: Comparing against: 4d553f110c401000ac08000051f651f6, length=32
decrypt: Warning! No matching key found.
以下输出表示密钥匹配正确:
load_keys_from_file: Parsed 2 key configurations.decrypt: Looking for key matching info:
922492fe0c4010008304c3670e1e0e1e, length=32
decrypt: Comparing against: 7427ab360c4010008f9d000049664966, length=32
decrypt: Comparing against: 922492fe0c4010008304c3670e1e0e1e, length=32
decrypt: Found match: 922492fe0c4010008304c3670e1e0e1e, length=32

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值