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
430
第1回 AWS勉強会
nagutabby
0
540
第1回 GNU/Linux勉強会
nagutabby
0
510
第2回 GNU/Linux勉強会
nagutabby
0
440
第3回 GNU/Linux勉強会
nagutabby
0
510
DNSを標的とする攻撃
nagutabby
0
460
EC2とCloudWatchで始める高対話型ハニーポット運用
nagutabby
0
540
Other Decks in Technology
See All in Technology
比起獨自升級 我更喜歡 DevOps 文化 <3
line_developers_tw
PRO
0
1.1k
OTFSG勉強会 / Introduction to the History of Delta Lake + Iceberg
databricksjapan
0
120
25分で解説する「最小権限の原則」を実現するための AWS「ポリシー」大全
opelab
9
2.1k
[TechNight #90-1] 本当に使える?ZDMの新機能を実践検証してみた
oracle4engineer
PRO
3
140
菸酒生在 LINE Taiwan 的後端雙刀流
line_developers_tw
PRO
0
1.1k
BrainPadプログラミングコンテスト記念LT会2025_社内イベント&問題解説
brainpadpr
0
140
TerraformをSaaSで使うとAzureの運用がこんなに楽ちん!HCP Terraformって何?
mnakabayashi
0
300
AIの最新技術&テーマをつまんで紹介&フリートークするシリーズ #1 量子機械学習の入門
tkhresk
0
120
米国国防総省のDevSecOpsライフサイクルをAWSのセキュリティサービスとOSSで実現
syoshie
2
760
Amplifyとゼロからはじめた AIコーディング 成果と展望
mkdev10
1
350
AWS CDK 実践的アプローチ N選 / aws-cdk-practical-approaches
gotok365
4
430
TechLION vol.41~MySQLユーザ会のほうから来ました / techlion41_mysql
sakaik
0
140
Featured
See All Featured
Making Projects Easy
brettharned
116
6.2k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Being A Developer After 40
akosma
90
590k
GitHub's CSS Performance
jonrohan
1031
460k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
16
940
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Building an army of robots
kneath
306
45k
Six Lessons from altMBA
skipperchong
28
3.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
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/