michael1983
作者michael1983联盟成员·2019-03-06 11:43
技术总监·某证券

中间件安全配置指南

字数 7901阅读 2243评论 1赞 5

_

中间件安全配置指南_________________________________

目 录

第1章 概述 5
1.1. 目的 5
1.2. 范围 5
1.3. 参考资料 5
第2章 WEBLOGIC SERVER 6
2.1. OS 6
2.2. 数据库 6
2.3. 应用程序补丁 6
2.4. 文件与目录权限 7
2.5. 加密传输敏感信息 7
2.6. SSL保护 8
2.7. 帐号与密码 8
2.8. BANNER 9
第3章 WEBSPHERE APPLIATION SERVER 9
3.1. OS 9
3.2. 数据库 9
3.3. 应用程序补丁 10
3.4. 文件与目录权限 10
3.5. 启用全局安全配置 11
3.6. 加密传输敏感信息 11
第4章 DOMINO 13
4.1. OS 13
4.2. 应用程序补丁 13
4.3. 文件与目录权限 13
4.4. 加密传输敏感信息 14
4.5. 禁止匿名访问DOMINO 14
4.6. 禁止匿名用户浏览数据库 15
4.7. 禁止WEB用户浏览数据库 15
4.8. 禁止WEB配置 15
第5章 TUXEDO 16
5.1. OS 16
5.2. 数据库 16
5.3. 应用安全补丁 16
5.4. 文件与目录权限 17
5.5. 5.5 数据库连接密码加密 17

第1章 概述
1.1. 目的
规范 Weblogic、websphere、Domino与Tuxedo中间件平台的安全配置,一定程度上增强中间件平台环境的安全性,从而更好的为 应用服务
1.2. 范围
所有生产环境weblogc websphere tuxedo domino平台
1.3. 参考资料
《weblogic security》
《websphere security 》
《tuxedo security》
《domino security》

第2章 Weblogic Server
2.1. OS
 描述
OS是Weblogic Server环境的基础,保证OS的安全性才能保证weblogic的安全性
 风险

 操作
参见《操作系统安全配置指南》相关部分
2.2. 数据库
 描述
数据库用来保存weblogic应用相关数据,因此保证数据库系统安全性可以较少数据受到的威胁
 风险

 操作
参见《数据库安全配置指南》相关部分
2.3. 应用程序补丁
 描述
应用软件补丁是厂商对weblogic可能包含的缺陷所做的修补,定期检查weblogic相关安全补丁可以避免降低遭受威胁的可能
 风险
高, 安装前需要严格测试
 操作
BEA安全公告网站: http://dev2dev.bea.com/advisoriesnotifications/

  1. 检查当前weblogic的版本是否受漏洞影响
    查看“Console/[Versions]标签的Weblogic Console”找到版本号,如8.1.1.0
    weblogic server 8.1 sp1
  2. 按照SUGGESTED ACTION提示操作
    2.4. 文件与目录权限
     描述
    weblogic相关文件包括应用发布的文件,可能包含敏感信息(如应用配置文件包含数据库连接信息),因此,严格控制敏感文件的权限可以避免文件泄漏造成的威胁
     风险

     操作
  3. 在每个weblogic主机中,应该专门建立一个特殊用户,用于运行weblogic server,拥有针对BEA主目录的所有权限
  4. 其他除weblogic管理员外的其他用户对BEA主目录没有任何访问权限
  5. 尤其控制config.xml web.xml等配置文件的访问权限,除了weblogic管理员外其他人没有任何权限
    2.5. 加密传输敏感信息
     描述
    使用未加密的协议进行信息传输无法避免网络嗅探的发生,传输敏感信息如身份认证信息,使用SSL可以保障信息传输的安全性
     风险

     操作
    以下为console管理中浏览器与服务器传输信息配置SSL
  6. 生成私钥与公钥并产生自签名证书
    运行JDK目录下tools下的命令keytool
    keytool –genkey –alias _WAS1_key –keyalg RSA –keysize 512 –dname “CN=10.1.1.1,OU=Support,O=,L=shanghai,S=SH,C=CN” –keypass –keystore ./console.jks –storepass
    注: alias可以任意,不过不可重复;dname中CN是域名或IP,OU是组织部门,O是组织,L是城市,S是省份,C是国家;keypass是私钥的密码,storepass是keystore的密码,两者必须一样,keystore存储生成的keystore文件
  7. 登录console,点击”Server”->”configuration”->”Keystore and ssl”->”change …”
    “Custom Identity Keystore”中填入console.jks的全路径

      “passphrase”填写产生证书时的storepass()
      Type选择jks
  8. finish后重启weblogic server
    2.6. SSL保护
     描述
    通常SSL协议并不能抵抗中间人攻击的发生,通过启用主机名校验,可以有效确认信息发送方的身份,避免了中间人攻击的发生
     风险
    低,可能会影响性能
     操作
    Server-><server name>->Connections->SSL,禁用”Hostname Verification Ignored”
    2.7. 帐号与密码
     描述
    通过定义密码的最短长度,密码的失败登录尝试等密码策略可以有效的保护密码安全
     风险

     操作
  9. 展开“Security-->Realms”,选择需要配置的realm名字(默认myrealm)
  10. 选择“User Lockout”,定义如下属性:
    Lockout Threshold(失败尝试次数)
    Lockout Duration(帐号锁定时间)
    Lockout Reset Duration(失败尝试时间)
  11. 重启weblogic服务
    2.8. Banner
     描述
    默认当weblogic实例响应http请求的时候会发送包含自身版本信息的响应,这可能会增加服务器受攻击的威胁
     风险

     操作
    Server-><server name>->Connections->HTTP,禁用”Send Server Header Enabled”属性

