EOS Low-Code Platform 8 EOS Low-Code Platform 8
产品简介
学习指南
更新说明
安装与集成
上线指南
初见EOS
低代码开发手册
专业代码开发手册
专题场景实战
公共服务框架
应用运行治理
常见问题
  • 安全配置
  • 一、系统安全配置
  • 1.开启Redis安全认证
  • 2.开启Nacos安全认证
  • 3.Https配置
  • 4.Nginx配置禁止使用iframe嵌套
  • 二、应用安全配置
  • 1.EOS生产环境配置
  • 2.关闭Swagger
  • 3.移除SDK白名单接口
  • 4.跨域配置
  • 5.关闭sentinel
  • 6.上传文件配置
  • 7.关闭actuator
  • 8.XXL-JOB访问accessTocken
  • 9.开启接口防篡改
  • 10.是否支持只允许使用get、post请求的网络架构?
  • 11.三方系统如何调用平台?
  • 12.平台支持对接哪些三方认证?
  • 三、业务安全配置
  • 1.系统管理员密码修改
  • 2.登录安全设置
  • 3.水印配置
  • 4.三员管理
  • 5.审计日志
  • 6.权限配置

# 安全配置

# 一、系统安全配置

# 1.开启Redis安全认证

在 Redis 配置文件 redis.conf 中设置一个全局密码,所有连接都需要使用该密码进行身份验证。

# 2.开启Nacos安全认证

默认情况下,Nacos 实例没有开启认证,所有请求都允许访问。您需要在 Nacos 配置文件中进行设置。具体参考https://nacos.io/en-us/docs/auth.html

# 3.Https配置

开启https,通过https协议访问服务器。

# 4.Nginx配置禁止使用iframe嵌套

具体配置如下:

server {
    # 其他配置项
    location / {
        # 禁止使用 iframe 嵌入网站
        add_header X-Frame-Options DENY;
        # 其他配置项
    }
}

# 二、应用安全配置

# 1.EOS生产环境配置

application.properties文件中,添加或者修改如下配置

eos.profiles.active=prod

# 2.关闭Swagger

governor:

governor默认已关闭

gateway:

gateway未使用swagger

afcenter:

application.properties文件中,添加或者修改如下配置

eos.springfox.enabled=false

user-config.xml文件中,

