IBM InfoSphere Guardium Encryption Expert通过使用基于策略的系统来保护数据。 本文中,软件名称由Encryption Expert描述。 Encryption Expert使用的策略包含一个或多个加密密钥以及一个或多个访问控制规则。 有两种类型的策略:
联机策略用于加密写入文件系统的数据并通过访问控制保护数据。 将联机策略应用于目录时,该策略将控制对目录下文件和目录的访问。 将在线策略应用于目录的操作称为Guard FS(文件系统) ,该目录称为Guard Point ,从文件系统读取或写入文件系统的数据称为Online Data 。 该策略允许访问的任何应用程序都可以访问处于保护点的文件,只要该应用程序使用系统库来访问文件即可。 根据该策略,数据在写入时会自动加密,在读取时会解密。 加密对应用程序是透明的。 这意味着您的业务关键型应用程序(例如SAP,Oracle系列应用程序或定制应用程序)将不受IBM InfoSphere Guardium Encryption Expert的影响。 实际上,IBM InfoSphere Guardium Encryption Expert已通过SAP认证。 从“ 相关主题”部分中了解有关IBM InfoSphere Guardium Encryption Expert如何与SAP一起使用的更多信息。 脱机策略用于保护数据库备份映像。 脱机策略适用于用于备份和还原数据库映像的计算机。 脱机策略控制备份和还原命令,以及数据库备份映像的加密和解密。 将脱机策略应用于计算机的操作称为Guard DB(数据库备份) 。
图1显示了Encryption Expert体系结构的概述。 它由一个或多个安全服务器和一个或多个代理组成。 安全服务器具有配置信息,例如联机和脱机策略以及来自代理的审核日志。 配置信息和审核日志的数据存储在与Encryption Expert捆绑在一起的DB2中。
图1. IBM InfoSphere Guardium Encryption Expert架构概述
Encryption Expert代理安装在受数据保护的计算机( 主机 )上。 安全服务器中保留的策略将发送到代理(推送),或在需要时由代理检索(拉出)。 该代理由保护FS的FS(文件系统)代理和保护DB的DB(数据库备份)代理组成。 默认情况下,审核日志(例如访问冲突)将发送到安全服务器。
安全服务器提供了一个基于Web的界面,称为管理控制台,您可以将其用于诸如配置策略和浏览审核日志之类的任务。 要使用管理控制台,请打开Web浏览器并转到以下URL:
https://hostname:8445
图2是日文浏览器中显示的Encryption Expert Management Console仪表板的屏幕快照。
图2.加密专家管理控制台
您可以在多台计算机上配置安全服务器,以允许同时使用主服务器和故障转移服务器。 故障转移服务器是只读的,并通过与主服务器进行复制来填充。
主服务器充当证书颁发机构(CA),并将X.509证书发布到安全服务器和代理。 X.509证书用于身份验证。 安全套接字层(SSL)协议用于在安全服务器和每个代理之间以及主服务器和每个故障转移服务器之间进行通信。
配置高可用性
使用故障转移服务器和加密密钥缓存可以帮助您确保高可用性的Encryption Expert的两个功能。
故障转移服务器
如简介中所述,您可以配置故障转移服务器,该服务器可以在主安全服务器发生故障时接管。 使用Encryption Expert提供SQL复制技术,可以将故障转移服务器的配置与主服务器的配置同步。 使用SQL复制,捕获程序(asncap)从数据库日志中检索更改记录,并将其存储到登台表中。 Apply程序(asnapply)每分钟从登台表中检索数据,并将更改应用于故障转移服务器。 这两个程序都在主服务器上运行。 审核日志不会复制。 每个故障转移服务器都可以从代理接收审核日志,并将其独立于其他安全服务器存储。
设置故障转移服务器后,代理即可访问它(只读)。 图3显示了代理如何选择与之通信的安全服务器。 每个FS和DB代理都有其自己的名为agent.conf的配置文件。 您可以编辑agent.conf文件以配置安全服务器的选择顺序。 如果代理无法与第一个服务器通信,它将移至下一个,依此类推。
有关更多信息,请参阅《 IBM InfoSphere Guardium Encryption Expert用户指南 》的“第3章:安装,除去和升级Encryption Expert”中的“安装和配置Encryption Expert故障转移服务器”部分,该主题链接到“ 相关主题”。部分。
图3.故障转移服务器机制
在主机上缓存加密密钥
每个用于在线数据的加密密钥都有一个名为“ 在主机上缓存”的选项。 如果使用此选项创建了加密密钥,则该加密密钥将通过密码保护存储在代理磁盘上。 结果,即使自代理启动以来安全服务器未正常运行,代理也可以正常工作。 下一节将对此进行更详细的描述。
保护在线数据
Encryption Expert使用对称加密算法(3DES,AES128,AES256)来加密在线数据。 图4概述了其工作原理。 联机策略包含一个或多个用于访问控制的加密密钥和规则。 您可以对保护点下的文件和目录使用相同的加密密钥或不同的加密密钥。 访问控制规则配置为“ 安全规则” 。 加密密钥被配置为“ 密钥选择规则” 。 使用管理控制台将联机策略应用于主机上的目录时,该策略将保存在安全服务器中并发送到主机上的FS代理。
图4.保护在线数据
FS代理由vmd和secfsd进程组成。 vmd进程与安全服务器通信。 secfsd进程保留在线策略,并使用访问控制对数据进行加密和解密。 这些进程作为守护程序保留在系统上。 当secfsd进程启动时,将通过vmd进程从安全服务器检索与主机相关的所有策略,并将这些策略缓存在内存中。 如果该过程无法检索到策略,它将继续尝试每5秒检索一次。 在将在线策略应用于目录时,安全服务器将策略发送给代理,并且代理将策略缓存在内存中。
如果应用程序尝试使用使用“在主机上缓存”选项的加密密钥访问保护点,并且尝试是在代理尚未将保护点的加密密钥缓存在内存中的时候进行的,因为安全服务器没有自代理启动以来一直正常运行,则应用程序冻结。 在这种情况下,请使用清单1中所示的命令(后接预定义的密码)来使应用程序恢复正常工作。 此后,如果使用“在主机上缓存”选项配置了保护点的加密密钥,则访问主机上保护点的所有应用程序都可以正常工作而不会冻结。
清单1.检索存储在主机磁盘上的加密密钥
# vmsec passwd Please enter password: xxxxxxxxOK passwd#
图5显示了安全规则的示例。 在此示例中,如果db2admin用户访问保护点,则在写入时对数据进行加密,而在读取时对数据进行解密。 如果root用户从保护点读取数据,则不会解密数据,并且会记录操作以进行审核。 拒绝访问保护点的其他请求,并且记录操作以进行审核。
图5.安全规则示例
主机设定
用户ID条件可以包含在“安全规则”中。 与用户ID相关的另一设置称为“ 主机设置” 。 使用主机设置可以确定允许使用哪种登录方法,无论使用哪种登录方法,都可以允许哪些进程,等等。 例如,如果要仅允许某些用户通过ssh和telnet登录,则允许它们访问保护点,请添加|authenticator|
在登录过程之前,如清单2所示。
清单2.仅当通过ssh和telnet登录时才允许用户身份验证的主机设置示例
|authenticator|/usr/bin/login/usr/bin/su|authenticator|/usr/sbin/sshd/usr/sbin/ftpd/usr/dt/bin/dtlogin/usr/bin/sh
如上所示,还可以控制su
以便Encryption Expert甚至可以通过假装某个用户来防止root用户访问保护点。
有关更多信息,请参阅《 IBM InfoSphere Guardium Encryption Expert用户指南 》的“第6章:配置主机”中的“配置主机设置”部分,该链接从“ 相关主题”部分链接到。
清单3显示了一个示例,如果您通过非授权登录方法登录后运行程序来访问保护点,则会发生“用户未通过身份验证”或“伪造的用户”错误。
清单3.用户未验证错误的示例
EET2604E: [SecFS, 0] [ALARM] Policy[db2admin_online_policy1]User[db2admin,uid=222 (User Not Authenticated)] Process[/usr/bin/ls]Action[read_dir_attr] Res[/home/db2admin/guard/] Effect[DENIED Code (1U,2M)]
数据转换
Encryption Expert提供了一种功能,可将通过一个加密密钥加密的数据或未加密的数据转换为通过另一个加密密钥加密的数据。 这称为dataxform 。 何时使用此策略的一个示例是,您要在其中应用在线策略的目录上存在未加密的文件。 如果策略要求对文件进行加密,则需要在应用策略之前对文件进行加密。 为此,请使用以下解决方案之一:
在将策略应用于目录之前,请使用dataxform转换数据。 在将策略应用到目录之前,将文件移动到非保护目录。 将策略应用到目录后,将文件移回目录。 当您将文件移回时,将根据您应用的策略自动对其进行加密。
有关更多信息,请参阅《 IBM InfoSphere Guardium加密专家用户指南 》的“第10章:更改加密密钥”中的“使用dataxform”部分,该链接从“ 相关主题”部分链接到。
指令
Encryption Expert提供可用于获取代理信息的命令。 例如,要获取保护点信息,可以输入清单4中所示的命令。
清单4.获取保护点信息的命令示例
# secfsd -status guardGuardPoint Policy Type ConfigState Status Reason---------- ------ ---- ----------- ------ ------/home/db2admin/guard1 db2admin_policy1 local guardedguarded N/A/home/db2admin/guard2 db2admin_policy2 local guardedguarded N/A
通过指定选项,可以将secfsd和vmd进程用作命令。
表1.经过测试的操作系统
表2.支持的文件系统
有关这些命令和其他Encryption Expert命令的更多信息,请参阅《 IBM InfoSphere Guardium Encryption Expert用户指南 》中的“第16章:维护加密专家”,该链接可从“ 相关主题”部分链接到。
保护数据库备份映像
Encryption Expert使用混合加密算法对数据库备份映像进行加密。 动态创建对称密钥,并将其用于加密数据库备份映像。 对称密钥本身由一个或多个非对称密钥(公共密钥)加密。 对于对称加密算法,可以使用AES128或AES256。 对于非对称加密算法,可以使用RSA1024,RSA2048或RSA4096。
您可以导入其他Encryption Expert安全服务器创建的公共密钥。 这样,可以将由一个数据库代理加密并由一个安全服务器管理的数据库备份映像还原到由另一安全服务器管理的另一数据库代理。
图6概述了Encryption Expert如何为数据库备份映像提供保护。 该图显示了IDS和DB2的备份代理,但是您不能在同一台机器上同时使用这两种代理。 包含多个备份规则和还原规则的脱机策略可以应用于计算机。 默认情况下,将记录与数据库代理一起进行的备份和还原操作以进行审核,并发送到安全服务器。
图6.保护数据库备份图像
与DB2备份和还原集成
您可以发出带有外部模块的DB2备份命令作为选项。 这使您可以将DB2代理模块与备份一起使用,从而使您可以通过与安全服务器进行通信来加密数据库备份映像。 数据库备份映像包含DB2代理模块和对其解密所需的信息。 DB2 restore命令调用数据库备份映像中包含的DB2代理,DB2代理通过与安全服务器进行通信对其进行解密。
您还可以发出带有外部模块作为选项的DB2 restore命令。 指定外部模块后,将使用该模块代替数据库备份映像中包含的模块。 如果在备份数据库后升级了DB2代理,并且您想使用升级后的模块,请使用DB2 restore命令指定该模块。
清单5包含使用DB2代理模块的DB2备份命令的示例。
清单5. DB2备份命令示例
% DB2 BACKUP DB dbname compress comprlib/opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/db2/lib/libeetdb2.so
您可以将其他选项与上述语法一起使用,例如USE TSM
以指定Tivoli Storage Manager(TSM)的使用。
清单6包含使用DB2代理模块的DB2恢复命令的示例。
清单6. DB2 restore命令示例
% DB2 RESTORE DB dbname
与IDS备份和还原集成
IDS中有两种备份类型:ontape和onbar。 在这两种情况下,都可以在$ INFORMIXDIR / etc / $ ONCONFIG配置文件中指定IDS代理可执行模块。 IDS代理可执行模块需要一个描述如何处理数据的属性文件。 使用-f选项来标识属性文件。 您可以使用RAW设备为IDS加密和备份。 加密和备份RAW设备的方法与普通数据库空间相同。
清单7显示了一个配置文件的示例。
清单7. IDS配置文件示例
BACKUP_FILTER '/opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/ids/bin/eetidsagt -f /home/informix/attr.w'RESTORE_FILTER '/opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/ids/bin/eetidsagt -f /home/informix/attr.r'
清单8显示了备份属性文件(attr.w)的示例。
清单8.用于备份的IDS代理属性文件的示例
ENV=INFORMIXSERVER, SERVERNUMOPERATION=write
在清单8的示例中,属性文件指定:
INFORMIXSERVER和SERVERNUM环境变量用于评估策略的条件。 这是用于备份。
清单9显示了还原属性文件(attr.r)的示例。
清单9.用于还原的IDS代理属性文件的示例
ENV=INFORMIXSERVER, SERVERNUMOPERATION=read
在清单9的示例中,属性文件指定:
INFORMIXSERVER和SERVERNUM环境变量用于评估策略的条件。 这是为了还原。
清单10显示了11,清单11显示了IDS备份命令的示例。
清单10. IDS备份命令示例(在线)
% onbar -b -w
清单11. IDS备份命令示例(ontape)
% ontape -v -s -L 0 -t STDIO > /.../backup.000
清单12和13显示了IDS恢复命令的示例。
清单12. IDS restore命令示例(onbar)
% onmode -ky% onbar -r
清单13. IDS restore命令示例(ontape)
% onmode -ky% cat /.../backup.000 | ontape -r -t STDIO -v
对于ontape IDS备份,您还可以选择将IDS代理模块指定为接收备份或还原命令输出的命令。 清单14和15展示了带有此选项的命令示例。
清单14.指定IDS代理模块的IDS备份命令(ontape)示例
% ontape -v -s -L 0 -t STDIO |/opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/ids/bin/eetidsagt -f/home/informix/attr.w > /.../backup.000
清单15.指定IDS代理模块的IDS恢复命令(ontape)示例
% cat /.../backup.000 |/opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/ids/bin/eetidsagt -f/home/informix/attr.r | ontape -r -t STDIO -v
表3.经过测试的数据库版本
有关IDS备份和还原的更多信息,请参阅《 IBM InfoSphere Guardium Encryption Expert用户指南 》中的“第12章:备份和还原IDS数据库”,该指南从“ 相关主题”部分链接到。
配置审核日志
使用管理控制台来配置审核日志的参数。 每个主机和每个代理(FS代理,DB2代理和IDS代理)都有自己的配置。 例如,您可以指定是否将日志发送到安全服务器,一次发送多少日志以及代理在发送日志之前应等待的最小和最大秒数。
如果在所有安全服务器均无法正常工作时尝试发送日志,则该日志将存储在代理上的临时文件中。 在指定发送日志的最短时间间隔后重试。 这不会影响应用程序访问保护点的能力。
有关配置审核日志的更多信息,请参阅《 IBM InfoSphere Guardium Encryption Expert用户指南 》中的“第15章:设置首选项”,该链接可从“ 相关主题”部分链接到。
维护X.509证书
主服务器发布的每个X.509证书都有一个到期日期。 CA和主服务器的X.509证书的有效期限为。 其他证书的有效期为4年。
下面的列表显示X.509证书所在的目录。CA的证书在主服务器上创建。 创建和注册CA的证书时,会将其证书复制到故障转移服务器和代理中。
安全服务器(主要和故障转移)
/ opt / IBM / DB2TOOLS / LUWEncrptionExpert / server / pem
FS代理
/ opt / IBM / DB2TOOLS / LUWEncrptionExpert / agent / vmd / pem
DB2代理
/ opt / IBM / DB2TOOLS / LUWEncrptionExpert / agent / db2 / pem
IDS代理
/ opt / IBM / DB2TOOLS / LUWEncrptionExpert / agent / ids / pem
清单16显示了可用于查看X.509证书的命令示例。 为什么要执行此操作的一个示例是验证证书的到期日期。
清单16.浏览X.509证书的命令语法
openssl x509 -in filename -noout -text
在命令中, filename是目录下的X.509证书文件名,如上面的列表所示。
清单17显示了从命令返回的用于查看X.509证书的信息的示例。
清单17. X.509证书示例
Certificate:Data:Version: 3 (0x2)Serial Number:0c:82:d5:ad:e7:f2:b0:fd:d7:22:14:e2:9fSignature Algorithm: sha1WithRSAEncryptionIssuer: CN=EET CA (S) on srv1., OU=I, O=IBM, L=Yamato, ST=Kanagawa,C=JPValidityNot Before: Dec 14 06:52:41 GMTNot After : Dec 14 06:52:41 GMT Subject: OU=This agent certificate was automatically generated, CN=EET FS_VMD Agenton host1. .....
要验证每个Encryption Expert组件的到期日期,请检查表4中所示的X.509证书文件。该表显示了每个Encryption Expert组件的证书文件名和有效期限。
表4. X.509证书信息
清单18显示了更新CA的X.509证书的命令。 在主服务器上发出命令。
清单18.更新CA的X.509证书的命令
# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/server/bin/re_gen_cert_auth
续订CA的X.509证书时,其他X.509证书将失效。 因此,您还需要为主服务器,故障转移服务器和代理续订X.509证书。
清单19显示了可用于更新主服务器的X.509证书的两个命令。
清单19.续订主服务器的X.509证书的命令(使用一个或另一个)
# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/server/bin/re_gen_cert# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/server/bin/re_sign_cert
re_gen_cert
命令重新创建密钥。re_sign_cert
命令重用密钥。
清单20显示了可用于更新故障转移服务器的X.509证书的两个命令。
清单20.续订故障转移服务器的X.509证书的命令(使用一个或另一个)
# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/server/bin/re_gen_failover_cert# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/server/bin/re_sign_failover_cert
re_gen_failover_cert
命令重新创建密钥。re_sign_failover_cert
重用密钥。
要续订代理的X.509证书,请执行以下操作:
在代理计算机上,发出以下命令以删除适当的代理的X.509证书。
要删除FS代理的X.509证书,请执行以下操作:
# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/vmd/bin/register_host clean
要删除DB2代理的证书:
# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/db2/bin/register_host clean
删除IDS代理的证书:
# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/ids/bin/register_host clean
在管理控制台中选择主机。 清除允许注册复选框,然后单击应用。 结果,证书指纹变为空。 在管理控制台中,选中“允许注册”复选框。 在代理计算机上,发出以下命令以注册适当的代理的X.509证书。
要注册FS代理的证书:
# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/vmd/bin/register_host
要注册DB2代理的证书:
# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/db2/bin/register_host
要注册IDS代理的证书:
# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/ids/bin/register_host
在管理控制台中再次选择主机。 选中启用通讯复选框,然后单击应用。 如果设置了故障转移服务器,请在主机的以下目录的agent.conf文件中再次注册访问点: FS代理
/ opt / IBM / DB2TOOLS / LUWEncryptionExpert / agent / vmd / etc
DB2代理
/ opt / IBM / DB2TOOLS / LUWEncryptionExpert / agent / db2 / etc
IDS代理
/ opt / IBM / DB2TOOLS / LUWEncryptionExpert / agent / ids / etc
有关更多信息,请参阅《 IBM InfoSphere Guardium Encryption Expert用户指南 》中的“第6章:配置主机”中的“配置代理以使用安全服务器”部分,该链接从“ 相关主题”部分中进行了链接。
结论
IBM InfoSphere Guardium Encryption Expert使用一种策略来保护数据,该策略包含一个或多个加密密钥以及一个或多个访问控制规则。 这些策略由安全服务器集中管理,并根据需要发送到保护数据的代理。 安全服务器还可以管理事件(例如访问冲突)的审核日志。 为了确保高可用性要求,您可以设置多个安全服务器。
FS代理提供了一种加密和解密写入文件系统或从文件系统读取的数据的功能。 该策略允许访问的任何应用程序都可以访问处于保护点的文件,只要该应用程序使用系统库来访问文件即可。 根据该策略,数据在写入时会自动加密,在读取时会解密。 加密对应用程序是透明的,您无需对应用程序本身进行任何更改。 如果使用加密密钥启用了“在主机上缓存”选项,则加密密钥将通过密码保护存储在FS代理计算机的磁盘上。 结果,即使自FS代理启动以来所有安全服务器未正常运行,FS代理也可以正常工作。 FS代理进程在启动时会检索所有相关的联机策略,并将它们缓存在内存中。 因此,此后,即使所有安全服务器都不可用,FS代理也可以正常工作,无论是否启用了“缓存在主机上”选项。
DB代理提供了一种功能,可以通过控制备份和还原命令来加密和解密DB2和IDS数据库备份映像。 每次向数据库代理发出备份或还原命令时,数据库代理都会与安全服务器进行策略通信。
SSL协议用于在安全服务器和每个代理之间以及在主服务器和每个故障转移服务器之间进行通信。 X.509证书用于身份验证。 X.509证书具有到期日期,因此您应确保在到期之前对其进行续订。
翻译自: /developerworks/data/library/techarticle/dm-0907encryptionexpert/index.html
如果觉得《使用IBM InfoSphere Guardium Encryption Expert保护您的敏感数据》对你有帮助,请点赞、收藏,并留下你的观点哦!