菜单

让浏览器不再展现 https 页面中的 http 请求警报

2019年1月22日 - 金沙前端

让浏览器不再显得 https 页面中的 http 请求警报

2015/08/26 · 基础技术 ·
HTTPS,
浏览器

原稿出处:
李靖(@Barret李靖)   

HTTPS 是 HTTP over Secure Socket Layer,以安全为对象的 HTTP 通道,所以在
HTTPS 承载的页面上不容许出现 http 请求,一旦出现就是提醒或报错:

Mixed Content: The page at ‘‘ was loaded over
HTTPS, but requested an insecure image ‘’.
This content should also be served over HTTPS.

HTTPS改造之后,大家可以在重重页面中看看如下警报:

图片 1

不少营业对 https 没有技术概念,在填充的数据中难免出现 http
的资源,体系庞大,出现疏忽和尾巴也是不可逆袭的。

摘要

近日有无数的恶心抨击都是以网站及其用户作为靶子,本文将简单介绍在 Web
服务器一侧的平安加固和测试方法。

攻击方式 防护方式 说明
点击劫持(clickjacking) X-Frame-Options Header —–
基于 SSL 的中间人攻击(SSL Man-in-the-middle) HTTP Strict Transport Security —–
跨站脚本(Cross-site scripting,XSS) X-XSS-Protection、Content-Security-Policy、X-Content-Type-Options —–

有关启用 HTTPS 的部分经历分享

2015/12/04 · 基础技术 ·
HTTP,
HTTPS

初稿出处:
imququ(@屈光宇)   

乘机国内网络环境的接踵而至 蜂拥而至恶化,各样篡改和绑架不乏先例,越多的网站选取了全站
HTTPS。就在明天,免费提供证件服务的 Let’s
Encrypt 项目也规范开放,HTTPS 很快就会成为
WEB 必选项。HTTPS 通过 TLS
层和声明机制提供了内容加密、身份认证和数据完整性三大功能,可以使得防护数据被翻开或歪曲,以及预防中间人伪造。本文分享部分启用
HTTPS 进程中的经验,重点是怎么着与一些新出的安全规范同盟使用。至于 HTTPS
的安排及优化,之前写过众多,本文不另行了。

内容安全策略 (CSP, Content Security Policy)
是一个增大的安全层,用于扶持检测和化解某些序列的口诛笔伐,包罗跨站脚本攻击
(XSS) 和多少注入等攻击。

CSP设置upgrade-insecure-requests

好在 W3C 工作组考虑到了大家升级 HTTPS 的孤苦,在 2015 年 五月份就出了一个 Upgrade Insecure Requests 的草案,他的功用就是让浏览器自动升级请求。

在大家服务器的响应头中参加:

header(“Content-Security-Policy: upgrade-insecure-requests”);

1
header("Content-Security-Policy: upgrade-insecure-requests");

大家的页面是 https 的,而以此页面中带有了汪洋的 http
资源(图片、iframe等),页面一旦发现存在上述响应头,会在加载 http
资源时自动替换成 https 请求。可以查看 google
提供的一个 demo:

图片 2

不过让人不解的是,那几个资源发出了一遍呼吁,推断是浏览器已毕的 bug:

图片 3

本来,假若大家不便民在服务器/Nginx
上操作,也可以在页面中加入 meta 头:

XHTML

<meta http-equiv=”Content-Security-Policy”
content=”upgrade-insecure-requests” />

1
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />

眼前支撑那一个设置的还只有 chrome 43.0,不过自己信任,CSP 将变为未来 web
前端安全努力关心和行使的内容。而 upgrade-insecure-requests 草案也会快捷进入
RFC 格局。

从 W3C
工作组给出的 example,可以见到,这些装置不会对别国的
a 链接做处理,所以可以放心使用。

1 赞 收藏
评论

图片 4

点击胁迫(Clickjacking)

点击吓唬,clickjacking
是一种在网页中将恶意代码等隐蔽在看似无害的情节(如按钮)之下,并引诱用户点击的手法,又被称作界面伪装(UI
redressing)。例如用户接受一封饱含一段视频的电子邮件,但里面的“播放”按钮并不会真的播放视频,而是被欺诈进入一个购物网站。

图片 5

针对点击威吓攻击,绽放Web应用程序安全项目(Open Web Application Security
Project
,OWASP)(非营利团体,其目标是接济个人、公司和部门来发现和选用可信赖软件)
提供了一份指点,《Defending_with_X-Frame-Options_Response_Headers》

X-Frame-Options HTTP 响应头是用来给浏览器提醒允许一个页面可以依旧不可以在 frame
标签 或者 object
标签中显示的号子。网站能够运用此成效,来有限援助自己网站的始末尚未被嵌到人家的网站中去,也为此幸免了点击胁制(clickjacking) 的攻击。DENY:表示该页面不容许在 frame
中显得,即使是在一如既往域名的页面中嵌套也不同意。SAMEORIGIN:表示该页面可以在相同域名页面的
frame 中显得。ALLOW-FROM uri:表示该页面可以在指定来源的 frame
中浮现。配置如下:

