专栏首页Linyb极客之路七种HTTP头部设置保护你的网站应用安全

七种HTTP头部设置保护你的网站应用安全

  现代的网络浏览器提供了很多的安全功能,旨在保护浏览器用户免受各种各样的威胁,如安装在他们设备上的恶意软件、监听他们网络流量的黑客以及恶意的钓鱼网站。

1. Frame选项

在你的网站上设置X-Frame-Options头部可以保护你的网站内容被别人包含在一个iframe中,也就是Html的框架中,如果别人用iframe包含了你的网站页面,他们就可能强迫用户在你网站某个部分点击隐藏在iframe中恶意代码,比如clickjacking攻击。将这个选项设置为DENY是完全堵塞在一个框架中显示你的网站,SAMEORIGIN设置则是框架中只能显示来自同一个服务器的内容,而ALLOW-FROM则是你规定的白名单。

Nginx中编辑nginx.conf ,在server段加入:

add_header X-Frame-Options "SAMEORIGIN";

使用Web开发工具,或HTTP Header online tool 能够看到如下:

2. XSS审计

跨站脚本Cross-site scripting (XSS)是最普遍的危险攻击,经常用来注射恶意代码到你的应用以获得登录用户的数据,或者利用优先权执行一些动作,设置X-XSS-Protection能保护你的网站免受跨站脚本的攻击。

Nginx在nginx.conf的server段中加入:

add_header X-XSS-Protection "1; mode=block";

3.Content Type选项

一些浏览器非常聪明,会猜测默认的数据传输内容,比如即使服务器说这是一个普通文本文件,浏览器也会当成一个HTML文件渲染输出显示,这会被黑客用来导向不信任的Javacript代码,设置X-Content-Type-Options为nosniff ,就是强迫浏览器尊重服务器端指定的文件类型。

在Nginx.conf的server段加入:

add_header X-Content-Type-Options nosniff;

4.HTTP Strict Transport Security

阻止浏览器拒绝被黑客从HTTPS切换到HTTP等不安全的网址下载内容,HSTS头部选项会强迫用户开始通过HTTPS连接时,以后的连接都是通过HTTPS。

在Nginx.conf的server段加入:

add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";

5. Public Key Pinning Extension for HTTP

该选项只适用于HTTPS,,第一次这个头部信息不做任何事,一个用户加载你的站点,它会注册你的网站使用的证书,阻止你的用户浏览器使用假装是你的网站证书但不一样从而连接到恶意服务器,保护你的用户免受能够创建任何域名证书的黑客攻击。

6. Content Security Policy

内容安全策略(CSP)列出你网站允许使用的所有授权的域名和资源,如果用户加载一个黑客注入恶意资源的页面,浏览器只会加载你的页面,阻止黑客资源加载,该项应该对中国电信 移动 联通 长城宽带等ISP恶意网页劫持有阻止作用。

由于该内容较多,可以到http://cspisawesome.com/帮助你自动生成配置,然后在Nginx.conf加入。

在Nginx.conf的server段加入:

add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://ssl.google-analytics.com https://assets.zendesk.com https://connect.facebook.net; img-src 'self' https://ssl.google-analytics.com https://s-static.ak.facebook.com https://assets.zendesk.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com https://assets.zendesk.com; font-src 'self' https://themes.googleusercontent.com; frame-src https://assets.zendesk.com https://www.facebook.com https://s-static.ak.facebook.com https://tautt.zendesk.com; object-src 'none'";

7.Cookie Protection

如果你的cookie带有用户的授权信息,该项能够保护你的Cookie的安全性,有两种:

1. HttpOnly,会阻止XSS攻击将你的用户cookie发给黑客

2.Secure属性能让Cookie通过HTTPS连接,而不是HTTP,这样,能够访问你的网络的黑客无法读取未加密的Cookie。

本文分享自微信公众号 - Linyb极客之路(gh_c420b2cf6b47)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-12-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JAVA常用API整理

    提供sin, cos, tan, exp, log, log10 等类方法,PI和E等类字段

    lyb-geek
  • HTTPS安全最佳实践

    HTTPS对于保护你的网站至关重要。但是你还需要避免许多陷阱 1. 没有混合内容

    lyb-geek
  • 记一次因eureka服务端配置不当导致出现不可预知异常

    最近在做日志采集的时候,发现kibana请求elasticsearch频繁超时,导致日志用kibana展示非常之慢,当时想到了是不是elasticsearch内...

    lyb-geek
  • 微信小程序图片使用示例

    祈澈菇凉
  • 舒适美观的mac终端, iTerm2+zsh+powerlevel9k+vim+virtualenv

    > 如果图片崩了, 请移步[某hub](https://github.com/SoSkyrim/SeanPics/blob/master/iTerm/seanS...

    SeanDepp
  • 使用Searx搭建一个私人的搜索引擎平台,可展现Google/Bing等70多种搜索网站的搜索结果

    更多参数设置可以参考https://github.com/asciimoo/searx/wiki/settings.yml。

    叮当叮
  • 众测备忘手册

    众测备忘手册 From ChaMd5安全团队核心成员 MoonFish 前言 最近一直在看bugbountyforum对赏金猎人采访的文章以及一些分享姿势的PP...

    ChaMd5安全团队
  • 在CentOS8上安装Surelog

    Surelog是一个支持SystemVerilog 2017的Pre-processor、Parser、UHDM Compiler,可用于语法检查、仿真、综合、...

    ExASIC
  • 在CentOS8上编译安装开源EDA工具——Surelog

    Surelog是一个支持SystemVerilog 2017的Pre-processor、Parser、UHDM Compiler,可用于语法检查、仿真、综合、...

    ExASIC
  • Android 阿里百川cps SDK接入流程

    因公司业务需求,需接入阿里百川SDK和京东联盟cps相关服务,为了跳到淘宝和京东,用户购买后得到佣金。接入过程中遇到很多坑,网上相关资料也甚少,虽然东西不算多,...

    Jingbin

扫码关注云+社区

领取腾讯云代金券