freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

中间件种类繁杂,该如何对安全配置做统一管理
2021-12-07 14:42:20

中间件安全加固配置四步走

对于大型企业来说,会应用各类中间件和框架组件,而组件的安全配置和版本成为主要的攻击脆弱点,为此作为安全能力中心,我们定义了适用于各组件的通用安全配置基线,由各个项目组或中心基于此裁剪使用。

第一步:识别和列出产品所涉及的中间件清单

第二步:中间件版本控制流程

中间件版本需与官网最新安全稳定版本保持一致并周期性审计版本

第三步:识别并列出每个中间件对象的安全配置项清单

需满足中间件通用加固策略要求,参考业界标准如CIS标准、运营商标准安全配置规范、业界标准文档等确定中间件安全配置项清单。

第四步:测试实施

在测试实施后,记录加固检查记录至加固检查记录表中。


适用各类中间件的配置指导

说明:此部分会列出各类中间件面临的通用型安全配置指导,每种中间件存在其特性的安全配置,可以在通用配置的基础上进行填充。


可补充的安全配置参考:CIS benchmark(https://www.cisecurity.org/)/中间件官网/cve漏洞来源搜索

1. 中间件版本及漏洞检查

1.1漏洞核查与补丁升级

确认中间件类型和版本是否属于高危中间件(见高危中间件清单表),如果是,请首先完成升级和补丁安装。

也可从CVE网站、CNNVD网站,各类中间件的官方网站确认该本版的安全性。根据各类中间件检索是否存在高危漏洞。

CVE:   http://cve.mitre.org/cve/search_cve_list.html

CNNVD:http://www.cnnvd.org.cn/web/vulnerability/queryLds.tag


1.2 配置组件版本更新

关注官方发布的公告,在不影响业务的情况下,定期将版本更新到最新稳定版。例:Tomcat的安全漏洞可以关注官方发布的安全公告:http://tomcat.apache.org/security.html


2.最小化部署

2.1删除或禁用不必要的模块

组件以默认安装的方式安装后,出于便捷性保留了许多不必要的模块和功能,需要安装后卸载或禁用,以降低安全风险。

例:NGINX卸载HTTP WebDAV、gzip等不必要的模块。Tomcat应从server.xml中删除将不使用的连接器。


2.2 删除示例程序文稿

组件安装后需要删除默认的演示程序或文稿。

例:tomcat安装后需要删除/webapps下/docs、/examples、/ROOT、/host-manager、/manager内容。


3. 访问控制

3.1 白名单访问与设备绑定

原则上,中间件与应用系统及数据库之间在分开部署的情况下,应对各自部署的服务器上建立白名单访问机制,仅允许绑定的IP地址及MAC地址访问或调研中间件。


部署中间件的服务器应启用IP地址白名单,对中间件的配置维护操作,应绑定堡垒机,仅允许权限有效期内的授权用户通过特定堡垒机进行维护操作。对于非白名单范围内的IP地址应拒绝访问。


3.2 关闭中间件高危端口

检查当前开放的端口号,禁用或强化所有高风险和不必要的开放端口

  1. 部署中间件的服务器,对开放状态的所有高危端口和非必要端口应做关闭处理。
  2. 原则上,数据库只向堡垒主机和相应的应用程序服务器提供有限的通信端口。

常见高危端口:

  • ssh  22    SSH远程管理服务      (启用白名单访问的情况下可使用)
  • ftp    21    文件传输服务   
  • telnet    23    telnet远程管理服务     
  • Smb 445 shared folder
  • Rsync 873 data synchronization backup management
  • LDAP 389 Lightweight Directory Access
  • snmp    161    snmp网络管理服务   
  • ms-wbt-server    3389    远程桌面管理服务   
  • vnc    5900-5909    vnc管理服务   
  • smb 445  共享文件夹
  • rsync  873  数据同步备份管理
  • LDAP 389 轻量级目录访问
  • Coucchdb 5984 couchdb 数据库
  • Weblogic 7001 weblogic 控制台
  • Zabbix 8096 zabbix 控制台
  • ElasticSearch  9200
  • Mongodb 2701
  • Hadoop 50070
  • Zookeeper 2181 distributed open source code distributed application coordination service

3.3 设置端口认证

端口矩阵中列出该中间件开放的端口,应均启用强密码策略身份认证功能,只有通过身份认证的情况下才允许接口通讯。

3.4 输出端口矩阵

基于中间件端口检查及接口认证设置后的端口信息,输出至端口矩阵表中。端口矩阵表包含中间件名称及版本、端口号、端口状态、服务、认证功能。

4. 认证鉴权

4.1 账号管理

梳理并建立中间件账号清单,账号清单包括中间件信息及账号名称,账号对应的业务应用,同事中间件账号生命管理遵循以下要求:


1)   原则上,不能使用root或admin账号起中间件应用。

