解决这些问题,轻松搞定等保
等保简介
等保是什么
等保为“网络安全等级保护”的简称,是对网络和信息系统按照重要性等级分级别保护的一种工作。
于2016年11月7日发布,自2017年6月1日起施行的《网络安全法》规定:等级保护,是我国信息安全保障的基本制度。这句话是对等保最根本的定义。
根据《网络安全法》的规定,网络运营者应当按安全等级保护制度的要求,履行“保障网络免受干扰、破坏或者未经授权的访问,防止网络数据泄露或者被窃取、篡改”等安全保护义务。
2019年5月13号,国家市场监督管理总局召开新闻发布会,正式发布《信息安全技术网络信息安全等级保护基本要求》国家标准,并定于2019年12月1日正式实施,标志着“等保2.0”时代的到来。
保护对象包括基础信息网络、信息系统、云计算平台、大数据平台、移动互联、物联网和工业控制系统等。
保护等级越高,网络越安全。等保2.0标准实际包含了多个文件,其中最重要的文件是《信息安全技术网络安全等级保护基本要求》。
等保等级
《信息安全等级保护管理办法》规定,国家信息安全等级保护坚持自主定级、自主保护的原则。信息系统的安全保护等级应当根据信息系统在国家安全、经济建设、社会生活中的重要程度,信息系统遭到破坏后对国家安全、社会秩序、公共利益以及公民、法人和其他组织的合法权益的危害程度等因素确定。
信息系统的安全保护等级分为以下五级,一至五级等级逐级增高:
第一级,用户自主保护级,信息系统受到破坏后,会对公民、法人和其他组织的合法权益造成损害,但不损害国家安全、社会秩序和公共利益。第一级信息系统运营、使用单位应当依据国家有关管理规范和技术标准进行保护。
第二级,系统审计保护级,信息系统受到破坏后,会对公民、法人和其他组织的合法权益产生严重损害,或者对社会秩序和公共利益造成损害,但不损害国家安全。国家信息安全监管部门对该级信息系统安全等级保护工作进行指导。
第三级,安全标记保护级,信息系统受到破坏后,会对社会秩序和公共利益造成严重损害,或者对国家安全造成损害。国家信息安全监管部门对该级信息系统安全等级保护工作进行监督、检查。
第四级,结构化保护级,信息系统受到破坏后,会对社会秩序和公共利益造成特别严重损害,或者对国家安全造成严重损害。国家信息安全监管部门对该级信息系统安全等级保护工作进行强制监督、检查。
第五级,访问验证保护级,信息系统受到破坏后,会对国家安全造成特别严重损害。国家信息安全监管部门对该级信息系统安全等级保护工作进行专门监督、检查。
等保工作流程
等保系统定级:系统检测;自主定级;新系统建设同时同步确定等级
等级评审:专家评审;定级报告;市级党政机关到市信息办备案,区县党政机关到区县信息办备案
定级备案:涉密系统报市和区县国家保密工作部门、其他到公安机关办理备案手续、受理单位备案审核
评估和整改建设:评估和现状检测(可请评估或检测机构);制定整改方案;开展安全建设或改建,建立基础安全设施以及等级保护管理制度
等级测评:开展等级测评;三级每年至少一次,四级至少每半年一次
监督检查:监督、检查、自查;整改;违法违规情况,依法处理
常见问题及解决方案
跨站脚本漏洞(高危)
漏洞描述
跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Web脚本代码(html、javascript、css等),当用户浏览该页面时,嵌入其中的Web脚本代码会被执行,从而达到恶意攻击用户的特殊目的。
漏洞危害
“跨站点脚本编制”攻击是一种隐私违例,可让攻击者获取合法用户的凭证,并在与特定 Web 站点交互时假冒这位用户。可能会导致账户失窃;数据信息被读取、篡改、添加或者删除;非法转账;强制发送电子邮件;受控向其他网站发起攻击等。存储型跨站由攻击者输入恶意数据保存在数据库,再由服务器脚本程序从数据库中读取数据,然后显示在公共显示的固定页面上,那么所有浏览该页面的用户都会被攻击。该类型攻击性非常大,危险也非常大。
解决方案
代码中增加过滤器,限制以下字符script、src、img、onerror及字符{、}、(、)、<、>、=、,、.、;、:、\、"、'、#、!、/等,并且进行安全性相关配置,文章后面会介绍。
注意:因为攻击者可以拦截你的请求并篡改服务器的返回结果,所以最彻底的解决方案为在服务器返回后,界面绘制前进行处理。
弱口令漏洞及登录爆破漏洞(高危)
漏洞描述
系统存在大量用户密码强度弱,登录功能可能存在暴力破解、撞库等安全问题,攻击者利用该漏洞获取到弱口令账号,可以获取特定账户或应用的访问控制权限,如果进一步攻击利用可能获取服务器控制权限。
漏洞危害
攻击者利用弱口令可以通过暴力破解登录到系统,获取特定账户或应用的访问控制权限,如果进一步攻击利用可能获取服务器控制权限。
解决方案
限制修改用户密码时新密码强度,比如要求密码必须包含大小写字母,数字和特殊符号,长度必须在八位以上。
强制用户定期修改密码,密码过期后不可登录。需修改密码后才可继续使用系统。
限制同一个账户只能有一个客户端同时在线,登录成功后,需要将其它的同账户Session强制退出。
登录时需要输入图形或短信验证码才可登录。
限制账户登录失败次数,当同一个账户连续失败次数超出限制时,锁定此账户,解锁或重置密码后才可继续使用。
限制同一IP一定时间间隔的登录失败次数,当同一个IP连续失败次数超出限制时,锁定此IP一段时间,待锁定时间结束后锁定IP才可继续登录。
与用户账号密码相关的接口需要采用AES或其它加密算法加密后传输。
用户名枚举漏洞(中危)
漏洞描述
网站的用户验证功能没做限制或错误信息未模糊,导致用户被枚举。
漏洞危害
攻击者可以通过枚举用户获得平台注册的用户名,为下一步密码爆破做准备。
解决方案
模糊化错误提示信息,如不论账号不存在、密码错误均提示账号密码错误。
邮件DDOS漏洞(高危)
漏洞描述
通过测试发找回密码处页面需获取邮件验证码才能登录,由于没有设置时间与次数限制,攻击者可以截取邮件验证码的请求并进行重放,可以短时间内发送大量骚扰用户。
漏洞危害
攻击者可利用此漏洞,输入任意的邮箱,并重复提交请求,以达到骚扰用户的目的。
解决方案
验证码存储至数据库时需要增加邮箱地址及发送时间。
当发送验证码时,需要判断数据库是否存在相同邮箱的验证码,并且发送的间隔时间不可小于1分钟。
越权漏洞(高危)
漏洞描述
在Web程序中由于权限控制不当,导致用户可以访问到本身没有权限访问的数据即使越权访问。
越权访问通常分为水平越权访问和垂直越权访问,垂直越权访问指低权限账户可越权访问需要高权限才能访问的功能,水平越权访问指同权限的不同的账户的数据互相访问,如A用户可以访问B用户的资料、订单等
漏洞危害
尝试修改查询数据的编号,或权限标识来越权访问。
解决方案
当用户访问系统对象时,需要根据操作的实际场景进行权限判断,如果用户没有当前操作权限时,终止操作并提示用户。
加密会话cookie中缺少Secure属性(高危)
漏洞描述
由于这个cookie不包含“secure”属性,因此,也可能在未加密的会话过程中将它发送到站点。任何以明文形式发送到服务器的 cookie、会话令牌或用户凭证之类的信息都可能被窃取,并在稍后用于身份盗窃或用户伪装。
漏洞危害
可能会窃取或操纵客户会话和 cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务。
解决方案
当网站网络协议为https时,添加cookie必须相应地设置“secure”属性,防止以未加密的方式发送cookie。
缺少“HTTP Strict-Transport-Security”响应头(低危)
漏洞描述
HTTP严格传输安全(HSTS)是保护安全(HTTPS)Web站点不被降级到不安全HTTP的机制。该机制使Web服务器能指示器客户端(Web浏览器或其他用户代理程序)在与服务器交互时始终使用安全 HTTPS 连接,而绝不使用不安全的 HTTP 协议HTTP严格传输安全策略由服务器用于通过名为“Strict-Transport-Security”的响应头与其客户机通信。该头的值为客户机应仅使用HTTPS访问服务器的时间段。其他头属性包括“includeSubDomains”和“preload”。
漏洞危害
容易使HTTPS降级到HTTP,从而绕过HTTP的安全机制。
解决方案
当网站网络协议为https时,通过向web应用程序响应添加“Strict-Transport-Security”响应头来实施HTTP严格传输安全策略。
<httpProtocol> <customHeaders> <add name="Strict-Transport-Security" value="max-age=31536000; includeSubDomains" /> </customHeaders> </httpProtocol>
请参阅https://developer.mozilla.org/zh-CN/docs/Security/HTTP_Strict_Transport_Securit
缺少“X-XSS-Protection”响应头(低危)
漏洞描述
检测到服务器的响应未包含HTTP X-XSS-Protection响应头。HTTP X-XSS-Protection响应头是Internet Explorer,Chrome和Safari的一个功能,当检测到跨站脚本攻击 (XSS)时,浏览器将停止加载页面。虽然这些保护在现代浏览器中基本上是不必要的,当网站实施一个强大的Content-Security-Policy来禁用内联的JavaScript ('unsafe-inline')时,他们仍然可以为尚不支持CSP的旧版浏览器的用户提供保护。
漏洞危害
用户更容易受到XSS攻击的威胁。
解决方案
将X-XSS-Protection属性设置为“X-XSS-Protection: 1; mode=block”,当检测到XSS攻击时阻止页面加载。
<httpProtocol> <customHeaders> <add name="X-XSS-Protection" value="1; mode=block" /> </customHeaders> </httpProtocol>
请参阅https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/X-XSS-Protection
缺少“X-Content-Type-Options”响应头(低危)
漏洞描述
检测到服务器的响应未包含X-Content-Type-Options响应头。某些浏览器会启用MIME-sniffing来猜测一些错误或者未定义Content-Type的资源的类型,解析内容并且执行,攻击者常常会利用浏览器的这个特性绕过MIME类型的限制进行攻击。我们可以利用X-Content-Type-Options响应头来禁用浏览器的类型猜测行为。
漏洞危害
更容易加载不可信的外部资源。
解决方案
在服务器中配置X-Content-Type-Options响应头为“nosniff”。
<httpProtocol> <customHeaders> <add name="X-Content-Type-Options" value="nosniff" /> </customHeaders> </httpProtocol>
请参阅https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/X-Content-Type-Options
缺少“Content-Security-Policy”响应头(低危)
漏洞描述
检测到服务器的响应未包含Content-Security-Policy响应头。Content-Security-Policy实质就是白名单制度,开发者明确告诉客户端,哪些外部资源可以加载和执行,等同于提供白名单。它的实现和执行全部由浏览器完成,开发者只需提供配置。Content-Security-Policy大大增强了网页的安全性。攻击者即使发现了漏洞,也没法注入脚本,除非还控制了一台列入了白名单的可信主机。
漏洞危害
更容易加载不可信的外部资源。
解决方案
在服务器中配置Content-Security-Policy响应头,如有单点登录,须添加单点登录地址。
<httpProtocol> <customHeaders> <add name="Content-Security-Policy" value="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; " /> </customHeaders> </httpProtocol>
请参阅https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Security-Policy
JQuery版本过低(中危)
漏洞描述
检测到网站使用的JQuery版本过低,当前最新JQuery版本为3.4.1。过低的JQuery版本存在正则过滤缺陷,容易造成Dom型跨站点脚本编制漏洞。
漏洞危害
容易造成Dom型跨站点脚本编制漏洞。
解决方案
升级JQuery为3.4.1或以其它库将其代替。