0

我正在对使用联合昵称的 DB2 设置进行安全分析。

在 DB2 上设置联合昵称时,必须创建包装器和用户映射。对于用户名和密码都必须存储在 DB2 中。

CREATE SERVER V9SAMPLE TYPE DB2/UDB VERSION 9.1 WRAPPER DRDA 
  AUTHID "USERNAME" PASSWORD "PASSWORD" OPTIONS ( DBNAME 'SAMPLE' );
CREATE USER MAPPING FOR USER SERVER V9SAMPLE OPTIONS 
( REMOTE_AUTHID 'USERNAME' REMOTE_PASSWORD 'PASSWORD' );

谁能告诉我 DB2 如何在内部存储这些凭证以及是否有任何方法可以从数据库中读取 AUTHID 和 PASSWORD?我希望它们必须以明文形式存储,因为它们必须作为登录凭据发送到另一台服务器。但这可能会打开攻击向量,因为 Mallory 可以恢复凭据。

是否必须采取任何安全措施来保护保存以供包装器和用户映射使用的密码?

4

2 回答 2

0

从此手册页https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.data.fluidquery.doc/topics/cfpint11.html

默认情况下,联合服务器将用户映射存储在全局目录的 SYSCAT.USEROPTIONS 视图中,并对远程密码进行加密。

SYSCAT.USEROPTIONS是一个视图,并将密码显示为“********”。查看基础表以查看加密值。例如

db2 "select SUBSTR(SETTING,1,20) from SYSIBM.SYSUSEROPTIONS WHERE OPTION = 'REMOTE_PASSWORD'" 

1                   
--------------------
A����-�;YAS����       

上面的页面还说

作为替代方案,您可以使用外部存储库(例如文件或 LDAP 服务器)来存储用户映射。要在联合服务器和外部存储库之间提供接口,您需要创建一个用户映射插件。

并参阅“联合安全性”部分以阅读有关保护联合系统的选项的更多详细信息 https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.data.fluidquery.doc/主题/iiyvfed_security_fed_sys_l1.html

于 2018-03-22T12:06:07.043 回答
0

Db2-LUW 包装器密码和用户映射密码以加密方式存储(不是以纯文本形式)。密码可以是特定于版本的。您无法在数据库中查看明文静态密码。

至于网络上的联合密码,这取决于目标环境。Db2 对此有不同的选择,从仅密码加密到密码和数据加密,再到 TLS——所有这些都取决于所选的配置项。因此,除非目标环境无法处理加密或相关包装器未实现所需的加密,否则LAN 上的联合密码不需要采用明文形式。

于 2018-03-22T12:07:26.687 回答