3.2.8. 从 Password Vault 中删除敏感字符串
出于安全考虑,最好在不再需要时从 Password Vault 中删除敏感字符串。例如,如果某一应用被停用,数据源定义中使用的任何敏感字符串应当同时被删除。
作为前提条件,请在从 Password Vault 删除敏感字符串之前,确认是否在 JBoss EAP 配置中使用它。
可以在其中以交互方式提示用户输入每个参数的值,或者以非交互方式执行此操作,其中所有参数的值都在命令行中提供。每种方法都提供相同的结果,因此可以使用其中任一方法。这两个方法都使用 vault 脚本调用。
使用非交互方法同时提供所有参数的值。有关所有参数的描述,请参阅 Initialize the Password Vault。要以非交互方式运行密码 vault 命令,可使用相关信息的参数调用 vault 脚本(位于 EAP_HOME/bin/中):
$ vault.sh --keystore KEYSTORE_URL --keystore-password KEYSTORE_PASSWORD --alias KEYSTORE_ALIAS --remove-sec-attr --vault-block VAULT_BLOCK --attribute ATTRIBUTE --enc-dir ENC_FILE_DIR --iteration ITERATION_COUNT --salt SALT
将占位符值替换为实际值。参数 KEYSTORE_URL、KEY STORE_PASSWORD 和 KEYSTORE_ALIAS 的值必须与创建密码 Vault 时提供的值匹配。
密钥存储密码必须以纯文本形式提供,而不屏蔽。
如果成功删除了敏感字符串,则会显示类似如下的确认信息:
Secured attribute [VAULT_BLOCK::ATTRIBUTE] has been successfully removed from vault
如果没有删除敏感字符串,则会显示类似如下的消息:
Secured attribute [VAULT_BLOCK::ATTRIBUTE] was not removed from vault, check whether it exist
示例:输出
$ ./vault.sh --keystore EAP_HOME/vault/vault.keystore --keystore-password vault22 --alias vault --remove-sec-attr --vault-block vb --attribute password --enc-dir EAP_HOME/vault/ --iteration 120 --salt 1234abcd
=========================================================================
JBoss Vault
JBOSS_HOME: EAP_HOME
JAVA: java
=========================================================================
Dec 23, 2015 1:54:24 PM org.picketbox.plugins.vault.PicketBoxSecurityVault init
INFO: PBOX000361: Default Security Vault Implementation Initialized and Ready
Secured attribute [vb::password] has been successfully removed from vault
以交互方式删除敏感 String
要以互动方式运行密码 vault 命令,需要执行以下步骤:
以交互方式启动密码 vault 命令。
运行
EAP_HOME/bin/vault.sh(在红帽企业 Linux 和类似操作系统上)或EAP_HOME\bin\vault.bat(在 Microsoft Windows Server 上)。通过键入0(零)来启动新的交互式会话。完成提示的参数。
按照提示输入所需的身份验证参数。这些值必须与创建密码库时提供的值匹配。
注意提示进行身份验证时,必须以纯文本形式提供密钥存储密码,而不是屏蔽的格式。
-
输入
2(两次),以选择删除保护的属性。 - 输入存储敏感字符串的 vault 块的名称。
- 输入要删除的敏感字符串的名称。
-
输入
如果成功删除了敏感字符串,则会显示类似如下的确认信息:
Secured attribute [VAULT_BLOCK::ATTRIBUTE] has been successfully removed from vault
如果没有删除敏感字符串,则会显示类似如下的消息:
Secured attribute [VAULT_BLOCK::ATTRIBUTE] was not removed from vault, check whether it exist
示例:输出
**********************************
**** JBoss Vault ***************
**********************************
Please enter a Digit:: 0: Start Interactive Session 1: Remove Interactive Session 2: Exit
0
Starting an interactive session
Enter directory to store encrypted files:EAP_HOME/vault/
Enter Keystore URL:EAP_HOME/vault/vault.keystore
Enter Keystore password:
Enter Keystore password again:
Values match
Enter 8 character salt:1234abcd
Enter iteration count as a number (Eg: 44):120
Enter Keystore Alias:vault
Initializing Vault
Dec 23, 2014 1:40:56 PM org.picketbox.plugins.vault.PicketBoxSecurityVault init
INFO: PBOX000361: Default Security Vault Implementation Initialized and Ready
Vault Configuration in configuration file:
********************************************
...
</extensions>
<vault>
<vault-option name="KEYSTORE_URL" value="EAP_HOME/vault/vault.keystore"/>
<vault-option name="KEYSTORE_PASSWORD" value="MASK-5dOaAVafCSd"/>
<vault-option name="KEYSTORE_ALIAS" value="vault"/>
<vault-option name="SALT" value="1234abcd"/>
<vault-option name="ITERATION_COUNT" value="120"/>
<vault-option name="ENC_FILE_DIR" value="EAP_HOME/vault/"/>
</vault><management> ...
********************************************
Vault is initialized and ready for use
Handshake with Vault complete
Please enter a Digit:: 0: Store a secured attribute 1: Check whether a secured attribute exists 2: Remove secured attribute 3: Exit
2
Task: Remove secured attribute
Enter Vault Block:vb
Enter Attribute Name:password
Secured attribute [vb::password] has been successfully removed from vault