第3章 Websphere Appliation Server
3.1. OS
 描述
OS是WAS(Websphere Application Server)环境的基础,保证OS的安全性才能保证WAS的安全性
 风险

 操作
参见《操作系统安全配置指南》相关部分
3.2. 数据库
 描述
数据库用来保存WAS应用相关数据,因此保证数据库系统安全性可以较少数据受到的威胁
 风险

 操作
参见《数据库安全配置指南》相关部分
3.3. 应用程序补丁
 描述
应用软件补丁是厂商对WAS可能包含的缺陷所做的修补,定期检查WAS相关安全补丁可以避免降低遭受威胁的可能
 风险
高, 安装前需要严格测试
 操作

  1. 登陆IBM官方网站,点击”support and download”,,在” Products of IBM”下” Category”选择”Websphere”,”sub-category”选择”websphere application server”
  2. 下一步,” Download types”选择”update”,”Operating system”选择相应的操作系统或平台,”Software version”选择相应的软件版本
  3. 检查当前已安装的websphere application server的软件版本与补丁信息,并对照补丁信息,确认是否需要安装
    使用$WAS/bin/VersionInfo命令查看($WAS表示webphere application server安装目录)
    3.4. 文件与目录权限
     描述
    websphere相关文件包括应用发布的文件,可能包含敏感信息(如应用配置文件包含数据库连接信息),因此,严格控制敏感文件的权限可以避免文件泄漏造成的威胁
     风险

     操作
  4. 在每个WAS主机中,应该专门建立一个特殊用户,用于运行WAS,拥有针对WAS主目录的所有权限
  5. 其他除WAS管理员外的其他用户对WAS主目录没有任何访问权限
  6. 尤其控制config.xml web.xml等配置文件的访问权限,除了WAS管理员外其他人没有任何权限
    3.5. 启用全局安全配置
     描述
    缺省情况下,WebSphere Application Server 不提供安全性。这意味着所有网络链接和不经过身份验证的。因此,任何有权访问部署管理器(通过 HTTP 访问 Web 管理控制台,或者通过 SOAP/IIOP 访问 JMX 管理端口)的用户都可以使用 WebSphere Application Server 管理工具来执行任何管理操作,甚至包含删除现有的服务器。毫无疑问,这带来了极大的安全风险。
     风险

     操作
    Console-〉Security Center-〉General-〉”Enable Security”
    3.6. 加密传输敏感信息
     描述
    使用未加密的协议进行信息传输无法避免网络嗅探的发生,传输敏感信息如身份认证信息,使用SSL可以保障信息传输的安全性
     风险
    低,可能会影响性能
     操作
    一下操作为浏览器与服务器之间传输信息配置SSL
  7. 编辑httpd.conf,确保下面的行没有注释:
    windows:
    LoadModule ibm_ssl_module modules/IBMModuleSSL128.dll
    Listen 443
    <VirtualHost host.some_domain.com:443> (You must also substitute your fully qualified host name in this line.)
    SSLEnable
    </VirtualHost>
    Keyfile "HTTPServer_installdir/ssl/keyfile.kdb"
    UNIX:

      LoadModule ibm_ssl_module libexec/mod_ibm_ssl_128.so 

    AddModule mod_ibm_ssl.c
    Listen 443
    <VirtualHost host.some_domain.com:443> (You must also substitute your fully qualified host name in this line.)
    SSLEnable
    </VirtualHost>
    SSLDisable
    Keyfile "HTTPServer_installdir/ssl/keyfile.kdb"
    SSLV2Timeout 100
    SSLV3Timeout 1000

  8. 确保下面行没有注释:
    针对WebSphere Commerce
    Listen 8000
    Listen 8002
    Listen 8004

      针对WebSphere Payments
      Listen 5432

    Listen 5433

  9. 重新启动IBM HTTP SERVER
    注: Keyfile "HTTPServer_installdir/ssl/keyfile.kdb"中HTTPServer_installdir为IBM HTTP服务器安装路径,keyfile.kdb是自带的自签名证书,用于测试目的,建议正式环境中重新生成新的自签名证书用于加密

第4章 Domino
4.1. OS
 描述
OS是Domino环境的基础,保证OS的安全性才能保证Domino的安全性
 风险

 操作
参见《操作系统安全配置指南》相关部分
4.2. 应用程序补丁
 描述
应用软件补丁是厂商对Domino可能包含的缺陷所做的修补,定期检查Domino相关安全补丁可以避免降低遭受威胁的可能
 风险
