2023年大型网站技术架构笔记.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

七、网站的安全架构-固若金汤

1.XSS袭击

??XSS袭击即跨站点脚本袭击(CrossSiteScript),指黑客通过篡改网页,注入恶意HTML脚本,在用户访问网页时,控制用户浏览器进行恶意操作的一种袭击方式。

??常见的XSS袭击类型有两种,一种是反射型,袭击者诱使用户点击一个嵌入恶意脚本的链接,达成袭击的目的(盗取用户Cookie、密码来伪造交易、盗窃用户财产等)。另一种XSS袭击是持久型XSS袭击,黑客提交具有恶意脚本的请求,保存在被袭击的Web站点的数据库中,用户浏览网页时,恶意脚本被包含在正常页面中,达成袭击的目的。

(1)消毒

??对某些html字符转义,如“”转义为“gt”等。

(2)HttpOnly

??即浏览器严禁页面JavaScript访问带有HttpOnly属性的Cookie。可通过对Cookie添加HttpOnly属性,避免被袭击者运用Cookie获取用户信息。

2.注入袭击

??注入袭击重要有两种形式,SQL注入袭击和OS注入袭击。SQL注入袭击的原理如下图所示。袭击者在HTTP请求中注入恶意的SQL命令,服务器用请求构造数据库SQL命令时,恶意SQL被一起构造,并在数据库中运营。

??袭击者获取数据库表结构信息的手段有如下几种:

(1)开源,假如网站采用开源软件搭建,那么网站数据库就是公开的;

(2)错误回显,假如网站启动了错误回显,即服务器内部500错误会显示到浏览器上,袭击者可以通过故意构造非法数据,使服务器异常信息输出到浏览器端,为袭击猜测数据库表结构提供了便利;

(3)盲注,袭击者根据页面变化情况判断SQL语句的执行情况来猜测数据库表结构;

??除了SQL注入,袭击者还根据具体应用,注入OS命令、编程语言代码等达成袭击目的。

??防御措施:

(1)消毒

??和防XSS袭击同样,过滤请求数据中也许注入的SQL,如droptable等。此外还可以运用参数绑定来防止SQL注入。

(2)参数绑定

??使用参数绑定是最佳的防SQL注入方法。目前请多数据层访问框架,如MyBatis、Hibernate都实现了SQL预编译和参数绑定,袭击者的恶意SQL会被当做SQL的参数而不是SQL命令插入。

3.CSRF袭击

??CSRF即CrossSiteRequestForgery(跨站点请求伪造),袭击者通过跨站点请求,以合法用户的身份进行非法操作。CSRF的重要手段是运用跨站请求,在用户不知情的情况下,以用户的身份伪造请求。其核心是运用了浏览器Cookie或服务器Session策略,盗取用户身份。

??CSRF的防御手段重要是辨认请求者身份:

(1)表单Toke

??CSRF是一个伪造用户请求的操作,所以需要构造用户请求的所有参数才可以,表单Token通过在请求参数中增长随机数的办法来组织袭击者获取所有请求参数。

(2)验证码

??更加简朴高效,即请求提交时,需要用户输入验证码,以避免在用户不知情的情况下被袭击者伪造请求。

(3)RefererCheck

??????HTTP请求头的Referer域中记录着请求来源,可通过检查请求来源,验证其是否合法,还可以运用这个功能来实现突破防盗链。

4.其他袭击和漏洞

(1)ErrorCode(错误回显):获取异常信息进行袭击。

??通过配置Web服务器参数跳转500页面到专门的错误页面。

(2)HTML注释,HTML注释会显示在客户端浏览器中。

(3)文献上传,上传病毒文献。

??设立上传白名单,只允许上传可靠的文献类型。还可以修改文献名、使用专门的存储等。

(4)途径遍历,在URL中使用相对途径,遍历系统未开放的目录和文献。

??防御方法是将JS、CSS等资源部署在独立服务器、使用独立域名,其他文献不使用静态URL访问。

5.WEB应用防火墙

??ModSecurity是一个开源的Web应用防火墙(拦截请求、过滤恶意参数,自动消毒、添加Token),探测袭击并保护Web应用程序,既可以嵌入到Web应用服务器中,也可以作为一个独立的应用程序启动。ModSecurity最早只是Apache的一个模块,现在已有Java、NET多个版本,并支持Nginx。

??ModSecurity采用解决逻辑与袭击规则集合分离的架构模式。解决逻辑(执行引擎)负载请求和相应的拦截过滤,规则加载执行等功能。而袭击规则集合则负责描述对具体袭击的规则定义、模式辨认、防御策略等功能。解决逻辑比较稳定,规则集合需要不断针对漏洞进行升级,这是一种可扩展的架构设计。

6.信息加密技术

??为了保护网站的敏感数据,应用需要对某些数据进行加密解决。

(1)单向散列加密(MD5、SHA)??

?

文档评论(0)

159****6793 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档