现在的位置: 首页 > 综合 > 正文

Web系统的安全性考虑

2013年10月05日 ⁄ 综合 ⁄ 共 1130字 ⁄ 字号 评论关闭

一个Web系统,通常由客户端、Web服务器、业务服务器、数据库服务器组成,安全性问题也就是围绕着这几个组成部门来分析了。

客户端安全性

从客户端来看,跟安全性有关的,有身份认证的安全性、错误数据/参数的检查。

身份认证的安全性

身份认证可以是最简单的用户名密码方式,也可以是USBKey+CA认证的方式,在USBKey硬件中保存CA证书,用证书跟CA服务器做认证,CA服务器把认证结果反馈给Web服务器。当然也可以简化些,用文件证书,或者直接在USBKey中保存一定的认证信息,不用CA服务器做认证。

身份在登陆时候要做认证,在关键操作时候,还需要再次确认身份。比如,在关键操作时候,重新检查CA证书是否存在,USBKey是否还在,也可以用密码方式,对于关键操作再检查一次密码。

Web系统通常都会用到Session,合理的设置Session的失效时间也是身份认证一个重要部分,如果客户端一段时间没有操作,或者异常关闭以后重新打开,甚至复制IE地址栏的地址,过一段时间之后,重新用这个地址打开IE,必须重新认证身份才继续操作。

错误数据/参数的检查

服务端应该对客户数据的数据,或者IE地址的参数做合法性检查。

数据检查

Web系统,用浏览器做客户端来访问,那么如果输入数据中有J**aScript,服务端应该做转换之后存储,这样再传递给客户端时候,不会触发这段J**aScript的执行,从而减少客户端被攻击的可能性。例如客户端数据如果输入<script>alert(document.cookie);</script>在服务端要转换成&lt;script&gt;alert(document.cookie);&lt;/script&gt;

参数检查

客户端跟服务器传递的参数,要做检查,比如 http://www.google.cn/search?hl=zh-CN&q=html&meta=&aq=f&oq= 这里传递了参数,这些参数用户很容易从地址栏修改然后重新发到服务端,这时一定要按照参数,当前用户等信息做检查,以免越权访问。

客户端与服务端之间的网络传输

通常,客户端在互联网上,传递给服务器的数据随时会被中间的各种网络设备截获,要保证网络传输的安全性,可以用VPN,也可以用SSL。

Web服务器

上面提到的这些检查,通通会涉及到Web服务器,都是通过Web服务器做检查的。在此之外,Web服务器还要对于服务端可以访问的服务器资源做限定,比如可以访问哪些目录,哪些文件等,以免客户端对服务端的超权限的访问。

业务服务器

检查数据/参数的合法性

检查用户的功能权限/数据权限

数据库服务器

用户密码、关键业务数据等在数据库中应该加密存储。

数据库服务器只暴露给业务服务器,而不直接暴露在互联网上。

抱歉!评论已关闭.