高, 安装前需要严格测试
 操作

  1. 登陆IBM官方网站,点击”support and download”,,在” Products of IBM”下” Category”选择”Lotus”,”sub-category”选择”Lotus Domino”
  2. 下一步,” Download types”选择”update”,”Operating system”选择相应的操作系统或平台,”Software version”选择相应的软件版本
  3. 检查当前Lotus Domino版本,并对应补丁信息,确认是否需要安装
    4.3. 文件与目录权限
     描述
    Domino
     风险

     操作
  4. 在每个domino主机中,应该专门建立一个特殊用户,用于运行domino server,拥有针对domino主目录的所有权限
  5. 其他除Domino管理员外的其他用户对domino主目录没有任何访问权限
    4.4. 加密传输敏感信息
     描述
    使用未加密的协议进行信息传输无法避免网络嗅探的发生,传输敏感信息如身份认证信息,使用SSL可以保障信息传输的安全性
     风险
    低,可能会影响性能
     操作
    以下操作为浏览器与服务器之间传输信息配置SSL
  6. 如果有必要,从Domino Certificate Authority模板创建Domino Certificate Authority数据库
  7. 打开”Certificate Authority数据库”, 选择”创建Certificate Authority Key Ring & Certificate”
  8. 填写相关的信息,注意” Common Name”必须唯一标识CA
  9. 填写完成后,点击” Create Certificate Authority Key Ring”,将创建CAKey.kyr key ring文件
  10. 打开”Certificate Authority数据库”,选择”配置Certificate Authority profile文件”
  11. 打开” Certificate Authority数据库”,选择”创建服务器key file与证书”,填写必要的信息,确保” Common Name”必须是服务器的完整域名或IP地址,最后选择”创建服务器key ring”
  12. 拷贝”keyfile.kyr和keyfile.sth”到 Domino的 Data目录
  13. 服务器配置
    打开Server document,选择” Ports -> Internet Ports tab”, 确保SSL key file与创 建的吻合,SSL PORT是 Enable状态

4.5. 禁止匿名访问Domino
 描述
默认Domino允许匿名用户访问Notes服务,如果Notes使用都是注册用户,必须关闭匿名访问,减少不必要的安全威胁
 风险

 操作
Security Setting->Allow Anonymous Notes Connection设置为No
4.6. 禁止匿名用户浏览数据库
 描述
默认情况下匿名用户拥有对database的普通访问权限,这可能导致不必要的安全威胁
 风险

 操作
在database ACL中创建Anonymous用户,不授予任何权限
4.7. 禁止web用户浏览数据库
 描述
默认web用户允许浏览数据库,通常我们并不需要这么做,遵循权限的最小化始终是基本的安全策略
 风险

 操作
设置Security Setting-〉“Allow HTTP Client To Browse Database”为No
4.8. 禁止web配置
 描述
默认Domino允许通过web对进行domino管理, 如果没有好的密码策略与加密策略,web管理可能成为攻击者的入口
 风险
低,无法通过web进行配置
 操作
删除webadmin.ntf与webadmin.nsf数据库,通过Lotus Domino Administrator 客户机进行配置

第5章 Tuxedo
5.1. OS
 描述
OS是Tuxedo环境的基础,保证OS的安全性才能保证Tuxedo的安全性
 风险

 操作
参见《操作系统安全配置指南》相关部分
5.2. 数据库
 描述
数据库用来保存Tuxedo应用相关数据,因此保证数据库系统安全性可以较少数据受到的威胁
 风险

 操作
参见《数据库安全配置指南》相关部分
5.3. 应用安全补丁
 描述
应用软件补丁是厂商对Tuxedo可能包含的缺陷所做的修补,定期检查Tuxedo相关安全补丁可以避免降低遭受威胁的可能
 风险
高, 安装前需要严格测试
 操作
BEA安全公告网站: http://dev2dev.bea.com/advisoriesnotifications/

  1. 检查当前Tuxedo版本是否受漏洞影响
  2. 按照SUGGESTED ACTION提示操作
    5.4. 文件与目录权限
     描述
    Tuxedo相关文件包括应用发布的文件,可能包含敏感信息,因此,严格控制敏感文件的权限可以避免文件泄漏造成的威胁
     风险

     操作
  3. 在每个Tuxedo主机中,应该专门建立一个特殊用户,用于运行Tuxedo,拥有针对Tuxedo主目录的所有权限
  4. 其他除Tuxedo管理员外的其他用户对Tuxedo主目录没有任何访问权限
    5.5. 5.5 数据库连接密码加密
     描述
    当使用除TUXEDO/QM的XA接口(如Oracle X/A接口)配置连接资源的时候,默认明文方式存储数据库用户名与密码于OPENINFO中,这可能会导致数据库连接信息泄露
     风险

     操作
  5. 编辑应用程序的配置文件(ubbconfig),在OPENINFO中使用五个*号代替密码
  6. 使用tmloadcf的时候,Tuxedo会提示输入密码

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

5

添加新评论1 条评论

baimao3000baimao3000安全工程师江苏天宝
2019-03-14 10:02
非常好的文档,感谢您!
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广