文/辛毅
长期以来,高校信息系统安全问题非常突出,大多数高校的信息系统缺乏有效的规划与安全设计,尤其是网站类系统的开发成本低,多为基于开源CMS系统进行简单的修改后上线,一些网站的架构已经过时存在大量的漏洞,没有人员进行升级或者修补。高校的开放性造成了楼宇(非数据中心)IP直接配置服务对外开放,因缺乏必要的安全技术防护措施。这些系统成为不法分子攻击的目标或攻击的跳板。安全遵循“木桶原理“,此类问题会给全校整体的网络安全造成重大的危害。信息系统需要进行安全设计、安全规划、安全实现并在上线前进行安全检测,执行安全准入策略从而提高全校整体的安全水平。
按照《网络安全法》等国家相关法律法规,我校制定了《哈尔滨工业大学网络系统安全管理规定》,按照“谁主管谁负责、谁运维谁负责、谁使用谁负责”的原则切实落实网络与信息安全责任,并规定了“校内各系统各网站上线前须上报网络中心进行安全检测,未通过安全检测的系统一律不得上线。系统运行后,须接收日常安全扫描、漏洞测试及渗透测试,对于有严重问题的须停网整顿。依据安全通报,使用单位须进行安全加固并提交整改报告,经检测合格后,方能重新开放。使用单位须定期进行安全风险分析与系统漏洞测试,适时升级系统、应用软件,修补漏洞,确保系统安全、可靠、稳定地运行”。学校在《关于校园内信息系统(网站)统一管理的通知》中要求“落实工信部及教育部文件“禁止未经保护IP对外提供服务”的工作部署。学校决定,“加强信息系统(网站)的管理,要求校内各单位将信息系统(网站)迁移至学校网站群系统或申请虚拟服务器进行服务托管。”以上管理制度与政策为开展安全准入工作奠定了政策的基础。
在政策制定后,哈工大对于未经评测的系统停止外网访问权限,待安全评测合格后,提交《信息系统安全技术保障方案》、《信息系统安全事件应急处置预案》、《信息系统值守方案及人员安排》及《非“僵尸”信息系统佐证》后签订《网络安全承诺书》方可上线。
安全准入评测前需要用户或开发方遵循技术文档,并提供其系统信息。
系统遵循的文档
1.系统要求
(1)系统必须保证为正常上线系统,须更新为最新。禁止采用失去技术升级的系统(如:Windows 2003等);禁止采用含有已知漏洞的组件、应用程序、框架(如:Struts 2.5 - Struts 2.5.10)、应用程序服务器、Web服务器、数据库服务器和平台定义,以上系统必须执行安全配置,禁止默认安装。所有的软件应该保持及时更新。
(2)保证系统服务正常与上线系统一致,无各种调试、报错信息(如:断点,printf等调试信息)及注释信息,系统需删除系统默认安装的各种例程、文档及管理程序;
(3)系统中禁止暴露配置信息(如数据库连接信息),源码备份文件,.git,.svn仓库等。
2.服务端口要求
(1)从本机关闭不需要的端口(如:关闭Windows netbios等服务),设置本机防火墙如iptable对于访问的源地址进行限制,同时相关服务设置类似host.allow,host.deny等策略;
(2)须按照标准端口配置http或https服务,严禁自行设置服务端口不报告。
3 .数据库配置要求
(1)数据库和应用系统如在同一台服务器,须采用本机回路进行访问,如前端及数据库分为不同服务器,须设置本机防火墙访问规则,禁止非前端服务器访问数据库网络端口;
(2)使用最低权限的数据库用户作为Web应用所需,禁止具有不必要的额外权限。
4. 开发要求
(1)对用户输入进行严格有效过滤防止sql注入,xss跨站脚本,命令执行,crsf跨站请求伪造等,建议采用白名单过滤策略;
(2)禁止在HTTP请求中以明文或可逆编码(如base64、url编码等)的形式传递SQL语句到后端程序代入执行,禁止由Web前端直接生成和传递SQL语句到数据库进行执行,数据库查询必须采用预编译和参数结构化查询。如果程序确实需要将SQL语句作为内容(非可执行代码的形式,如学生毕业设计、代码样例等)到后台,请在项目上线交付前书面说明相应的功能代码及位置;
(3)控制上传点,对于上传文件类型进行严格控制(禁止用js进行控制),同时上传目录不能有执行权限,原则上不允许有未经登录验证的上传点;
(4)设置有效的身份认证、会话管理及访问控制机制,防止越权、平行权限及提权等(禁止利用js进行控制及验证)。
5.密码复杂度要求
系统必须有密码复杂度检查模块,设置有效的验证码或者滑动等手段防止暴力破解,密码长度须大于8位,含字母(大小写)、数字及符号组合,重要系统须采用二次认证。禁止在数据库中明文存放用户密码,需进行带salt的哈希之后入库。对于多次错误登录进行封堵。如果长期不登录默认账号应停用处理。
6 .数据保护要求
对于身份信息、单位职务、财务信息、健康信息、讯通信息等敏感信息禁止在数据库中明文存放。
评测前提供的信息
1.提供操作系统版本、补丁情况;
2.开放的网络端口及用途;
3.提供所有第三方的中间件、开发包、数据库、服务版本及管理地址,密码(必须为复杂密码评测后更改);
4.系统访问路径;
5.系统的用户登录路径;
6.系统的管理端路径;
7.系统密码的设置策略。
评测流程及方法
接到用户及开发方提供的技术文档后,网络中心技术人员采用漏扫及开源渗透工具对系统进行黑盒渗透测试并提交渗透报告,渗透测试期间测试服务器仅对渗透人员的ip开放服务保证了有漏洞的系统不能对外服务,用户接到系统安全评测或渗透报告后须提供详实可行的整改报告,经网络与信息中心验证合格后方可上线。流程如图1所示。
图1 评测流程
从2017年11月哈尔滨工业大学校实现数据中心统一出口管理以后,对于新上线及迁移的信息系统进行了全面的安全评测,评测的系统及网站共有126个,发现各类漏洞371个。个别系统复测10次以上才上线,极个别系统无法进行修复不能上线运行。其中不乏Struts2(S2-045)、SQL注入、Weblogic反序列化漏洞、任意文件上传、弱口令、Fckeditor任意文件上传、任意密码重置等高危漏洞。其效果有几点:首先,经过安全评测在系统上线之初将有关漏洞消灭在萌芽中,强化了系统的安全性。其次,有助于全面掌握全校的信息资产情况,与威胁情报进行关联,可以第一时间定位到漏洞,做到有针对性的紧急响应、应急处理。第三,在系统上线前确定服务对象,对于面向校内的服务不对互联网开放,从而划清服务界面,规避安全风险。最后,通过安全评测准入可以对一些“僵尸”系统、“小散乱”系统及“双非系统”进行清理,切实提高了我校的网络安全水平。
但是,由于安全渗透人员水平有限,不能发现全部的漏洞,因此还存在一些不可预见的风险。同时由于数据中心托管系统的管理权问题,对于未经上报的代码更新以及功能改变可能带来新的安全风险,因此须加大日常安全扫描及巡查的力度,争取做到第一时间发现问题并进行修补。