上海理工大学-系统上线安全要求

发布者:葛昕发布时间:2019-05-08浏览次数:383

一、系统要求:

  • 系统必须保证为正常上线系统,须更新为最新。禁止采用失去技术升级的系统(如:windows  2003等);禁止采用含有已知漏洞的组件、应用程序、框架(如:Struts 2.5 – Struts  2.5.10)、应用程序服务器、web服务器、数据库服务器和平台定义,以上系统必须执行安全配置,禁止默认安装。所有的软件应该保持及时更新。

  • 从本机关闭不需要的端口(如:关闭windows netbios等服务),设置本机防火墙如iptable对于访问的源地址进行限制,同时相关服务设置类似allow,host.deny等策略;

  • 数据库和应用系统如在同一台服务器,须采用本机回路进行访问,如前端及数据库分为不同服务器,须设置本机防火墙访问规则,禁止非前端服务器访问数据库网络端口;

  • 使用最低权限的数据库用户作为web应用所需,禁止具有不必要的额外权限;

  • 保证系统服务正常与上线系统一致,无各种调试、报错信息(如:断点,printf等调试信息)及注释信息,系统需删除系统默认安装的各种例程、文档及管理程序;

  • 对用户输入进行严格有效过滤防止sql注入,xss跨站脚本,命令执行,crsf跨站请求伪造等,建议采用白名单过滤策略。

  • 禁止在HTTP请求中以明文或可逆编码(如base64、url编码等)的形式传递SQL语句到后端程序代入执行,禁止由Web前端直接生成和传递SQL语句到数据库进行执行,数据库查询必须采用预编译和参数结构化查询。如果程序确实需要将SQL语句作为内容(非可执行代码的形式,如学生毕业设计、代码样例等)到后台,请在项目上线交付前书面说明相应的功能代码及位置。

  • 控制上传点,对于上传文件类型进行严格控制(禁止用js进行控制),同时上传目录不能有执行权限,原则上不允许有未经登陆验证的上传点。

  • 设置有效的身份认证、会话管理及访问控制机制,防止越权、平行权限及提权等(禁止利用js进行控制及验证)。

  • 密码复杂度要求:系统必须有密码复杂度检查模块,设置有效的验证码或者滑动等手段防止暴力破解,密码长度须大于8位,含字母(大小写)、数字及符号组合,重要系统须采用二次认证。禁止在数据库中明文存放用户密码,需进行带salt的哈希之后入库。对于多次错误登陆进行封堵。如果长期不登陆默认账号应停用处理。

  • 对于身份信息、单位职务、财务信息、健康信息、讯通信息等等敏感信息禁止在数据库中明文存放。

  • 系统中禁止暴露配置信息(如数据库连接信息),源码备份文件,.git,.svn仓库等;

  • 须按照标准端口配置http或https服务,严禁自行设置服务端口不报告。

  • 系统的开发商和应用系统的个人开发者。对于因为程序代码、框架技术以及使用的中间件而产生的应用系统漏洞或bug等程序错误终身负责维护。对于应用系统等级保护检测出现的问题无条件配合运维者整改。直至检测合格。同时有责任配合运维者进行各种维护;提供系统维护手册。对使用者进行使用培训。

  • 接到系统安全评测或渗透报告后须提供详实可行的整改报告,经信息化办公室技术中心验证合格后方可上线。

二、提供的评测信息

1、提供操作系统版本、补丁情况;

2、开放的网络端口及用途,

3、提供所有第三方的中间件、开发包、数据库、服务版本及管理地址,密码(必须为复杂密码评测后更改);

如:tomcat 版本8.0,apache 2.4.2 ,jquery 3.1.0,mysql 5.0…

4、系统访问路径;

5、系统的用户登录路径;

6、系统的管理端路径;

7、系统密码的设置策略(是否满足系统要求的第10条)

三、检查与时限

请逐条严格检查代码与配置,节省时间。

正常检测时间为5-15个工作日。

由于技术水平有限我们会尽力找出漏洞,但不保证找出系统所有漏洞及各系统的未知漏洞!

以上条例最终解释权归信息化办公室。