将下面swagger相关接口从白名单(Login-Filter>Exclude)中去掉。
/swagger-ui.html,/v2/api-docs,/webjars/*,/swagger-resources/*

bps:

application.properties文件中,添加或者修改如下配置

eos.springfox.enabled=false

user-config.xml文件中

将下面swagger相关接口从白名单(Login-Filter>Exclude)中去掉。
/swagger-ui.html,/v2/api-docs,/webjars/*,/swagger-resources/*

(Login-Filter>Include)中, 将<configValue key="Include">nopath</configValue>改成
<configValue key="Include">/*</configValue>

# 3.移除SDK白名单接口

user-config.xml文件中,将SDK接口从白名单(Login-Filter>Exclude)中移除,

/api/afc/afc-proxy/*

# 4.跨域配置

系统上线后,可能会存在跨域攻击的风险,因此要规避这些风险,可以在AFCenter的后端服务里配置跨域的配置,以此来达到只允许配置的域能够访问后端服务,其他的请求无法访问。

具体配置路径如下:

application.properties文件中,添加或者修改如下配置,重启服务即可生效,其中多个域名之间使用逗号进行分隔

afc.cros_allowed_origins=demo1.com,demo2.com

# 5.关闭sentinel

如果没有使用sentinel,则需要在应用的application.properties文件中,添加或者修改如下配置:

spring.cloud.sentinel.enabled=false

# 6.上传文件配置

application-afc.properties文件中,根据项目需要配置上传文件类型的白名单和黑名单

#允许上传的文件类型
afc.attachments.allow-file-types=txt,zip,pdf,md,jpg,jpeg,png,gif,docx,doc,xlsx,pptx,mp3,mp4,wav,mov
#不允许上传的文件类型
afc.attachments.not-allow-file-types=exe,msi,bat,cmd,sh,ps1,jar,py,rb,php,jsp,asp,aspx,cgi,pl,dll,sys,so,class,swf,sql,db,sqlite,mdb,accdb,ini,reg,config,env,htaccess,htpasswd
#允许上传的最大文件大小(不配置默认不限制大小,文件大小单位默认是字节,如10M,需换算为byte为:10485760)
afc.attachments.file-max-size=50

# 7.关闭actuator

user-config.xml文件中,将actuator接口从白名单(Login-Filter>Exclude)中移除,

 /actuator/*

# 8.XXL-JOB访问accessTocken

应用端(执行器)的application-job.properties文件中需要配置

afc.job.executor.accessToken=accessToken-XXXXX

AFCenter(调度器)的application-job.properties文件中需要配置

xxl.job.accessToken=accessToken-XXXXX

注:accessToken-XXXXX 是需要自定义的,保证AFCenter和应用配置的是一样的即可

# 9.开启接口防篡改

打开发版的Standalone或微服务版本安装介质,找到\web\conf下提供的nginx配置文件afcenter.conf,打开文件可以看到文件内容包含如下配置:


map $uri $enable_vd {
    ~^/api/lowcode/debugs/breakpoints/actions/shutdown$ "";
    ~^/api/bfp/framework/workbench/contexts/handle/process/[0-9]+$ "";
    ~^/api/lowcode/resources/download/export/*$ "";
    ~^/api/lowcode/projects/actions/export/*$ "";
    ~^/api/lowcode/projects/actions/export-sdo-static-source/*$ "";
    ~^/api/lowcode/projects/actions/export-contributions/*$ "";
    ~^/api/lowcode/projects/actions/export-optional/*$ "";
    ~^/api/lowcode/namedsqls/actions/export-namedsql/*$ "";
    ~^/api/lowcode/projects/actions/export-pms/*$ "";
    ~^/api/eos/groovy/actions/validate-groovy$ "";
    ~^/api/afc/employees/array$ "";
    ~^/api/afc/orgs/array$ "";
    ~^/api/lowcode/projects/actions/export-source$ "";
    ~^/api/lowcode/projects/actions/export-form-vue-source$ "";
    ~^/api/agent/stream/sse/connect$ "";
    ~^/api/lowcode/projects/actions/export-app-template$ "";
    ~^/api/afc/i18ns/actions/export$ "";
    ~^/api/agent/kbases/[0-9]+/base-files$ "";
    default "false";
}

# 开启防篡改的请求头开关
proxy_set_header enableVD $enable_vd;

将map $uri $enable_vd下的default "false";改为default "true";即可开启接口防篡改能力。

# 10.是否支持只允许使用get、post请求的网络架构?

私有化部署时,一些企业的网络策略上,需要对http method进行控制,低代码设计上考虑了这个安全诉求,支持用户不修改任何前后端代码,更改配置即可完成请求method的变更。

# 11.三方系统如何调用平台?

类似Gitlab等三方工具,低代码平台支持按用户以及有效时间,生成对应的token凭证,三方系统可以使用token进行集成调用。

平台还提供了统一的API网关服务,支持按不同的客户端(系统)发布不同的接口,供客户端订阅使用。

# 12.平台支持对接哪些三方认证?

目前低代码平台除了自身的认证体系外,还集成了包括钉钉、企业微信、飞书、申石等三方产品。

# 三、业务安全配置

# 1.系统管理员密码修改

admin/sysadmin内置用户密码修改

# 2.登录安全设置

在应用中心里,支持对登录进行安全配置,包括密码策略、锁定策略、多端控制等。

登录安全

1、密码策略:包括密码长度设置,密码格式的定义,多长时间必须强制修改密码,初始密码强制修改等

2、锁定策略:包括连续错误多少次锁定,锁定时长,长期不登录自动锁定等

3、多端控制:包括是否允许一个账号在多个地方登录,以及是否允许使用不同类型的终端(如PC和手机就是两个不同类型的终端)

策略设置后,默认对平台上的所有用户生效,针对一些特殊账号的场景(如企业里通常对超管账号、董事长账号放开限制),则可以通过白名单进行配置。

# 3.水印配置

平台支持页面水印配置,包括宽度、高度、旋转角度、透明度等,水印内容支持固定字符,也可以是当前用户和时间相关的动态值。与登录安全一样,也支持对特殊账号进行白名单设置。

水印配置

# 4.三员管理

平台默认提供了三员管理的内置配置,支持系统管理员、安全保密管理员、安全审计员的权限分离,也支持用户按需进行调整。

三员管理

# 5.审计日志

低代码平台提供完整的审计日志,支持页面查询以及快速导出,每条审计日志还可以追踪操作详情,如业务对象更改前和更改后的属性差异对比等。

审计日志

# 6.权限配置

数据权限配置:对应用的数据实体,配置数据权限,支持行权限的配置。具体可以参考数据权限。

菜单、按钮、服务等其他权限配置请参考文档权限专题。

← iData集成 性能调优指南 →