为网站部署 HSTS 预防中间人重定向攻击

HSTS 可以防止默认以 HTTP 方式访问站点的时候可被中间人重定向攻击的问题。

http 是明文传输的,为了防止数据被截获和修改,我们会为站点做 https 同时做上 https 跳转。然而在刚打开网站的时候是以 http 方式,可以被攻击者重定向到中间代理服务器上并伪造一个假证书以及 XSS。

于是乎有了 HSTS ( HTTP StrictTransportSecurity ),通过在 HTTP Header 上添加 StrictTransportSecurity 字段。可以告诉浏览器禁止以 HTTP 方式访问资源,同时维持一段时间里浏览器只会以 https 方式访问该站点(http 会自动被浏览器 307 重定向)。

只添加 Header 通知浏览器使用 HTTPS 并没有完全预防,在访问一个未知站点的时候还是会使用 HTTP 。所以主流浏览器会内置 HSTS 主机列表并定期更新。

 

Nginx 配置

[code]add_header Strict-Transport-Security “max-age=63072000; includeSubDomains; preload”;[/code]

用浏览器访问一次站点,在以后的 63072000 秒浏览器都会用 HTTP 方式访问站点。

IncludeSubDomains 包含了所有子域名以后访问都使用HTTPS

preload 允许浏览器把站点预加载到 HSTS 主机列表

 

之后在这里申请加入 HSTS 预加载列表 https://hstspreload.org

 

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