一、基础软件和系统部署要求
1、系统必须保证为正常上线系统,须更新为最新。禁止采用失去技术升级的系统(如windows 2003等)。禁止采用含有已知漏洞的组件、应用程序、框架(如:Struts 2.5 -Struts 2.5.10)、应用程序服务器、web 服务器、数据库服务器和平台定义。以上系统必须执行安全配置,禁止默认安装。所有的软件应该保持及时更新。由于CentOS系列操作系统将于已经停止更新服务,我校虚拟化平台不再提供该操作系统,默认提供OpenEuler操作系统。
2、启用本机防火墙,关闭不必要端口。从本机关闭不需要的端口(如:关闭windows netbios 等服务),设置本机防火墙如iptable 对于访问的源地址进行限制,同时相关服务设置类似host.allow,host.deny 等策略,保持系统防火墙开启状态。
3、数据库和应用系统如在同一台服务器,须采用本机回路进行访问。如前端及数据库分为不同服务器,须设置本机防火墙访问规则,禁止非前端服务器访问数据库网络端口。
4、使用最低权限的数据库用户作为web应用所需,禁止不必要的额外权限。
5、使用标准端口提供http或https服务,避免使用非标准端口。保证系统服务正常,与上线系统一致,无各种调试、报错信息(如:断点,printf 等调试信息)及注释信息。系统需删除系统默认安装的各种例程、文档及管理程序。
6、系统配置防护。系统中禁止暴露配置信息(如数据库连接信息),源码备份文件等。
7、系统和数据备份措施对系统应用和数据有切实可行的备份措施,不得将系统源码备份、同步至互联网代码托管平台。
8、网站系统源码应采用相对路径,禁止使用绝对路径。网站系统源码禁止绑定域名、端口等。
二、应用软件技术要求
1、对用户输入内容有效过滤。对用户输入进行严格有效过滤,防止sql注入,xss跨站脚本,命令执行,crsf 跨站请求伪造等,建议采用白名单过滤策略。
2、使用安全的SQL调用方式。严禁通过POST/GET方式传递SQL语句,避免使用拼接方式组合SQL语句,应尽量使用安全的调用方式。
3、严控控制上传点。尽量禁止让web用户直接访问上传文件夹,改用程序输出访问。上传目录不能有执行权限,原则上不允许有未经登陆验证的上传点。对于上传文件的类型和目录进行严格控制(禁止用前端的js 进行控制),上传目录不能有执行权限。
4、设置有效的身份认证、会话管理及访问控制机制,防止越权及提权,禁止利用js 进行控制及验证。
5、系统必须有密码复杂度检查模块,设置有效的验证码或者滑动等手段防止暴力破解,严格限制密码长度大于8 位,含字母(大小写)、数字及符号组合,重要系统须采用二次认证。禁止在数据库中明文存放用户密码,需进行带salt 的哈希之后入库。对于多次错误登陆进行账号锁定。系统中用户管理中的密码修改功能必须进行密码强度监测,不允许设置弱密码。
6、如果系统用户为我校师生,必须和我校统一身份认证系统进行对接,不允许单独设置登录入口。系统管理员账户和我校工号绑定,不允许额外新建admin等账号。
7、对于身份信息、单位职务、财务信息、健康信息、通讯信息等敏感信息禁止在数据库中明文存放。