<< Click to Display Table of Contents >> 安全配置复制链接 |
1.安全漏洞防护
•CSRF.check=false
用于判断是否校验CSRF跨站请求攻击,默认为false,设置为true后,会校验请求的referer请求头是否以CSRF.white.list中配置的url开始。
•CSRF.white.list=
设置CSRF的白名单,如果请求消息的referer请求头在设置的名单外,则认为是CSRF攻击,默认为空,配置CSRF.check=true后,需要把服务器或其他信任网站的的地址加入该白名单(如http://localhost:8070/),多个地址之间用英文字符逗号隔开。
•CSRF.token.check=false
设置CSRF token校验,默认为false,配置为true后所有请求均会带上token信息。
•x-frame-options.check=false
•x-frame-options.uri=
通过x-frame-options.check来作为开关,是否在header添加x-frame-options,如果x-frame-options.uri为空,则将x-frame-options设置为SAMEORIGIN,如果x-frame-options.uri不为空,则配置为对应的uri。x-frame-options.uri默认为空。
•need.check.xss=true
用于判断是否校验XSS跨站脚本攻击,默认为false,设置为true后,会校验字符串是否为xss攻击,配置后能提高产品安全性。
•cache.request.status=true
默认为true,设置为true时防止一个请求被执行两次:1、通过session确定是否为同一个请求,2、时间戳,同一个用户的同一个时间点的请求只允许执行一次。
•prevent.use.xml.dtds=true
设置为true后防止xml注入
•login.method.post=false
是否限制登录请求方法只允许POST,为true时只运行POST请求登录,默认为false,在允许POST请求登录的同时也允许GET请求登录。
•secure.check.cfs=false
设置js是否防止frame嵌入,设置为true后,非同源不能嵌入iframe
•security.constraint.http.methods=GET,POST,HEAD,PUT
http请求默认允许的方法,默认允许GET、POST、HEAD、PUT。
•user.name.min.character.size=2
用户名最小字符长度,默认为2。
•user.name.max.character.size=32
用户名最大字符长度,默认为32。
•url.white.list=
网页组件和portal里网页组件的白名单,如果要访问news.qq.com和map.qq.com,需要配2个,用英文分号分隔,不支持通配符。不配置时,默认允许当前BI网址。
•secure.check.strict=false
默认为false,配置为true时:
管理员修改密码(口令)之后的第一次登录, 强制提示修改密码(口令);
无法授权到具体用户 。
•secure.code.enable=true
新增参数控制文本组件中的富文本是以文本显示,true为富文本,false为文本,默认为true。
•check.end.uri=
控制访问的URL后缀,默认为空,可以访问任意后缀URL
•user.upload.interval.min=500
控制文件上传的最短间隔时间,单位为ms,默认为500。
控制图片组件、SSL设置中上传文件的大小不能超过这个值,单位为兆(M),默认为256。
•ssl.certificate.file.type=pem,cert,ks,jks,keystore,cer,pcs
控制SSL设置中上传证书文件的类型,默认值为pem,cert,ks,jks,keystore,cer,pcs。
•name.max.character.size=100
限制系统中的资源名称字符数最大值,默认值100。
•xss.notcheck.params=
配置不检测xss的参数,比如报告路径中用户不希望更改的特殊符号。默认为空,即对所有敏感字符都禁止提交。
•jvm.max.usage.percent=98
已使用内存占比阈值,已使用内存的占比超过这个配置值就会取消所有查询,默认为98%。
2.安全模块配置
•secure.admin.name=admin
默认admin的用户名为admin。
•secure.admin.pass=g5
默认的admin的密码(口令),默认值为g5,会随安装包中输入的管理员密码(口令)而改变。
•secure.admin.role=admin_role
•secure.group.admin.role=groupAdmin_role
•secure.developer.role=developer_role
•secure.everyone.role=everyone_role
在角色管理页面中额外显示系统默认角色,以配置的属性为角色名称(实际权限为默认角色权限:admin_role、groupAdmin_role、developer_role、everyone_role),默认不额外显示。
➢示例:
•更改admin的用户名、角色名分别为mm,mm_role。
1)配置secure.admin.name=mm,secure.admin.role=mm_role。
2)删除产品安装目录“......\bihome\secure”下的admin.principal、admin_role.role文件。
3)重启产品,使用用户名mm,默认密码g5登录,并在【管理系统 > 认证授权 > 角色管理 】下查看mm_role角色名。
•更改groupAdmin_role的角色名。
1)当用户需要更改groupAdmin_role的名称,首先配置secure.group.admin.role=组管理员并重启服务;
2)重启服务后打开认证授权,原来的groupAdmin_role角色更名为组管理员(不可删除),并出现不具有实际功能的groupAdmin_role角色(原有groupAdmin_role角色的用户关联到此角色,可删除)。
3)删除此配置后,组管理员更名回groupAdmin_role,并出现可删除的无实际功能的组管理员角色,原有组管理员角色的用户关联到这个角色。
•admin.permission.strict=false
admin超级管理员是否隐藏,默认为false不隐藏,配置为true后admin用户和admin_role角色隐藏,原本的相关角色及权限全部失效并且admin用户无法进行登录,同时在授权编辑中隐藏掉所有管理系统操作。
•secure.developer.quotas=50
开发者角色占系统资源的份额,默认为50。
•FSAuthenticationLimit=2000
用户量大,提升编辑保存用户的性能,建议配置为最大用户数的一半,默认为2000。
•useGTreeGrid2=false
用户量大,改为true,提升编辑保存用户的性能,默认为false。
•prompt.weak.pwd=true
当为true 时,若密码(口令)强度不符合密码(口令)策略要求,登录时会弹出提示,false不会弹出,默认为true。
•login.lock.time=15
•login.attempt.times=5
在短时间内连续登录错误的次数超出限定次数后,再次登录账户将会被锁定,默认为15分钟内5次。
•secure.access.check.strict=false
是否自动扩展权限,默认值是false,扩展。设置为true不自动扩展(如果query没有权限,报告有权限,打开报告会报错。组合查询同理)。
•secure.fs.userAttribute.path=userAttribute
用户自定义属性的存储文件名,默认存在secure目录下。
•secure.db.action=false
默认值为false,当设置为true时,可以在界面中对报告操作权限进行配置。
•secure.authen.author.split=true
是否显示授权权限,默认值为false不显示,true显示。
•async.serial.permissions=true
权限系列化的时候是否走异步;默认值:true:异步处理;false,不走异步。
•login.page.expire.time=60000
登录页面停留超时配置,单位为毫秒(ms),默认为1分钟。
•editor.force.write.permission=true
没有写权限只有读权限能否在编辑报告中保存报告。默认值是true,用户仅有报告读权限只在查看报告模块可见此报告。配置成false,那么只要有读权限,制作报告也可见此报告,但是只能查看,编辑,不能保存。
•support.reset.pwd=true
是否显示重置密码(口令),true显示,false不显示,默认显示。
•admin.login.ip.white.list=
允许admin登录的IP白名单,即:就只允许admin在这个ip的电脑上登录,其他电脑上无法登录。 可以配置多个IP,中间用逗号分隔。如果不配置,表示不限制IP,所有电脑都可以访问。
•userlogin.sso=false
为true时限制同一个用户只允许登录一个终端,不同浏览器也只能登录一个。在别的浏览器或终端登录的用户自动会把原本登录的用户踢掉。默认为false。
•show.autologin=true
登录界面自动登录复选框是否显示,true显示,false不显示,默认显示。
•secure.user.pass.pbkdf2=false
设置为true后,密码(口令)以pbkdf2加密算法进行加密,设置为false则不对密码(口令)进行pbkdf2加密,默认为true。
•ldap.pageresult.critical=true
默认true;false:ldap同步拉取数据时可以不分页; true:ldap同步拉取数据时分页处理。
•ldap.group.synchronize=true
默认为true
true表示:存量同步时,当ldap中用户的组和产品中用户的组不同,同步后会按照ldap中的组显示;
false表示:存量同步时,当ldap中用户的组和产品中用户的组不同,同步后会按照产品中的组显示。
•ldap.ou.separate=true
openldap:当设置为true时,同步用户时把用户的父节点(不包括dc)作为分组同步到产品;当设置为false时,将dn对应路径下的内容全部同步到产品根目录。
AD域:当设置为true时,将dc也作为分组同步到根目录;当设置为false时,将dn对应路径下的内容全部同步到产品根目录。
•user.password.modify.email=true
默认为true,true表示管理员修改用户密码(口令)会发送邮件。邮件样式可在系统设置>邮件配置中进行配置。
•password.security.check=false
默认为false,修改用户密码(口令)是否需要输入登录用户的密码(口令);false:不需要输入。true:需要输入。
•max.db.icon.num=1000
默认为1000。编辑用户权限时,控制资源列表显示的资源数量。
•email.force.fill=true
控制用户邮箱是否必填,属性的默认值为true,邮箱为必填项,如果将属性改为false,邮箱可以为空。配置为true时,没有邮箱的用户登录后会提示:
➢注意:此属性为true,admin用户的邮箱为空也不会强制要求填写。
•reset.userInfo.link.timeout=1800000
发送到邮箱的重置密码(口令)链接的失效时间,单位毫秒,默认超过半小时失效
•user.password.encryption=DEFAULT
设置用户密码加密算法,默认为MD5,可使用产品内置的SHA加密算法:user.password.encryption=g5.util.secure.impl.DefSHAUserPWDVerifier。配置后重启环境生效,注意重启后所有用户密码已失效,需要重置。admin可按照如下方法设置:配置参数secure.admin.pass=xxx,删除admin.principal,重启产品。
若需要使用国密等其他加密算法算法,请联系商务定开支持。
•dbsource.password.encryption=DEFAULT
设置数据源密码加密算法,默认为Hash。可使用产品内置的AES加密算法:dbsource.password.encryption=g5.util.secure.impl.DefAESPWDVerifier,配置后重启环境生效。
若需要使用国密等其他加密算法算法,请联系商务定开支持。
•mail.password.encryption=DEFAULT
设置邮箱密码加密算法,默认为Hash加密。可使用产品内置的AES加密算法:mail.password.encryption=g5.util.secure.impl.DefAESPWDVerifier,配置后重启环境生效。
若需要使用国密等其他加密算法算法,请联系商务定开支持。
•db.filesystem.encryption=DEFAULT
设置数据库系统数据库密码加密算法,默认为Hash加密。可使用产品内置的AES加密算法。即配置:db.filesystem.encryption==g5.util.secure.impl.DefAESPWDVerifier,配置后重启环境生效。
若需要使用国密等其他加密算法算法,请联系商务定开支持。
配置为true后,管理员不可修改用户的邮箱和密码(口令),也不可批量导入导出用户,默认为false。
•secure.minimum.use.period=180000
密码(口令)修改最短间隔,单位毫秒(ms),默认在3分钟内不能第二次修改密码(口令)。
•secure.maximum.use.period=36500
配置后可以设定密码(口令)最长使用期限,单位天,默认最长使用期限为100年。
•secure.history.num=2
历史比较密码(口令)数,修改密码(口令)时不能与之前的第X(配置值)个密码(口令)重复,默认为不能和前两个密码(口令)重复。
•secure.pass.expired.tip.days=10
密码(口令)到期提前提醒天数。当密码(口令)设置最长使用期限时,提前第X天进行提醒,默认提前10天提醒。建议配置值小于secure.maximum.use.period。
•permission.asset.author.hide=false
是否隐藏【管理系统>认证授权】下的授权编辑标签页,默认不隐藏。
•log.username.encrypt=false
日志中打印的用户敏感信息是否进行匿名化处理,默认值为false时不进行匿名化,true时进行匿名化。
•email.check.existence=false
Excel批量导入用户、数据集批量导入用户时是否校验邮箱重复。默认为true,校验邮箱重复;false,不校验邮箱重复。
•login.captcha.use=false
配置用户名/密码登录界面是否显示及必须要输入图形验证码。true时登录需要输入图形验证码;false则无需输入,默认为false。
•login.additional.verify=
配置用户名/密码登录界面是否需要额外输入的验证码类型,默认为空即不需要额外输入,mail时点击获取验证码验证码邮件形式发送到用户名对应的邮箱;mobile时点击获取验证码验证码短信形式发送到用户名对应的手机。
•picture.privacy.check=false
添加图片是否显示安全信息声明,默认为false,不显示;true,显示。配置为true且第一次上传图片时会显示安全信息声明,此时会在...\vividime Z-Suite\vividime\bihome\下生成子目录pictureprivacy,用户可根据实际需要修改pictureprivacy_zh.html、pictureprivacy_en.html文件内容。
•data.transmission.cipher.mode=sm2/sm4
前后端流传输支持国标SM2和SM4加密协议,默认不添加。配置为sm2,支持SM2协议,配置为sm4,支持SM4协议。
•param.value.encrypt=false
日志和数据库表中是否对参数的值加密。默认为false,不加密,参数的值为真实值;true,加密,参数的值为非真实值。
•modify.data.masking.when.referenced=true
是否可以在自服务或组合数据集里修改数据脱敏和字典列,默认为true,可以修改;如果配置为false,则不可修改在源数据集里设置了的数据脱敏和字典列。
➢说明:
如果配置为false,则:
自服务数据集结果节点中无法修改来自源数据集的数据脱敏和字典列,但是源数据集某列没有数据脱敏和字典列时,可以在结果节点定义该列数据脱敏和字典列。
当源数据集的列数据脱敏和字典列发生变化时,在保存源数据集时会去刷新自服务数据集的元数据,同步更新相应列的数据脱敏和字典列(如果此自服务数据集未保存正在编辑,需要刷新后才能看到变化,如果自服务数据集已保存,重新打开无需刷新数据脱敏和字典列就已更改),如果更新后有数据脱敏和字典列则结果节点无法进行编辑,如果更新后没有数据脱敏和字典列则可以在结果节点编辑这列数据脱敏和字典列。
当使用联合功能的时候,默认使用第一个联合节点的数据脱敏和字典列,并根据第一个节点的数据脱敏和字典列变动来更新结果节点的数据脱敏和字典列。
•column.count.masking=false
true,对所有数据进行脱敏。默认值为false,脱敏规则不对以下计数数据脱敏。
数据集
o自服务分组汇总节点或透视表节点中聚合类型为计数/不同值计数/精确不同值计数。
o参数中动态值聚合方式为计数/不同值计数/精确不同值计数(包括接口)。
报告
o组件绑定数据中聚合类型为计数/不同值计数/精确不同值计数。
o新建计算列对某列汇总,使用函数count,countAll,approximateCount,distinctCount。
o参数列将维度字段添加到度量部分,然后选择列的聚合方式为计数/不同值计数/精确不同值计数。
深度分析
o实验中的分组汇总或透视表节点的聚合类型为计数/不同值计数/精确不同值计数。
Jar文件上传校验,只允许配置为白名单的Jar上传。
bi.properties里如果没有配置此属性时,对一些常见的驱动Jar,已默认添加了SHA256值,这些Jar为白名单Jar,可以直接上传。
如需上传内置白名单以外的其他Jar,如驱动管理里添加驱动Jar或集群管理中上传产品Jar,需要在bi.properties里通过配置此属性添加需要上传的Jar的SHA256值,多个值用英文逗号分割。
如果将此属性配置成空,则不进行白名单校验,任何Jar都可以上传。
•login.method.type=
login.method.type=account时,登录页面只显示账号密码登录。login.method.type=mobile时,登录页面只显示手机号登录;login.method.type=account,mobile时,则显示账号密码和手机号登录(默认)。