首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 云计算 >

云计算保险 第二篇

2012-11-10 
云计算安全 第二篇1. 设计阶段的安全考虑1.1. 清晰定义安全用例。用例设计要考虑所有的边界情况,覆盖所有可

云计算安全 第二篇
1. 设计阶段的安全考虑

1.1. 清晰定义安全用例。用例设计要考虑所有的边界情况,覆盖所有可能的异常路径。(把异常路径写进用例中)

?

1.2. 统一的认证入口,或称单点登入。入口可以提供直接的认证方式(Form,Client Certificate)或者间接的(联邦)认证方式。所有的应用和服务都应当通过认证。

?

1.3. 单点注销。如果用户从入口点注销,那BSS需要引导用户把所有已经打开的应用都注销掉。

?

1.4. 服务器间调用的认证:

- 服务器间可以共享一对称密钥,调用方把用户ID用这个密钥加密后作为一个token放到HTTP请求头里,服务方解密即可。如果不能解密说明不是信任的服务器。

- 也可以用PKI密钥来完成。调用方使用服务方的公钥对用户ID做加密,用自己的私钥做签名,然后放到HTTP请求头里。

- 也可以建立一个STS服务。每一个调用方先到STS请求一个token,然后用这个token去访问服务方。

?

1.5. 信息保护

- 密码、秘密和token在存储的时候需要加密。

- 所有的传输都应该基于SSL。

- 富客户端、移动设备都应当存储共享密钥。

?

1.6. API访问

- OAuth,外部应用可使用OAuth。

- Basic Auth。

?

2. 代码安全标准

2.1. XSS防护

XSS发生在用户的输入中,用户有可能在输入中带有一些java script,如果程序逻辑不对用户输入做任何过滤就返回到browser,那这些java script就会被执行,从而导致一些问题。

?

解决的策略就是不要把用户的输入原封不动得响应回去,而是对用户输入的内容做escape处理,如下面的代码:

?

?

2.2. CSRF防护

CSRF主要发生在一些关键性的REST API或敏感信息的输入请求上。现代浏览器都是多tab页的,tab页之间是可以共享cookie的。假设用户打开并登录某网银页面,同时在另外一个tab页上打开另外一个网站。这个网站上可能会有某个image tag,它实际指向的URL被写成了网银某REST API的请求。那么这个请求就会以合法用户的身份被网银接受。

?

解决的策略很简单,一般用双提交策略。在cookie里面放一个随机数,同时在请求里也放这个随机数即可。服务器端对这两个值做一下比对即可。

?

或者server生成一个随机数的密文,送给客户端。当请求过来的时候,看请求头里带过来的密文是否能被解开即可。

?

2.3. 慎重处理用户提供的File/URL

要慎重处理用户提供的URL。如果需要渲染用户提供的URL,只允许HTTP协议开头的URL。

不要让用户用相对路径访问到根目录,如../../../../../../../etc/passwd.

不要从服务器端访问用户提供的URL?

?

2.4. SQL注入

不要用字符串拼SQL,使用参数化的查询API。?

?

2.5. 用户上传文件

所有用户上传的文件要经过防毒软件过滤。

不要让用户直接下载其他用户上传的文件,因为他可能上传一个含有恶意代码的HTML文件,这样当用户下载这个HTML文件的时候,浏览器很可能直接就去渲染这个HTML文件了。

如果用户想下载HTML文件,Content-Type:application/x-download,Content-Disposition:attachment。

?

2.6. URL参数

?不用把用户信息(比如用户名,或者EMail)作为URL的参数出现。在URL参数中一般使用ID.

热点排行