专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »编程综合 » encryption:使用 IBM Database Encryption Expert 保护敏感数据 »正文

encryption:使用 IBM Database Encryption Expert 保护敏感数据

来源: 发布时间:星期一, 2009年9月7日 浏览:0次 评论:0
  介绍

  IBM Database Encryption Expert(也称为 Encryption Expert 或 DEE)使用基于策略系统保护数据Encryption Expert 使用策略包含个或多个加密密匙以及个或多个用于访问控制规则有两种类型策略:

  在线策略用于加密写到文件系统数据以及通过访问控制保护数据当把在线策略应用到目录时它将控制对该目录下文件和子目录访问将在线策略应用到目录操作称为保护文件系统(Guard FS)该目录称为保护点从文件系统读取或对其写入数据称为在线数据策略允许访问任何应用都可以访问保护点下文件前提是该应用使用系统库来访问文件将根据策略在写入时自动加密数据而在读取时自动解密数据加密对应用是透明您不需要更改应用本身

  离线策略用于保护数据库备份映像离线策略应用到用于备份和恢复数据库映像机器离线策略控制备份和恢复命令以及数据库备份映像加密和解密将离线策略应用到机器操作称为保护数据库备份(Guard DB)

  图 1 展示了 Encryption Expert 总体架构它由个或多个安全服务器和个或多个代理组成安全服务器拥有配置信息比如在线或离线策略以及来自代理审计日志配置信息和审计日志数据存储在和 Encryption Expert 绑定 DB2 中

  图 1. IBM Database Encryption Expert 架构概览



  Encryption Expert 安装在其数据需要保护机器(主机)上储存在安全服务器中策略被发送给代理或由代理根据需要获取代理由 FS(文件系统)代理(保护 FS)和个 DB 代理(保护数据库备份)组成默认情况下审计日志(比如违规访问)被发送到安全服务器

  安全服务器提供个基于 Web 界面称为 Management Console您可以通过它配置策略和浏览审计日志等要使用 Management Console需要打开 Web 浏览器并转到以下 URL:

  http://hostname:8445

  图 2 是 Encryption Expert Management Console 指示板它显示在日本语浏览器中

  图 2. Encryption Expert Management Console



  图片看不清楚?请点击这里查看原图(大图)

  您可以在多个机器上配置安全服务器以支持主服务器和故障转移服务器故障转移服务器是只读并且储存数据为主服务器备份

  主服务器充当认证机构(Certicate AuthorityCA)并向安全服务器和代理发布 X.509 认证安全套接字层(Secure Socket LayerSSL)协议用于安全服务器和每个代理、主服务器和每个故障转移服务器的间通信

  通过配置实现高可用性

  Encryption Expert 能够保证高可用性两个特性是使用故障转移服务器和加密密匙缓存Cache

  故障转移服务器

  如介绍所述您可以配置故障转移服务器以在主安全服务器发生故障时接管其工作通过使用 Encryption Expert 提供 SQL 复制技术您可以将故障转移服务器配置和主服务器配置同步使用 SQL 复制时捕捉(asncap)从数据库日志获取变更记录并将其存储到 staging 表应用(asnapply)每分钟从 staging 表检索数据并将变更应用到故障转移服务器两个都运行在主服务器上不复制审计日志每个故障转移服务器都可以从代理获取审计日志并独立存储不受其他安全服务器影响

  故障转移服务器设置好的后代理就可以访问它(只读)图 3 显示了代理如何选择和的通信安全服务器每个 FS 和 DB 代理都有自己配置文件名为 agent.conf您可以编辑 agent.conf 文件以配置选择安全服务器次序如果代理不能和第个服务器进行通信它将尝试和第 2个服务器通信依此类推

  要了解更多信息请参考 IBM Database Encryption Expert User's Guide “Chapter 3: Installing, removing, and upgrading Encryption Expert ” “Installing and configuring the Encryption Expert Failover Server” 小节您可以在 参考资料 部分找到相关链接

  图 3. 故障转移服务器机制



  在主机上缓存Cache加密密匙

  在线数据每个加密密匙都有个 Cached _disibledevent=>

  FS 代理由 vmd 和 secfsd 进程组成vmd 进程和安全服务器通信secfsd 保存在线策略以及和访问控制有关加密和解密数据这些进程作为系统守护进程当 secfsd 进程启动时和主机相关所有策略都通过 vmd 进程从安全服务器获取并且策略被缓存Cache到内存中如果进程获取策略失败它将每隔 5 秒钟重新尝试获取当将在线策略应用到目录时安全服务器就把该策略发送给代理而代理将其缓存Cache在内存中

  如果应用试图访问带有加密密匙(使用 Cached _disibledevent=>

  图片看不清楚?请点击这里查看原图(大图)

  Host Settings

  User ID 条件可以包含在安全规则中个和 User ID 相关设置是 Host SettingsHost Settings 用于识别允许使用哪种登录思路方法允许运行哪些进程而不管登录思路方法是什么等等例如如果您希望仅允许通过 ssh 和 telnet 登录特定用户访问保护点那么需要在登录进程前面添加 |authenticator|如清单 2 所示

  清单 2. 仅对通过 ssh 和 telnet 登录用户进行身份验证 Host Settings 举例

   
|authenticator|/usr/bin/login 
/usr/bin/su 
|authenticator|/usr/sbin/sshd 
/usr/sbin/ftpd 
/usr/dt/bin/dtlogin 
/usr/bin/sh 

  如上所述还可以控制 su从而使 Encryption Expert 甚至可以阻止伪装成其他用户根用户访问保护点

  要了解更多信息请参考 IBM Database Encryption Expert User's Guide “Chapter 6: Configuring hosts” “Configuring host tings” 小节您可以从 参考资料 部分获得相关链接

  清单 3 显示了个 User Not Authenticated 或 FAKED USER 例子当您通过不支持登录思路方法登录并运行访问保护点的后就会出现此类

  清单 3. User Not Authenticated

   
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 Database Encryption Expert User's Guide “Chapter 10: Changing encryption keys” “Using dataxform” 小节您可以从 参考资料 部分获得相关链接

  命令

  Encryption Expert 提供用于获取代理信息命令例如要获取保护点信息您可以输入清单 4 所示命令

  清单 4. 获取保护点信息举例命令

   
# secfsd -status guard 
GuardPo       Policy      Type  ConfigState Status  Reason 
----------       ------      ----  ----------- ------  ------ 
/home/db2admin/guard1 db2admin_policy1 local guarded   guarded N/A 
/home/db2admin/guard2 db2admin_policy2 local guarded   guarded N/A 

  您可以通过在选项中设置将 secfsd 和 vmd 进程用作命令

  保护数据库备份映像

  Encryption Expert 对加密数据库备份映像使用混合加密算法为数据库备份映像加密时将动态创建并应用个对称密匙这个对称密匙本身又由个或多个非对称密匙(公共密匙)加密 对于对称加密算法您可以使用 AES128 或 AES256对于非对称加密算法您可以使用 RSA1024、RSA2048 或 RSA4096

  您可以导入由其他 Encryption Expert 安全服务器创建公共密匙在导入的后个 DB 代理加密并由个安全服务器管理数据库备份映像可以恢复到由另个安全服务器管理个 DB 代理

  图 6 显示了 Encryption Expert 如何为数据库备份映像提供保护概图该图显示了针对 IDS 和 DB2 备份代理但您不能在同个机器上同时使用它们可以对机器应用包含多个备份规则和恢复规则离线策略使用 DB 代理备份和恢复操作将被记录下来用于审计并默认发送给安全服务器

  图 6. 保护数据库备份映像



  集成 DB2 备份和恢复功能

  您可以通过外部模块发出 DB2 备份命令这使您能够结合使用 DB2 代理模块和备份从而实现通过和安全服务器通信加密数据库备份映像数据库备份映像包含用于解密 DB2 代理模块和信息DB2 恢复命令 DB2 包含在数据库备份映像中代理然后 DB2 代理通过和安全服务器通信对其进行解密

  您还可以使用外部模块发出 DB2 恢复命令当指定外部模块的后它将代替包含在数据库备份映像中模块被使用如果 DB2 代理在备份数据库的后进行了升级并且您希望使用升级后模块那么可以使用 DB2 恢复命令指定该模块

  清单 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 恢复命令举例

   
% DB2 RESTORE DB dbname 

  集成 IDS 备份和恢复功能

  在 IDS 中有两种类型备份:ontape 和 _disibledevent=>OPERATION=write 

  在清单 8 例子中该属性文件指定:

  INFORMIXSERVER 和 SERVERNUM 环境变量用于计算策略条件

  用于备份

  清单 9 显示了恢复属性文件(attr.r)个例子

  清单 9. IDS 恢复代理属性文件举例

   
ENV=INFORMIXSERVER, SERVERNUM 
OPERATION=read 

  在清单 9 例子中该属性文件指定:

  INFORMIXSERVER 和 SERVERNUM 环境变量用于计算策略条件

  用于恢复

  清单 10 和 11 显示了些 IDS 备份命令例子

  清单 10. IDS 备份命令(onbar)例子

   
% onbar -b -w 

  清单 11. IDS 备份命令(ontape)例子

   
% ontape -v -s -L 0 -t STDIO > /.../backup.000 

  清单 12 和 13 显示了些 IDS 恢复命令例子

  清单 12. IDS 恢复命令(onbar)例子

   
% onmode -ky 
% onbar -r 

  清单 13. IDS 恢复命令(ontape)例子

   
% onmode -ky 
% cat /.../backup.000 | ontape -r -t STDIO -v 

  对于 _disibledevent=>C=JP                       // Issuer: Certicate Authority (CA) 
    Validity 
      Not Before: Dec 14 06:52:41 2008 GMT 
      Not After : Dec 14 06:52:41 2012 GMT  // Expiration date 
    Subject: OU=This agent certicate was automatically generated, CN=EET FS_VMD Agent 
on host1.yamato.ibm.com      // Subject: primary server, failover server, or agent 
    ..... 

  要核实每个 Encryption Expert 组件有效期请查看表 1 所示 X.509 证书文件该表显示了每个 Encryption Expert 组件证书文件名和有效期

  表 1. X.509 证书信息

Encryption Expert 组件(主体) X.509 证书文件(其中的) 有效期
CA donkey_signer-cert.pem 10 年
主服务器 donkey_server_hostname-cert.pem 10 年
故障转移服务器 donkey_server_hostname-cert.pem 4 年
代理 agent-cert.pem 4 年



  清单 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 代理 X.509 证书:

# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/db2/bin/register_host clean 

  删除 IDS 代理 X.509 证书:

# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/ids/bin/register_host clean 

  在 Management Console 中选择主机取消选择 Registration Allowed 复选框并单击 Apply这将清空 Certicate Fingerpr

  从 Management Console 勾选 Registration Allowed 复选框

  从代理机器发出以下命令以注册正确代理 X.509 证书

  注册 FS 代理 X.509 证书:

# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/vmd/bin/register_host 

  注册 DB2 代理 X.509 证书:

# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/db2/bin/register_host 

  注册 IDS 代理 X.509 证书:

# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/ids/bin/register_host 

  在 Management Console 中再次选择主机勾选 Communication Enabled 复选框并单击 Apply

  如果已经设置好故障转移服务器那么再次在主机下列目录中 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 Database Encryption Expert 使用包含个或多个加密密匙和个或多个访问控制规则策略保护数据这些策略由安全服务器集中管理并且发送到根据需要保护数据代理事件(比如违规访问)审计日志还可以由安全服务器管理为了确保高可用性需求您可以设置多个安全服务器

  FS 代理提供个特性用于加密或解密写到文件系统或从中读取数据策略允许访问任何应用都可以访问保护点下文件前提是该应用使用系统库来访问文件将根据策略在写入时自动加密数据而在读取时自动解密数据加密对应用是透明您不需要更改应用本身如果加密密匙启用 Cached on Host 选项那么它就存储在有密码保护 FS 代理磁盘上因此当 FS 代理启动的后即使安全服务器不能正常运行它也不会受到影响FS 代理进程在启动时获取所有相关在线策略并将其缓存Cache到内存中在此的后即使所有安全服务器不可用或者没有启用 Cached on Host 选项FS 代理都能够正常工作

  DB 提供个特性通过控制备份和恢复命令加密和解密 DB2 和 IDS 数据库备份映像每次使用 DB 代理发出备份或恢复命令时DB 代理就会和安全服务器通信以获取策略

  SSL 协议用于在安全服务器和每个代理、主服务器和每个故障转移服务器的间进行通信X.509 证书用于身份验证X.509 证书有个有效期因此您必须在过期的前延长它有效期

0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: