2023年11月26日发(作者:)

Ecology系统安全配置说明-选读

设计说明书

⽂档版本控制

⽂档简要信息: ⽂档主题(Title) Ecology 系统安全配置说明

作者(Author) 柳炉

审批者 (To Be Approved By) 说明 (Comments) Ecology 系统安全配置说明

⽂件名称(File Name)

⽂档版本历史:

序号 ⽇期 版本 变更说明

修改⼈ 审批⼈ 注释 1. 2015/03/20 1 新建

柳炉

2. 2015/03/22 2 针对使⽤⾮UTF-8编码开发的页⾯配置

柳炉 3.

2015/03/30

3

增加webservice 安全验证

柳炉

E c o l o g y 系统安全配置说明

Submitted By Weaver

Weaver Software 上海浦东耀华⽀路399号泛微软件⼤厦

邮政编码:200127 电话:+86 21 50942228 传真:+86 21 50942278

⽬录

1引⾔ (4)

1.1编写⽬的 (4)

1.2定义 (4)

1.3修复的漏洞情况说明 (4)

1.3.1xss过滤字符说明 (8)

1.3.2SQL注⼊过滤规则说明 (8)

1.4配置详细说明 (8)

1.4.1系统安全规则库⽂件配置说明 (8)

1.4.2其他事项 (23)

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检测安全包是否⽣效

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

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

点击【加⼊安全规则库⾃动更新服务】即可⽣效,每天凌晨1-5点之间的某个时间点会检查安全包是否有更新,如果有更新会⾃动更新规则库。

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

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

1.3.4系统安全体检

【检测】:点击此按钮,会对系统的配置进⾏检查,针对各项给出结果,如果不符合,则可以按照修复⽅式加以操作;

【修复】:点击【检测】后,会出现该按钮,点击此按钮,会对系统的配置进⾏修复,导出,并在界⾯上给出修复的详细步骤。

1.3.5安全监控

该页会对系统存在的攻击⾏为进⾏监控,如果确实发现为恶意攻击,可以⼿动封杀该IP地址访问系统。

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

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

1.3.6备份与恢复

如果系统出现安全包更新失败导致系统出现问题,可以在此页⾯快速恢复,以尽快让系统恢复到正常状态。

1.3.7安全包功能开启情况

此页会检查当前系统中所有可⽤的安全防护功能,并且会检查是否开启,如果没有开启,会给出开启该功能的⽅式。

1.4 修复的漏洞情况说明

1、解决XSS跨域攻击;

2、解决⾼危险级SQL注⼊攻击;

3、防范钓鱼风险;

4Host伪造攻击;

5referer检查;

6webservice⽩名单机制;

7cookiehttponly机制;

8http响应拆分漏洞;

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

10、⽂件上传安全检查;

11ip⽩名单机制;

12cookie+ip绑定机制;

13、攻击源IP封杀机制;

14cookie重置功能;

15、系统超时设置功能

1.4.1xss过滤字符说明

⽬前,xss过滤采⽤关键字过滤,过滤⽅式采⽤直接删除的⽅式。

1.4.2SQL注⼊过滤规则说明

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

1.5 配置详细说明

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

1.5.1.1 规则库⽂件位置

说明:

以下涉及到的xml⽂件都不能使⽤记事本、笔记本编辑,需要使⽤EditplusUltra等⽂本⼯具编辑保存。

1、开关配置⽂件

/ecology/WEB-INF/weaver_security_

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

auto-update-rules :是否⾃动更新安全规则库,默认为false ,需要客户同意才开启; esapi-sql :是否开启ESAPI 提供的防SQL 注⼊⽅式,默认不开启;

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

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

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

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

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

proxy-ip:如果前端有使⽤nigxF5等负载均衡软件代理,那么请配置这些代理软件的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-listwebservice-list节点,默认开启,允许访问的是内⽹地址httponly:配置是否启⽤

httponly安全cookie机制。

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

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

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

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_,如果客户需要单独添加⼀些规则,可以将

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_

可以配置多个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 参数缓存相关配置(intervalTimescanTime

配置⽂件: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:开启⾃动拦截模式,同时发送告警邮件。

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

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

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

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

当开启告警或者⾃动拦截模式时,设定当同⼀IP持续攻击达到设定次数时,执⾏告警或者⾃动拦截。默认为3次。

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

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

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

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

1.5.1.8 设置永久⿊名单和永久⽩名单

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

设置永久⿊名单列表。当开启攻击源IP⾃动拦截功能时,此处设置的IP地址将永远不能访问系统。适⽤于⽹络上经常⽤于攻击的⼀些IP地址。

设置永久⽩名单列表。当开启攻击源IP⾃动拦截功能时,此处设置的IP地址将不会被⾃动封杀(但违反输⼊规则依旧会取消此次请求),优先级⾼于永久⿊名单设置。适⽤于局域⽹访问外部⽹络时,本

地映射的外⽹地址。避免由于有⼈测试时被拦截,导致全局域⽹内都⽆

法访问系统。(注意:当开启了⾃动封杀IP功能时,请务必将EmobileEmssageE-brige 等和Ecology通信的地址加⼊到⽩名单中)

1.5.1.9 关于⼆次开发页⾯的配置问题(dev-listencodingpath

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

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

E8配置⽰例

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

E7配置⽰例

encoding:页⾯接收参数采⽤的编码格式

path:采⽤encoding指定编码开发的页⾯URL。可以配置多个url,也可以使⽤正则表达式来描述⼀个⽬录下的所有⽂件

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

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

请将要排除的URL添加到excepts节点中。可以配置多个url,也可以使⽤正则表达式来描述⼀个⽬录下的所有⽂件

1.5.1.11 URLlog⽇志)访问权限控制

配置⽂件: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_

当设置为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模式。

keycookie的键

pathcookie的路径

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

1.5.1.17 host攻击检查相关(skip-hosturl-paramshost-list)配置⽂件:WEB-INF/weaver_security_

该值设置是否跳过host头部检查,取值为truefalse。默认为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安全验证。如开启了该验证,必须配置webservicewebservice-ip-list节点数据,否则webservice将不可⽤。

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

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

webservice代表⼀个或多个webservice请求地址,使⽤正则表达式配置,可以有多个节点

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

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

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