例:nginx配置nginx用户和用户组:(1) 创建nginx组:groupadd nginx  (2) 创建nginx用户并加入nginx组:useradd nginx–g nginx  (3) 配置httpd.conf文件以apache身份启动服务


2)      禁止账号登录操作系统

应在系统层面对中间件账号登录进行限制,禁止中间件账号登录至操作系统。


3)      账号清理

梳理所有中间件账户,对照中间件账户申请单,清理过期账号、未知账号,离职员工及调岗员工账号。并保留账户清理操作记录。

清理有效期为长期的账号,原则不允许设置有效期为长期的账号。中间件维护账户最长时限应不超过1年。中间件账户应每月进行一次梳理,以及时发现异常账户。


4)      账户开通管理

严格执行账号审批流程。除DBA外,原则上不允许为其他人开通账户。如因特殊原因需开通的,账号权限有效期应少于3天。对于因处理系统故障或系统变更而临时申请的账号权限,应在系统变更单或故障单关闭后进行权限自动关闭。


4.2 口令管理

对所有中间件的账户口令进行梳理,禁止弱密码、空密码及初始密码,所有密码必须符合强密码策略:

1)  密码须包含大小写字母,数字,特殊符号四类字符;

2)  密码长度不得小于8位;

3)  密码不能包含他人容易猜测或获得的与使用人相关的信息,如名字、电话号码和生日等;

4)  密码须避免连续相同的,全数字的或全字母的字符;

5)  首次使用密码须修改符合强密码策略;

6)  密码须定期90天内修改;

7)  最近10次密码不能相同;

8)    两次修改密码时间间隔必须大于30分钟;

9)    严禁共享个人的用户密码;

10)  禁止在纸上、软件文件中或手持设备中保留密码的记录。


5. 建立安全配置

通过对中间件进行安全配置以达到以下安全要求:


5.1 防止敏感信息泄露

不同的中间件有不同的安全配置以限制服务器平台信息泄露,从而使攻击者更难确定哪些漏洞会影响服务器平台。

例:NGINX 设置server_tokens  off以防版本信息泄露。


5.2 传输安全

1)  禁用不安全的SSL/TSL协议

禁止使用SSLV1.0、SSLV2.0,SSLV3.0不安全协议,建议也不要使用TLSv1.0协议

例:在nginx作为web服务器可在配置文件中的ssl_protocols配置:

server {  …  ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;  …  }


2)  禁用不安全的HTTP方法如PUT、DELETE、TRACE、TRACK等

例:在tomcat作为web服务器,可编辑 conf/web.xml 文件搜 readonly//若没有,则不需配置(本身默认为true)

<init-param>
<param-name>readyonly</param-name>
<param-value>true</param-value>
</init-param>
编辑conf/server.xml,配置allowTrace为false
<Connector port="8080"  allowTrace="false">
编辑conf/web.xml,增加以下内容
<security-constraint>
<web-resource-collection>
<url-partten>/*</url-partten>
<http-method>OPTIONS</http-method>
<http-method>HEAD</http-method>
<http-method>PUT</http-method>
<http-method>DELETE</http-method>
<http-method>TRACE</http-method>
</web-resource-collection>
<auth-constraint></auth-constraint>
</sercuity-constraint>

说明:如果产品基于spring框架开发的标准restful接口,已对HTTP方法进行了重新定义并对使用场景进行了限制,不会执行原生http方法,所以不需要禁用


3)  在HTTP响应消息的Header中设置X-Frame-Options、X-XSS-Protection、Content-Security-Policy、Strict-Transport-Security等安全头字段,以增强Web应用的安全防护能力。

例:nginx配置add_header X-Xss-Protection "1; mode=block";




本文作者:, 转载请注明来自FreeBuf.COM

# 企业安全 # tomcat # 漏洞管理 # 安全配置 # 中间件
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
评论 按热度排序

登录/注册后在FreeBuf发布内容哦

相关推荐
\
  • 0 文章数
  • 0 评论数
  • 0 关注者
文章目录
登录 / 注册后在FreeBuf发布内容哦
收入专辑