//HAProxy
http-response set-header X-Frame-Options:DENY
//Nginx
add_header X-Frame-Options "DENY";
//Java
response.addHeader("x-frame-options","DENY");

理解 Mixed Content

HTTPS 网页中加载的 HTTP 资源被叫作 Mixed
Content(混合内容),分歧浏览器对 Mixed Content 有差其他处理规则。

这一个攻击可用于贯彻从数额窃取到网站破坏或当作恶意软件分发版本等用途。内容安全策略在现代浏览器中早就蕴含,使用的是
W3C CSP 1.0 标准中讲述的 Content-Security-Policy 底部和指令。

跨站脚本 Cross-site scripting (XSS)

跨站脚本常常指的是透过采纳开发时预留的狐狸尾巴,注入恶意指令代码(JavaScript/Java/VBScript/ActiveX/Flash/HTML等)到网页,使用户加载并执行攻击者恶意创建的顺序。攻击者可能获得更高的权限、私密网页、会话和cookie等各个内容。如今有二种不一致的
HTTP 响应头可以用来预防 XSS 攻击,它们是:

早期的 IE

中期的 IE 在意识 Mixed Content
请求时,会弹出「是还是不是只查看安全传送的网页内容?」那样一个模态对话框,一旦用户挑选「是」,所有
Mixed Content 资源都不会加载;选拔「否」,所有资源都加载。

那就是说什么样使用?

CSP 可以由三种形式指定:HTTP Header 和 HTML。HTTP 是在 HTTP 由增添Header 来指定,而 HTML 级别则由 Meta 标签指定。

CSP 有两类:Content-Security-Policy 和
Content-Security-Policy-Report-Only。(大小写非亲非故)

HTTP header :
"Content-Security-Policy:" 策略
"Content-Security-Policy-Report-Only:" 策略

HTTP Content-Security-Policy
头可以指定一个或七个资源是安全的,而Content-Security-Policy-Report-Only则是允许服务器检查(非强制)一个策略。四个头的国策定义由预先选用早先定义的。

HTML Meta :
<meta http-equiv="content-security-policy" content="策略">
<meta http-equiv="content-security-policy-report-only" content="策略">

Meta 标签与 HTTP 头只是行式不相同而效果是平等的。与 HTTP
头一样,优先选择先河定义的策略。即使 HTTP 头与 Meta
定义同时存在,则优先选用 HTTP 中的定义。

一旦用户浏览器已经为近日文档执行了一个 CSP 的策略,则会跳过 Meta
的概念。假若 META 标签紧缺 content 属性也如出一辙会跳过。

针对开发者草案中特其他唤醒一点:为了选拔政策生效,应该将 Meta
元素头放在初阶地点,以防范进步人为的 CSP 策略注入。

最近,多样化的口诛笔伐手段屡见不鲜,传统安全解决方案越发难以应对网络安全攻击。OneASP&utm_campaign=AspRaspArti&from=jswgiardnp)
自适应安全平台合并了预测、预防、检测和响应的力量,为您提供精准、持续、可视化的天水预防。想阅读越来越多技术作品,请访问
OneAPM
官方技术博客&utm_campaign=AspRaspArti&from=jswgiardnp)

本文转自 OneAPM 官方博客

X-XSS-Protection

HTTP X-XSS-Protection 响应头是Internet
Explorer,Chrome和Safari的一个功效,当检测到跨站脚本攻击
(XSS)时,浏览器将终止加载页面。配置选项:0 不准XSS过滤。1
启用XSS过滤(平常浏览器是默认的)。
倘诺检测到跨站脚本攻击,浏览器将消除页面(删除不安全的有些)。mode=block
启用XSS过滤,
假诺检测到攻击,浏览器将不会免去页面,而是阻止页面加载。report=reporting-URI
启用XSS过滤。 即便检测到跨站脚本攻击,浏览器将解除页面并拔取 CSP
report-uri 指令的功能发送非法报告。参考作品《The misunderstood
X-XSS-Protection》:

//HAProxy
http-response set-header X-XSS-Protection: 1;mode=block
//Nginx
add_header X-Xss-Protection "1; mode=block" always;;

浏览器援救情状:

Chrome Edge Firefox Internet Explorer Opera Safari
(Yes) (Yes) No 8.0 (Yes) (Yes)

正如新的 IE

正如新的 IE
将模态对话框改为页面底部的提醒条,没有前边那么困扰用户。而且默许会加载图片类
Mixed Content,别的如 JavaScript、CSS
等资源如故会基于用户选取来支配是还是不是加载。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图