频道栏目
首页 > 安全 > 网络安全 > 正文

CSP内容安全策略

2013-10-07 10:50:17         来源:Leesec's Blog  
收藏   我要投稿

0×00 Content Security Policy (CSP)简介

CSP是由 Mozilla Foundation开发的,并首先在FireFox4上使用的机制,主要是用来防止XSS、包嗅探、点击劫持等等。
接下来我们来列举CSP的配置指令



****************************************************************
default-src:默认策略,当其他各个特殊指令源没有赋值时,就按照该指令值,优先级最低
script-src:脚本来源,当default-src或者script-src二者有一个指定了值,那么inline script and eval()就被禁止,除非你分别使用'unsafe-inline' and 'unsafe-eval'来放行
content-src:限制连接的类型(例如XMLHttpRequest、WebSockets和EventSource)
font-src:控制网络字体的来源(@font-face)。例如可以通过font-src https://themes.googleusercontent.com来使用Google的网络字体。
frame-src:列出了可以嵌入的frame的来源(<frame> 和<iframe>元素)。例如frame-src https://youtube.com只允许嵌入YouTube的视频。。
img-src:定义了可加载图像的来源。ABE中没有
media-src:限制视频和音频的来源(<audio> 和 <video>元素)。ABE的 INC(MEDIA) 特指HTML5的媒体
object-src:限制Flash和其他嵌入对象的来源。
style-src:类似于Script-src(<style>元素),只是作用于css文件。
***************************************************************
防御XSS配置指令: Content-Security-Policy: script-src scripts.mysite.com //只允许该站点的JS脚本,嵌入该网站,我只是简单的举个例子,其实真正要配置比这个复杂点

防御clickjacking配置指令:Content-Security-Policy: frame-src www.mysite.com

如果嵌入的iframe站点非www.mysite.com,都达不到clickjacking效果。

阻碍CSP推广的原因:当default-src或者script-src二者有一个指定了值,那么网页里面script标签的代码 and eval()就被禁止。国内很多网站都在网页里面有script标签,而不是全部放在一个js文件里面,然后由script src引入Js文件的。

0×01 Content Security Policy (CSP)配置

你可以先去了解nginx如何配置header ==>http://wiki.nginx.org/HttpHeadersModule

然后在配置文件中 写入你需要的Header,例如:

规范正确的方法

add_header Content-Type: ‘text/html; charset=utf-8′;
配置成功后,服务器返回
Content-Type: text/html; charset=utf-8
不规范错误的方法

add_header Content-Type text/html; charset=utf-8
配置成功后,服务器返回
Content-Type: text/html;

0×02 总结

这上面是针对 firefox浏览器的。

原来chrome浏览器和Safari浏览器 是用X-WebKit-CSP,现在高版本Version 25 的chrome浏览器也支持这个CSP.

另外要熟悉CSP 和 noscript firefox插件还是有些类似的,大家可以装上这个插件玩玩

相关TAG标签 策略 内容
上一篇:uc + xss实现android远程定位追踪
下一篇:如何避免虚拟盗窃:手机的安全性和银行
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站