Appearance
系统安全规范
App部分
APP 处理
服务器部分
1. 不要安装与系统无关的软件
2. 软件安装后需及时删除服务器上的所有安装包文件
3. 所有的备份文件不可在Nginx、IIS等虚拟目录下,需拷贝到单独的文件夹
4. 对于ArcGIS等环境软件,按照最小的原则去安装,即只安装需要的组件,若只用到了runtime,则只需要安装runtime即可
5. 生产环境:关闭swagger
- 忽略鉴权url,关闭swagger的地址
- Swagger界面内容配置 enable设置为false
6. 生产环境:服务器桌面不需要存放任何业务文件,对于临时文件需及时清除;服务器使用完之后及时关闭打开的应用程序。 特别是存了密码的txt
7. 文件上传:前后端代码需严格限定可上传的文件类型,不允许上传可执行脚本,例如:asmx/asp/aspx/php/jsp
等,用于解决webshell漏洞,如下图所示为城市更新平台框架的配置
ztgis-boot 为在后台管理中心配置
8. jar授权时间限制
9. 登录限制
10. 密码过期配置
11. 虚拟文件目录,对于IIS、Tomcat、Nginx等服务器组件,对上传文件虚拟目录,需禁用可执行权限,例如:IIS,在处理应用程序映射中设置,禁用脚本执行的权限
12. 对于应用程序组件的执行权限,普通用户可以满足的,就不使用管理员用户,确实需管理员用户则需与客户说明情况,例如应用程序池的运行权限
13. 用户登录、注册密码复杂度需校验,前后端都需要校验,英文大小写、特殊字符、数字,需含有4种字符
- ztgis-boot
- gis-boot 后台未做限制
14. 用户注册功能,需手机短信、图形验证码进行二次验证,防止手机号、邮箱等被冒充注册
15. 数据库、redis、druid的密码需使用强密码,即英文大小写、特殊字符、数字4种字符
16. 应用程序配置文件:所有密码都需加密后配置
17. druid若未用到则关闭
18. 测试账户:生产环境中不允许使用test、admin、super、gly、kaifa、ceshi等常用账户名称
19. 接口权限:对于新增、编辑、删除类接口需严格校验权限,即需验证是否登录、登录用户角色权限等;对于无权限接口,则使用验证码进行验证,例如:手机短信、图形验证码等
20. 页面权限:严格监测页面是否有访问权限,避免页面越权的现象存在
21. Actuator若未用到则关闭
关闭http://xxx/xxx/env 运行环境接口
22. 文件服务器组件FTP、共享等、redis等都必须设定可访问用户及用户密码(需强密码)
23. 模糊登录校验提示
需提示用户名或者密码不对,不要明确提示用户名不对或者密码不对
24. 对于查询类接口,根据业务情况需要严格限定查询参数,禁止开放所有数据的查询操作
25. 用户登录时,密码需加密传输
使用sm4加密