2024年4月2日发(作者:)

Ecology系统安全配置说明

设计说明书

Ecology系统安全配置说明

Submitted By Weaver

文档版本控制

文档简要信息:

文档主题(Title)

作者

Weaver Software

(Author)

说明 (Comments)

邮政编码:200127

文件名称(File Name)

文档版本历史:

电话:+86 21 50942228

传真:+86 21 50942278

Ecology系统安全配置说明

柳炉

审批者 (To Be Approved By)

上海浦东耀华支路39弄9号泛微软件大厦

Ecology系统安全配置说明

序号

1.

2.

3.

日期 版本

1

2

3

新建

变更说明

针对使用非UTF-8编码开发

的页面配置

增加webservice安全验证

修改人

柳炉

柳炉

柳炉

审批人 注释

2015/03/20

2015/03/22

2015/03/30

Ecology系统安全配置说明

4.

5.

6.

7.

8.

9.

2015/04/02

2015/04/07

2015/04/13

2015/04/22

2015/5/26

2015/6/15

4

5

6

7

8

10

11

12

修正本文件说明格式,方便理

解阅读

增加xss过滤字符的说明

增加log日志访问权限控制

增加参数值检查最小长度限制

增加httponly配置

增加一些必须配置的项

增加cookie检查

增加对攻击源IP进行告警和封

杀的功能

增加了cookie+ip绑定、登录前

页面参数格式严格限制、登录

检查功能

增强了文件上传格式检查,增

柳炉

柳炉

柳炉

柳炉

柳炉

柳炉

柳炉

柳炉

10. 2015/10/19

11. 2015/10/27

12. 2015/11/24 13 柳炉

13. 2016/3/31 14 强了规则库,默认开启登录校

默认开启了cookie重置、修复

柳炉

14. 2016/5/27 15 了安全包被绕过的bug,增强了

安全规则库。

新增自动更新规则库,安全包

更新自动提醒,系统安全检测,

攻击检查等功能,并且完善了

规则库。

柳炉

15. 2016/7/14 16 柳炉

Ecology系统安全配置说明

目录

1 引言........................................................................................................................................... 4

1.1 编写目的 ....................................................................................................................... 4

1.2 定义 ............................................................................................................................... 4

1.3 修复的漏洞情况说明 ................................................................................................... 4

1.3.1 xss过滤字符说明 ............................................................................................. 8

1.3.2 SQL注入过滤规则说明 .................................................................................. 8

1.4 配置详细说明 ............................................................................................................... 8

1.4.1 系统安全规则库文件配置说明 ....................................................................... 8

1.4.2 其他事项 ......................................................................................................... 23

Ecology系统安全配置说明

1 引言

1.1 编写目的

本文档主要描述了Ecology系统安全补丁包配置说明。方便升级同事进行升级包部署

1.2 定义

下文中提及到的WEB-INF/securityXML/weaver_security_custom_rules_与WEB-INF/

weaver_security_文件的格式完全一样。

1.3 安全包使用说明

部署安全包后,用sysadmin登录系统,访问如下地址:

贵司OA访问地址/security/monitor/

1.3.1 检测安全包是否生效

点击【安全包概要】页签,如果三项都显示为【开启】,则表示安全包正常生效。

Ecology系统安全配置说明

1.3.2 开启安全包自动更新功能

点击【加入安全规则库自动更新服务】即可生效,每天凌晨1点-5点之间的某个时间

点会检查安全包是否有更新,如果有更新会自动更新规则库。

1.3.3 查看当前系统环境信息及安全包版本信息

包含系统版本信息、ecology信息、中间件信息、JDK版本信息、安全包版本信息。

Ecology系统安全配置说明

1.3.4 系统安全体检

【检测】:点击此按钮,会对系统的配置进行检查,针对各项给出结果,如果不符合,则可

以按照修复方式加以操作;

【修复】:点击【检测】后,会出现该按钮,点击此按钮,会对系统的配置进行修复,导出

和,并在界面上给出修复的详细步骤。

1.3.5 安全监控

该页会对系统存在的攻击行为进行监控,如果确实发现为恶意攻击,可以手动封杀该

IP地址访问系统。

【更新安全规则库缓存】:如果自定义了安全规则库,可以通过点击该按钮使安全规则

库生效;

【查看攻击源IP详情】:点击此按钮,可以看到当前系统遭受攻击的情况。

1.3.6 备份与恢复

如果系统出现安全包更新失败导致系统出现问题,可以在此页面快速恢复,以尽快让系

统恢复到正常状态。

Ecology系统安全配置说明

【一键备份】:会将当前的规则库进行备份;

1.3.7 安全包功能开启情况

此页会检查当前系统中所有可用的安全防护功能,并且会检查是否开启,如果没有开启,

会给出开启该功能的方式。

1.4 修复的漏洞情况说明

1、解决XSS跨域攻击;

2、解决高危险级SQL注入攻击;

Ecology系统安全配置说明

3、防范钓鱼风险;

4、Host伪造攻击;

5、referer检查;

6、webservice白名单机制;

7、cookie的httponly机制;

8、http响应拆分漏洞;

9、log文件、数据库连接访问权限控制;

10、文件上传安全检查;

11、

ip白名单机制;

12、cookie+ip绑定机制;

13、攻击源IP封杀机制;

14、cookie重置功能;

15、系统超时设置功能

1.4.1 xss过滤字符说明

目前,xss过滤采用关键字过滤,过滤方式采用直接删除的方式。

1.4.2 SQL注入过滤规则说明

如果检查到存在SQL注入风险,则直接拦截,并给出提示信息。

1.5 配置详细说明

1.5.1 系统安全规则库文件配置说明

1.5.1.1 规则库文件位置

说明:

以下涉及到的xml文件都不能使用记事本、笔记本编辑,需要使用Editplus、Ultra等

文本工具编辑保存。

1、开关配置文件

/ecology/WEB-INF/weaver_security_

Ecology系统安全配置说明

status:是否开启安全防火墙;

auto-update-rules:是否自动更新安全规则库,默认为false,需要客户同意才开启;

esapi-sql:是否开启ESAPI提供的防SQL注入方式,默认不开启;

Ecology系统安全配置说明

esapi-xss:是否开启ESAPI提供的防XSS跨站攻击的方式,默认不开启;

is-check-session-timeout:是否启用系统超时控制,默认不开启;

session-timeout:如果启用了超时控制,设置超时时间,默认为30分钟;

is-reset-cookie:是否启用cookie重置功能,默认开启;

debug-xss-tool:是否开启安全补丁包本身的调试日志打印功能,默认不开启;

proxy-ip:如果前端有使用nigx、F5等负载均衡软件代理,那么请配置这些代理软件的IP

地址;

skip-ref:是否跳过referer检查,设置为true时跳过;设置为false时需配置ref-list节点以保

证其他正常跳转请求;

skip-host:是否跳过host头部检查,设置为true时跳过;设置为false时需配置host-list节点

以保证系统正常运行;

must-xss:是否执行xss过滤,设置为true时执行xss过滤

xss-type:执行xss的方式:0表示按照xss-keyword-list关键字及xss-list白名单过滤;

skip-rule:是否跳过SQL注入检查,设置为true时跳过

min-length:配置执行SQL检查和xss检查,参数值需满足的最小参数

enable-service-check:是否开启webservice安全检查,设置为true时开启。设置为true时需

配置webservice-ip-list和webservice-list节点,默认开启,允许访问的是内网地址

httponly:配置是否启用httponly安全cookie机制。

http-sep:配置是否启用http拆分响应漏洞检查。

param-key:配置是否启用参数名合法性检查。

cookie-ip-check:配置是否启用cookie和ip绑定登录功能。

is-login-check:是否开启登录检查功能,默认不开启。

enable-forbidden-ip:封杀IP的设定级别设置,默认为1,邮件告警,不自动拦截。

intercept-time:对攻击IP的封杀时长,默认为2小时。

forbidden-level:封杀级别设置,默认为1,仅仅当拦截严重威胁系统安全的攻击,比如sql

注入攻击。设置为2时,则对一切识别为攻击的行为都进行拦截,比如违反数据输入格式等。

forbidden-count:当开启攻击告警或者自动拦截时,当攻击的次数超过该字段设定的次数才

邮件告警或者封杀该IP。默认为3次。

warn-time:邮件告警时间间隔,默认为3分钟。当一个IP持续攻击时,每3分钟发送一次

告警邮件。

warn-count:告警次数,默认为10次。当一个IP持续攻击时,最多发送10封告警邮件。

send-mail-smtp:发件服务器的服务器地址。

send-mail-username:设置告警邮件的发送账号。

send-mail-password:设置告警邮件的发送账号密码。

receive-mail:设置接收告警邮件的账号。

session-id:会话标志,当在resin中修改了会话标志时,需要配置此处,默认为JSESSIONID。

2、标准规则库文件(该文件通过通用补丁包给到客户,或单独给到客户,勿单独修改)

/ecology/WEB-INF/weaver_security_

/ecology/WEB-INF/securityRule/*

3、用户自定义配置文件(可以是多个文件)

/ecology/WEB-INF/securityXML/*.xml

示例:weaver_security_custom_rules_,如果客户需要单独添加一些规则,可以将

Ecology系统安全配置说明

weaver_security_文件复制一份到securityXML目录下,重命名为

weaver_security_custom_rules_,将里面root节点内的所有内容清空,然后添加自己的

规则,格式和weaver_security_一样,但无须完整节点,需要哪些就配置哪些。

4、拦截日志文件(按天存放)

/ecology/WEB-INF/secritylog/*.log

1.5.1.2 开启防火墙功能(status)

配置文件:WEB-INF/weaver_security_

status设置为1即为开启,设置为0即为禁用,默认开启。

1.5.1.3 开启系统超时功能

配置文件:WEB-INF/weaver_security_

is-check-session-timeout:是否开启系统超时功能,默认为false,不开启

session-timeout:如果开启了系统超时功能,此处设置多长时间超时,单位为分钟,默认30

分钟

1.5.1.4 是否禁止系统被其他系统嵌套(enable-x-frame-options)

配置文件:WEB-INF/weaver_security_

enable-x-frame-options:是否启用防盗链机制,默认为开启(true),开启后,系统不能被其

他第三方系统嵌入iframe。

x-frame-options:如果上面开关设置为true,此处设置防盗链策略,默认策略为同源策略(即

相同的域名可以嵌套本系统)

配置白名单(即配置了白名单之后,该页面不受此设置影响,允许被其他第三方系统嵌套)

配置文件:WEB-INF/ securityXML/weaver_security_custom_rules_

Ecology系统安全配置说明

可以配置多个url,也可以配置url中的一部分,放行某个目录中的所有文件和子目录中的文

件。

1.5.1.5 启用XSS浏览器自带的防跨站功能(X-XSS-Protection)

配置文件:WEB-INF/weaver_security_

x-xss-protection:启用浏览器自带的防跨站功能,默认开启(true)

配置白名单(即配置了白名单之后,该页面不受浏览器防跨站功能的影响)

配置文件:WEB-INF/ securityXML/weaver_security_custom_rules_

可以配置多个url,也可以配置url中的一部分,放行某个目录中的所有文件和子目录中的文

件。

1.5.1.6 参数缓存相关配置(intervalTime、scanTime)

配置文件:WEB-INF/weaver_security_

经过加密的sql参数在服务器上保留的时间,默认是480分钟。

sql参数缓存清除线程扫描间隔时间,默认为30分钟扫描一次。

1.5.1.7 攻击源IP封杀配置(forbidden-info子节点)

配置文件:WEB-INF/weaver_security_

设定IP封杀的模式。默认为1,邮件告警模式。

0:不开启IP封杀功能;

1:开启攻击邮件告警,但不自动拦截;

2:开启自动拦截模式,但不发送告警邮件;

3:开启自动拦截模式,同时发送告警邮件。

Ecology系统安全配置说明

当开启自动拦截模式时,设定封杀时长。默认为2小时。

当开启告警或者自动拦截模式时,设定拦截的级别,取值为1和2。默认为拦截最危险的攻

击。

设置为1:仅拦截违反一般规则的攻击,主要是SQL注入攻击拦截;

设置为2:违反了特殊规则的攻击也进行拦截,比如违反参数格式行为等。

当开启告警或者自动拦截模式时,设定当同一IP持续攻击达到设定次数时,执行告警或者

自动拦截。默认为3次。

当开启告警时,多封告警邮件发送的时间间隔,默认为3分钟。

当开启告警时,对同一IP持续攻击最多发送的告警邮件次数。默认为10封。

当开启告警时,设置告警邮件的发送邮件服务器地址、发送账号及密码。

当开启告警时,设置告警邮件的接收账号密码。

1.5.1.8 设置永久黑名单和永久白名单

配置文件:WEB-INF/ securityXML/weaver_security_custom_rules_

设置永久黑名单列表。当开启攻击源IP自动拦截功能时,此处设置的IP地址将永远不能访

问系统。适用于网络上经常用于攻击的一些IP地址。

设置永久白名单列表。当开启攻击源IP自动拦截功能时,此处设置的IP地址将不会被自动

封杀(但违反输入规则依旧会取消此次请求),优先级高于永久黑名单设置。适用于局域网

访问外部网络时,本地映射的外网地址。避免由于有人测试时被拦截,导致全局域网内都无

Ecology系统安全配置说明

法访问系统。(注意:当开启了自动封杀IP功能时,请务必将Emobile、Emssage、E-brige

等和Ecology通信的地址加入到白名单中)

1.5.1.9 关于二次开发页面的配置问题(dev-list、encoding、path)

配置文件:WEB-INF/ securityXML/weaver_security_custom_rules_

对于E8,该节点配置需要以GBK编码接收数据的页面地址;

E8配置示例

对于E7和E6,该节点配置需要以UTF-8编码接收数据的页面地址。

E7配置示例

encoding:页面接收参数采用的编码格式

path:采用encoding指定编码开发的页面URL。可以配置多个url,也可以使用正则表达式

来描述一个目录下的所有文件

1.5.1.10 无需安全过滤器检查的链接配置

配置文件:WEB-INF/securityXML/weaver_security_custom_rules_

Ecology系统安全配置说明

请将要排除的URL添加到excepts节点中。可以配置多个url,也可以使用正则表达式来描

述一个目录下的所有文件

1.5.1.11 URL(log日志)访问权限控制

配置文件:WEB-INF/securityXML/weaver_security_custom_rules_

该配置主要用于配置某些特定的URL仅允许部分用户允许访问,防止信息泄露。如log日

志文件访问权限控制。

allow-users:配置允许访问的用户loginId,需要配置多个用户则配置多个节点即可。

urls:配置只能是allow-users中配置的用户才能访问的URL,若需配置多个URL则配置多

节点即可。(可以配置多个url,也可以使用正则表达式来描述一个目录下的所有文

件)

1.5.1.12 无需登录访问开关配置(is-login-check)

配置文件:WEB-INF/weaver_security_

该值设置是否对页面进行登录访问检查,默认为false,不进行登录访问检查。设置为true

时,所有页面都必须登录后才能访问。(访问例外配置可以参考1.3.1.10配置)

1.5.1.13 无需登录访问页面例外配置(no-login-urls)

配置文件:WEB-INF/securityXML/weaver_security_custom_rules_

Ecology系统安全配置说明

设置为true时,此处配置的url不进行登录验证。(可以配置多个url,也

可以使用正则表达式来描述一个目录下的所有文件)

1.5.1.14 ref跨站攻击检查(skip-ref)

配置文件:WEB-INF/weaver_security_

该值设置是否跳过ref攻击检查,默认为true,不需要检查referer来源。设置为false则检查

referer来源。

1.5.1.15 ref白名单(ref-list)

配置文件:WEB-INF/securityXML/weaver_security_custom_rules_

当开启skip-ref设置为false时,允许的referer取值。可以配置多个url,也可以使用正则表

达式来描述一个目录下的所有文件

1.5.1.16 httponly配置

配置文件:WEB-INF/weaver_security_

该值设置是否将cookie设置为httponly模式,默认为true。启用httponly

配置文件:WEB-INF/securityXML/weaver_security_custom_rules_

当启用httponly时,该处配置哪些cookie需配置为httponly模式。

key:cookie的键

path:cookie的路径

如果需要配置多个cookie为httponly模式,那么就配置多个cookie节点即可。

Ecology系统安全配置说明

1.5.1.17 host攻击检查相关(skip-host、url-params、host-list)

配置文件:WEB-INF/weaver_security_

该值设置是否跳过host头部检查,取值为true的false。默认为true,即不检查host header

的合法性。

配置文件:WEB-INF/securityXML/weaver_security_custom_rules_

合法的host header列表。这里需要配置Ecology服务器内外网IP、域名(如果是80端口,

那么需要配置带端口的不带端口两种模式)。

配置文件:WEB-INF/securityXML/weaver_security_custom_rules_

配置需要进行URL检查的参数,防范钓鱼网址攻击。该项需要skip-host设置为false才生

效。其访问的地址域名必须是host-list中允许的地址。

配置文件:WEB-INF/securityXML/weaver_security_custom_rules_

针对中配置的检查参数,如果有些页面允许接收传递URL格式的参数,那么将

该页面地址配置在节点下。

1.5.1.18 webservice安全相关配置

1、开启webservice安全验证

配置文件:WEB-INF/ weaver_security_

该值改为true即开启了webservice安全验证。如开启了该验证,必须配置webservice和

webservice-ip-list节点数据,否则webservice将不可用。

2、配置需要验证的webservice白名单

配置文件:WEB-INF/securityXML/weaver_security_custom_rules_

Ecology系统安全配置说明

webservice代表一个或多个webservice请求地址,使用正则表达式配置,可以有多个

节点

3、配置允许的webservice客户端地址

配置文件:WEB-INF/securityXML/weaver_security_custom_rules_

节点配置允许访问系统的webservice ip地址,可以配置多个节点。

Ecology系统安全配置说明

Ecology系统安全配置说明

1.5.1.19 xss注入攻击检查与过滤相关

相关参数:xss-must、xss-type、xss、xss-list、xss-keyword-list、xss-filter-list

配置文件:WEB-INF/ weaver_security_

该值设置是否启用xss注入攻击检查,取值true|false,默认为true,即进行xss检查与过滤。

该值设置false时,xss相关参数不生效。

配置文件:WEB-INF/securityXML/weaver_security_custom_rules_

Ecology系统安全配置说明

这里配置不需要进行xss过滤的地址。

配置文件:WEB-INF/securityXML/weaver_security_custom_rules_

xss-filter-list配置需要被过滤的关键字,列表中的关键字都会被替换为空字符串。

1.5.1.20 SQL注入攻击相关

相关参数:skip-rule、base、special-non、special-reg

配置文件:WEB-INF/ weaver_security_

该值确定是否跳过SQL注入攻击检查,取值false|true,默认为false,开启SQL注入检查。

设置为true,则不进行SQL注入检查。只有当该值设置为false时,其他参数才有效。

配置文件:WEB-INF/securityXML/weaver_security_custom_rules_

通用规则列表。多个rule间or关系,只要有一条符合,则该参数存在SQL注入攻击风险,

系统会停止业务逻辑的进行,返回错误信息。

配置文件:WEB-INF/securityXML/weaver_security_custom_rules_

special-non和special-reg用于配置特殊规则,使得某些由于业务需要而无法通过通用规则检

Ecology系统安全配置说明

查的参数能够正常运转。

special-rule节点配置了特殊规则定义,后面设置具体参数的特殊规则时,可以直接饮用这里

定义的规则即可。

rule节点间是And关系,即参数值必须满足这里所有的rule,才能通过SQL注入检查。

special-non中配置固定参数规则,special-reg中配置动态参数规则。

图一

图二

图一即配置的是固定参数规则,参数名是确定的。图二配置的是动态参数规则,即参数名不

确定,但具有一定的规则。

Ecology系统安全配置说明

1.5.1.21 特殊规则配置说明

/formmode/browser/

sqlwhere

##sqlkeyword1##

:配置参数接收的URL地址。

:同一个URL中的多个参数都配置到该节点下。

:每个param节点对应一个参数的信息。

-》:该节点配置的是参数名。

:配置或者引用该参数应该满足的规则,多个rule间是and关系。

1.5.2 其他事项

随着不断发现漏洞,会不断地完善规则库及防火墙功能。