返回首页

如何配置使用HTTP严格传输安全HSTS

时间:2018-09-21 23:27来源:知行网www.zhixing123.cn 编辑:麦田守望者

HTTP严格传输安全即HSTS是某种安全功能,HSTS旨在告知用户使用的浏览器与服务器之间仅HTTPS通信。如果网站服务器支持HTTP访问并将其重定向到HTTPS访问的话,那么重定向之前的初始化会话是非加密的。这种情况下攻击者就可以利用中间人攻击手法进行劫持,让访问请求从正常站点跳转到攻击者的恶意站点去。而HSTS协议则告知浏览器不可以使用HTTP进行连接,在浏览器上自动将所有到该站点的HTTP替换HTTPS。

维基百科上对HSTS协议的描述是可以用来抵御 SSL 剥离攻击,该攻击由Moxie在2009年黑帽大会上发表的。这种攻击方式主要利用的就是不少用户习惯性点击 HTTP 连接而不会手动把请求的网址改成HTTPS加密连接。因此可以在 HTTP 连接完成前对请求进行阻止,然后将连接重定向到攻击者伪造的恶意网址上即可窃取数据。

需要注意的是:

在浏览器首次访问网页之前并不知道服务器是否支持 HSTS 协议,因此网站需要通过HTTPS协议告知浏览器。所以在用户的浏览器初次访问HTTPS站点时即使启用HSTS协议也不能够完全杜绝掉SSL剥离这个攻击手法的。

如何告诉浏览器支持HSTS协议:

在服务器中配置HSTS协议并在客户端发出HTTPS请求时,在HTTP响应头中包含Strict-Transport-Security。

在Nginx中设置HSTS协议:

编辑网站配置文件然后加入HSTS协议代码保存,然后重启Nginx即可开启HSTS协议。实例如下:

server

    {

        listen 443 ssl http2;

        #listen [::]:443 ssl http2;

        server_name www.landiannews.com landiannews.com;

        #开启HTTP严格传输安全HSTS

add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

        #开启HTTP严格传输安全HSTS

        index index.html index.htm index.php default.html default.htm default.php;

        ssl on;

        ssl_certificate /usr/local/nginx/conf/certificate/www.landiannews.com.crt;

        ssl_certificate_key /usr/local/nginx/conf/certificate/www.landiannews.com.key;

        ssl_session_timeout 5m;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

        ssl_prefer_server_ciphers on;

    }

      #修改完成保存后重启Nginx

       service nginx restart

在Apache 2中设置HSTS:

在Apache里编辑网站的配置文件例如/etc/apache2/sites-enabled/website.conf等等:

# Optionally load the headers module:

LoadModule headers_module modules/mod_headers.so

<VirtualHost 67.89.123.45:443>

#开启HTTP严格传输安全HSTS

Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"

#开启HTTP严格传输安全HSTS

</VirtualHost>

以上内容由 LCTT 编译并发布在Linux中国,英文原文请点击这里查看。

------分隔线----------------------------
标签(Tag):HTTP
------分隔线----------------------------
推荐内容
  • css代码flex的布局使用详解

    flex布局的含义 flex布局又名为弹性布局,主要是通过设置的属性值自动调整元素的宽度...

  • html版权符号代码怎么写?

    相信不少开发人员都会遇见这个问题,基本上每个网站都会有版权声明,其中会用到版权符...

  • 网站打不开dns错误如何解决

    DNS解析就是把你的域名解析成一个ip地址,服务商提供的dns解析就是能够将你的域名解析...

  • HTTP状态码的含义图解教程

    HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。我...

  • 如何得知golang代码覆盖率

    以前写程序时,很少关注单元测试。 即便写,也是草草了事。没有很认真的写过,更别谈...

  • 谈谈网站建设中网站导航设计的经验技巧

    当用户进入网站时,根据浏览习惯首先会先大概地扫视一遍进入的目标页面,其次则会开始...

  • 猜你感兴趣
  • 教育技术学动态
  • 教育技术学论文
  • 理论研究
  • 应用研究
  • 资源收藏
  • 百家观点
  • 英文文献
  • 中国电化教育
  • 电化教育研究
  • 中国远程教育
  • 开放教育研究
  • 现代教育技术
  • 远程教育杂志
  • 现代远距离教育
  • 中国教育信息化
  • 中国信息技术教育
  • 中小学信息技术
  • Flash龙8国际平台入口
  • Photoshop龙8国际平台入口
  • 3DMAX龙8国际平台入口
  • AutoCAD龙8国际平台入口
  • CorelDRAW龙8国际平台入口
  • Matlab龙8国际平台入口
  • 其他龙8国际平台入口
  • .Net龙8国际平台入口
  • Asp龙8国际平台入口
  • Php龙8国际平台入口
  • Jsp龙8国际平台入口
  • Ajax龙8国际平台入口
  • Android教程
  • 其他龙8国际平台入口
  • Word教程
  • Excel教程
  • PowerPoint教程
  • Ubuntu教程
  • 其他教程
  • 课件下载
  • 软件下载
  • 视频教程下载
  • 其他下载
  • 教案大全
  • 试题大全
  • 课件大全
  • 其他大全
  • 人像摄影
  • 风光摄影