`
rensanning
  • 浏览: 3520838 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:37635
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:604849
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:678751
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:87712
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:400201
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69168
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:90727
社区版块
存档分类
最新评论

基础知识 - 全站HTTPS

 
阅读更多
全站HTTPS、HTTPS Everywhere、Always-On SSL (AOSSL),说的都是同一件事。

大部分网站只在一些包含敏感数据的页面采用HTTPS,比如登录注册,支付等。但由于近年来Wifi普及,Free Wifi所带来的安全问题,越来越多被重视,很多网站开始采用全站HTTPS。目前国外的大型网站比如Google、Facebook、Microsoft、Twitter、PayPal等都采用了全站HTTPS,而且Google明确表示优先https网站内容。

副作用:证书费用、SEO、访问速度、无法获取referer。

(1)安全问题

流量劫持
  访问A网站,实际上打开的是B网站(比如:DNS劫持)

网页劫持
  ISP通过修改返回代码的方式强制在网站中植入弹窗广告代码。流量劫持的一种。

会话劫持
  火狐插件火羊(FireSheep) :抓取无安全保护的wifi热点上的信息流

中间人攻击(Man In The Middle,简称MITM)
  A通过B给C传话,但B在传话给C的时候,可以夸大其词填油加醋,中间人B一次MITM攻击。会话劫持的一种。

注射式攻击(Injection)
  在双方正常的通讯流插入恶意数据。会话劫持的一种。

SSLStrip
  输入网址时一般都不输入协议,浏览器默认使用HTTP,服务器会302响应提示浏览器再发起一个HTTPS请求。这样就混入了使用明文传输的HTTP会话。SSLstrip可以利用这一点,通过劫持HTTP会话劫持了SSL会话。

POODLE(贵宾犬漏洞)
  2014年由Google发现的POODLE漏洞(Padding Oracle On Downloaded Legacy Encryption vulnerability),可被攻击者用来窃取采用SSL3.0版加密通信过程中的内容,又被称为“贵宾犬攻击”。

心脏滴血漏洞
  OpenSSL Heartbleed模块存在一个BUG。从服务器内存中读取包括用户名、密码和信用卡号等隐私信息在内的数据。

。。。。。。等等还有很多!

(2)关于SSL/TLS

a) SSL/TLS协议
SSL安全套接字层 :Secure Socket Layer;TLS传输层安全协议 :Transport Layer Security


b) SSL证书类型
  • DV证书 :Domain Validation,CA只验证域名信息,适合个人网站使用
  • OV证书 :Organization Validation,在DV证书的基础上,增加认证公司的信息,适合包含个人隐私
  • EV证书 :Extended Validation,最为严格一般会要求提供纸质材料,适合在线支付、EC站等
  • 自签名证书 : 只适合内部的测试环境

c) 显示图标的区别


d) 各证书比较


e) SSL厂商
免费:StartSSLLet's Encrypt
付费:Comodo、IdenTrust、Symantec、GoDaddy、GlobalSign

(3)导入SSL后的一些注意事项

a) HSTS RFC6797 强制浏览器使用HTTPS与服务器创建连接。
HSTS 预载入列表 : https://hstspreload.appspot.com/
谷歌Chrome维护的预载入列表,目前各大浏览器都支持这个列表了。

服务器启用HSTS
Ngnix
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

Apache
LoadModule headers_module modules/mod_headers.so
<VirtualHost *.*.*.*:443>
    Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
</VirtualHost>

Lighttpd
server.modules += ( "mod_setenv" )
$HTTP["scheme"] == "https" {
    setenv.add-response-header = ( "Strict-Transport-Security" => "max-age=63072000; includeSubdomains; preload")
}


确保网站的内容不会嵌入到其他网站:
Apache
Header always set X-Frame-Options DENY

nginx
add_header X-Frame-Options "DENY";

Lighttpd
server.modules += ( "mod_setenv" )
$HTTP["scheme"] == "https" {
    setenv.add-response-header = ( "X-Frame-Options" => "DENY")
}


b) SSL卸载
SSL offloading,或者叫SSL加速SSL acceleration,使用指定服务器承担SSL协议及加解密计算负荷,从而提高系统整体性能的一种技术。

同一domain下要使用相对URLs:
引用
<a href="/mypj/2016/11/29/1.html" target="_blank">文本</a>

跨多个domain时使用协议相对URLs:
引用
<a href="//www.domain.com/mypj/2016/11/29/1.html" target="_blank">文本</a>


一些反向代理服务器会把最初从浏览器发出时候的协议放入请求的头部:
引用
X-Forwarded-Proto: https


c) SNI(Server Name Identification)
服务器建立SSL连接时要请求服务器的证书,而服务器在发送证书的时候,是不知道浏览器访问的是哪个域名的,所以不能根据不同域名发送不同的证书。使用SNI扩展可以在连接到服务器建立SSL链接之前先发送要访问站点的域名(Hostname),这样服务器根据这个域名返回一个合适的证书。从而解决一个服务器使用多个域名和证书的SSL/TLS证书。

目前大多数操作系统和浏览器都已经很好地支持SNI扩展。

d) 安全Cookie
  • secure属性:只能在 HTTPS 连接中被浏览器传递到服务器端
  • HttpOnly属性:通过程序(JS脚本、Applet等)将无法读取

e) 其他
  • 使用TLS v1.2(禁用SSL v3)
  • 关闭RC4、3DES加密算法
  • Diffie-Hellman密钥交换(Diffie-Hellman key exchange)
  • 支持前向安全(PFS:Perfect Forward Secrecy)即使是所有用户的私钥被攻击者窃取,以前所有已生成的会话密钥也不会被攻击者破解。
  • 使用Qualys SSL Test测试所有公开的SSL服务器:https://www.ssllabs.com/ssltest/
  • Java维持了一份可信任根证书颁发机构(CA)清单。


参考:
https://www.youtube.com/watch?v=cBhZ6S0PFCY
http://blog.csdn.net/luocn99/article/details/39777707
https://www.zhihu.com/question/28379088
http://op.baidu.com/2015/04/https-index/
https://zenlogic.jp/aossl/
https://www.symantec.com/ja/jp/page.jsp?id=always-on-ssl
https://hyper-text.org/archives/2015/01/full_time_ssl_website_quick_start.shtml
https://osusume-houhou.com/advantages-and-disadvantages-together-always-ssl-of-https/
http://www.infoq.com/cn/articles/https-difficult
https://www.feistyduck.com/books/openssl-cookbook/
  • 大小: 39.4 KB
  • 大小: 26.8 KB
  • 大小: 71.4 KB
分享到:
评论

相关推荐

    强电-电力变压器基础知识培训资料学习资料.zip

    强电-电力变压器基础知识培训资料学习资料: 110kv油浸电力变压器基础知识介绍.ppt 110kV电力变压器结构与电磁计算.pdf 120页变压器培训课件.ppt 134页图文全解变压器类型.ppt 160页PPT全解变压器.pdf 20(10)KV双电压...

    变压器基础知识合集(共112份).zip

    变压器基础知识合集,共112份,资料PPT格式,供大家学习参考。 变压器、PT、CT相关知识 变压器标准资料 变压器的分类、基本结构及工作原理 变压器的构造讲解 变压器的规格型号及解释 变压器的基本工作原理和结构 ...

    计算机应用基础知识(共59张PPT).pptx

    计算机的分类 按处理数据的形态分类 数字计算机、模拟计算机、混合计算机 按使用范围分类 通用计算机、专用计算机 按性能分类 超级计算机、大型计算机、小型计算机、微型计算机、工作站 计算机应用基础知识(共59张...

    计算机基础知识笔记--资料.doc

    琳无鞘脆柔柴瘟借吃柠瞬姑敛雹哟脱讣教灭恶非肆腕细吾务均姆计古开锨沼商绑计算 机基础知识笔记焊枯虾悯稍离旱留痘溪旦辱篓杉砍咕刽佬落斗稳吾字颜枝柯述筒绍封 沙纳哗坡轩潦丛姐槛像恭嚼恤煽抖翌磐钦绽眶参微声宫疲...

    计算机基础知识(全集)

    Dreamweaver MX中文版建站攻略.chm DreamWeaver经典50问.chm html基础教程.chm HTML页面修改注册表解密.chm JAVASCRIPT教程.chm JAVASCRIPT语言教程.chm javascript源码大全.chm java联想(中文).chm java语言入门....

    移动通信基础知识培训(全).docx

    移动通信基础知识培训 移动通信基础知识培训(全)全文共6页,当前为第1页。 移动通信基础知识培训 移动通信基础知识培训(全)全文共6页,当前为第1页。 一 移动通信常用的专业术语 基站:即公用移动通信基站是无线电台...

    移动通信基础知识培训(全).doc

    移动通信基础知识培训 移动通信基础知识培训 一 移动通信常用的专业术语 基站:即公用移动通信基站是无线电台站的一种形式,是指在一定的无线电覆盖区中 ,通过移动通信交换中心,与移动电话终端之间进行信息传递的...

    模拟电子技术基础--童诗白

     全书以导言开篇,以读图结尾,使读者尽快入门,并能站在系统的高度认识模拟电子电路。该书每章以本章讨论的问题开始,以小结结束;基本知识内容系统、精炼、深入,在讲清电路工作原理和分析方法的同时,尽量阐明...

    全站仪实习报告.doc

     所用仪器设备 1、全站仪 全站仪是指能自动地测量角度和距离,并能按一定程序和格式将测量数据传送给相应 的数据采集器。全站仪自动化程度高,功能多,精度好,通过配置适当的接口,可使野 外采集的测量数据直接...

    java 专业培训机构课件 很全基础知识详解

    这是本人在培训机构培训(名字就不方便透露啦 本站有它广告)学习的时候搞的 绝对真实 串讲了java的所有基本知识点以及高级应用部分 同时还有每章要注意的部分 112页

    计算机硬件基础知识.doc

    计算机硬件基础知识 LT 计算机基础知识 (一) 计算机的基本组成 包括:显示器、键盘、鼠标、音箱、打印机、扫描仪、主机箱、主板、内存条、硬盘 、CPU、显示卡、声卡、光驱、软驱、集成线路等。 1.电脑的主躯干——...

    电力知识 基础概念 电力系统远动复习总结

    单工数据传输、半双工数据传输、全双工数据传输 同步传输和异步传输 误码率 奇偶校验和循环冗余校验CRC 信源编码,信道编码 调制,解调 多路复用技术 计算机网络拓扑结构 局域网标准IEEE802系列有哪些? IEEE802.4...

    计算机网络应用基础计算机网络基础知识.pptx

    计算机网络基础知识 1.1 计算机网络的发展过程 1.2 计算机网络的基本概念 1.3 计算机网络的类型 1.4 计算机网络的体系结构 1.5 数据通讯基础 1.1 计算机网络的发展(了解) 计算机网络是计算机技术和通信技术结合的...

    [整站程序]天地网络-网络学院全站_tiandinetxy.rar

    对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步...

    JAVA基础知识笔记,内容看JAVA学习专栏,压缩包资源较全

    是本人JAVA学习过程中的一些笔记内容,从最基础的JAVA命名规范到面向对象编程再到网络编程,JDBC等高级应用,本笔记建议与B站韩顺平老师的JAVA课程进行配套。

    mib基础知识

    SNMP(简单网络管理协议)是目前...笔者作为《全业务光纤接入网传输系统》的网络管理小组的成员,针对自已在开发过程中的体会,特归纳出关于MIB的相关知识,相信对网管开发感兴趣的读者阅读过后会很快的掌握MIB的精髓。

    计算机基础(Windows-7+Office-2010)课程标准.doc

    2、职业专门能力目标 (1)深入了解计算机基础知识,熟练掌握计算机的基本操作 (2)了解网络、数据库、多媒体技术等计算机应用方面的知识和相关技术 (3)具有良好的信息收集、信息处理、信息呈现的能力 (4)培养...

    react最新教程(包含初级-中级-高级)

    第一章:React基础 1.react基础 2. JSX语法 3. 如何给组件添加样式 4. 如何添加自定义组件 5. 创建无状态组件 6. 学习render方法 7. 组件的属性 8. 组件的状态 9. 理解react中的this 10. 使用...

    无盘工作站组建、应用、维护、实战精通.pdf

    全书共13章,其中1-2介绍无盘工作站的基础知识,3-10介绍在DOS、WIN95/WIN98/NT/WIN2000/XP/2003、LINUX、NOWELL等环境下如何创建无盘工作站。11-12介绍如何在无盘工作站上安装应用软件和如何将无盘工作站连入...

Global site tag (gtag.js) - Google Analytics