Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
HSTSについて調べた
Search
Hiroto Sasagawa
July 10, 2023
Technology
0
400
HSTSについて調べた
Hiroto Sasagawa
July 10, 2023
Tweet
Share
More Decks by Hiroto Sasagawa
See All by Hiroto Sasagawa
IP Anycastとリバースプロキシ
nagutabby
0
440
第1回 AWS勉強会
nagutabby
0
550
第1回 GNU/Linux勉強会
nagutabby
0
520
第2回 GNU/Linux勉強会
nagutabby
0
450
第3回 GNU/Linux勉強会
nagutabby
0
510
DNSを標的とする攻撃
nagutabby
0
460
EC2とCloudWatchで始める高対話型ハニーポット運用
nagutabby
0
550
Other Decks in Technology
See All in Technology
浸透しなさいRFC 5322&7208
hinono
0
120
LLMエージェント時代に適応した開発フロー
hiragram
1
420
人と組織に偏重したEMへのアンチテーゼ──なぜ、EMに設計力が必要なのか/An antithesis to the overemphasis of people and organizations in EM
dskst
6
630
Go で言うところのアレは TypeScript で言うとコレ / Kyoto.なんか #7
susisu
7
1.9k
我々は雰囲気で仕事をしている / How can we do vibe coding as well
naospon
2
220
kintone開発チームの紹介
cybozuinsideout
PRO
0
73k
Understanding Go GC #coefl_go_jp
bengo4com
0
1.1k
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
2
20k
制約理論(ToC)入門
recruitengineers
PRO
5
720
攻撃と防御で実践するプロダクトセキュリティ演習~導入パート~
recruitengineers
PRO
3
370
現場が抱える様々な問題は “組織設計上” の問題によって生じていることがある / Team-oriented Organization Design 20250827
mtx2s
6
1.5k
ZOZOTOWNフロントエンドにおけるディレクトリの分割戦略
zozotech
PRO
18
5.5k
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Building an army of robots
kneath
306
46k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.5k
The Language of Interfaces
destraynor
160
25k
Music & Morning Musume
bryan
46
6.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Done Done
chrislema
185
16k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
What's in a price? How to price your products and services
michaelherold
246
12k
Transcript
HSTSについて調べた 笹川 尋翔
HSTS(HTTP Strict Transport Security) • サーバとクライアント間の通信でHTTPSを使うことを強制 • レスポンスヘッダにStrict-Transport-Securityを付与
HTTPのリダイレクトじゃ駄⽬? • HTTPに届いたリクエストをHTTPSにリダイレクト NGINXでリダイレクトを設定する例
中間者攻撃のリスクがある • リダイレクトされる前の通信は平⽂で⾏われる • 悪意のあるサーバを経由させると通信を盗聴、改ざんできる
HSTSの利点 • 中間者攻撃(Man In The Middle Attack)を防⽌ • Cookieなどの通信データを暗号化
HSTSの⽋点 • 例1.) そのドメインに初めてアクセスする場合 • 例2.) Strict-Transport-Securityが期限切れの場合 最初のリスエストとレスポンスの通信を HTTPで⾏うことができる
ディレクティブ • max-age=<expire-time> • HTTPSだけで接続することをWebブラウザが記憶する秒数 • includeSubDomains • サイトの全てのサブドメインにもHSTSを適⽤ •
preload • 最初の通信からHSTSを適⽤ • 仕様書(RFC 6797)では定義されていない
Cookieの暗号化 • CookieにSecure属性を設定 • 暗号化を保証 • HTTPSを使うときだけCookieが作成 • HSTSを使う •
Cookieをほぼ確実に暗号化できるが暗号化は保証されない • “HSTSの⽋点”で説明したように、HTTPで通信される場合がある
中間者攻撃 • クライアントと正規サーバの通信を、悪意のあるサーバを 経由して実施させる • 通信の盗聴、改ざんをする • 例) HTTPで通信している場合 •
平⽂でデータが渡されるため、盗聴や改ざんが容易
中間者攻撃の例
HSTSの設定⽅法 • Webアプリケーションフレームワークのバックエンド • 例) Ruby on Rails • Webサーバ
• 例) NGINX • DNSサーバ • 例) Cloudflare DNS
まとめ • HSTSはHTTPSでの接続を強制する仕組み • 単独では通信の暗号化を保証しない • HSTS ≠ 安全 •
preloadディレクティブ、Cookieのsecure属性を設定することが推奨
参考 • https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Strict- Transport-Security • https://www.chromium.org/hsts/ • https://hstspreload.org/