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
奥が深いメールのシステム / The depth of Email system
Search
linyows
June 26, 2024
Programming
4
450
奥が深いメールのシステム / The depth of Email system
さくらインターネット Labラジ 2024-06-26 での資料
linyows
June 26, 2024
Tweet
Share
More Decks by linyows
See All by linyows
非コンテナ環境において宣言的Deploymentを手軽に実現する / Declarative deployment in non-container environments
linyows
0
21
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
400
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
260
研究の再現性を高める 仕組みをGoでつくる / Creating a system to improve the reproducibility of research using go
linyows
1
140
IaCにおけるテスト考察 / Tests in IaC
linyows
2
480
リバースエンジニアリングとGoでSlackの認知負荷を下げる / Reducing cognitive load in Slack with Reverse-engineering and Go
linyows
2
300
透過型SMTPプロキシによる送信メールの可観測性向上 / Improved observability of outgoing emails with transparent smtp proxy
linyows
2
1k
プロダクションで使うGo Pluginの利便性とパフォーマンス性 / Simplicity and Performance of Go plugin for Production
linyows
0
540
求められるソフトウェアエンジニア像とキャリア戦略 / Engineers and Career Strategies Required Now
linyows
2
500
Other Decks in Programming
See All in Programming
プロダクトの品質に コミットする / Commit to Product Quality
pekepek
2
770
The Efficiency Paradox and How to Save Yourself and the World
hollycummins
1
440
useSyncExternalStoreを使いまくる
ssssota
6
1k
Keeping it Ruby: Why Your Product Needs a Ruby SDK - RubyWorld 2024
envek
0
180
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
270
From Translations to Multi Dimension Entities
alexanderschranz
2
130
return文におけるstd::moveについて
onihusube
1
950
Refactor your code - refactor yourself
xosofox
1
260
fs2-io を試してたらバグを見つけて直した話
chencmd
0
220
ブラウザ単体でmp4書き出すまで - muddy-web - 2024-12
yue4u
2
460
As an Engineers, let's build the CRM system via LINE Official Account 2.0
clonn
1
670
Semantic Kernelのネイティブプラグインで知識拡張をしてみる
tomokusaba
0
180
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
How GitHub (no longer) Works
holman
311
140k
Designing for humans not robots
tammielis
250
25k
Unsuck your backbone
ammeep
669
57k
Practical Orchestrator
shlominoach
186
10k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Making Projects Easy
brettharned
116
5.9k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
440
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
97
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
Transcript
@2024-06-26 さくらインターネット Labラジ 奥が深いメールのシステム
小 田 知央 / Tomohisa Oda @linyows • 福岡市在住 •
Fukuoka.go 主催 • 趣味は筋トレとテニス • OSS: Octopass, Dewy, Rotion, Warp… • https://tomohisaoda.com • https://x.com/linyows
プライベートのメールアドレスどうしてる? • Gmail, Yahooメール, あるいはOutlookを使っている • メールホスティングを利 用 している •
自 分でメールサーバーをたてて管理している プライベートだと、おそらくSaaSを無料の範囲で使っている 人 がほとんどでは ないでしょうか
InstagramやLineがある中でまだメールなの? • プラットフォーム依存のメッセージングツールは多くある • 標準化され、名前で送れ、ファイル添付可能なメッセージングツールで普及 しているのはメールのみ • Webサービスの認証をメールに依存していたり(パスワード再設定なども) • ほかにも、Webサービスからの通知や案内、E-commerceの取引内容など
• インターネットの重要なインフラの 一 つ
メールサーバが難しいのはなぜか? • 送信受信はSMTP、メールのファイル操作はPOP/IMAP、複数のプロトコル から成り 立 つ • メールシステムは分散システムの 一 つ
• メールはネットワークが常時接続じゃない頃からありその時代で動くように 設計され進化してきた • 最近ようやく送信ドメイン認証が強制されセキュリティを強化するながれ
SMTPのおさらい SMTPコマンド 普段ここを 見 SMTPコマンド
SMTPのおさらい Envelope Mail 2つのFrom
送信ドメイン認証とは? • SPF, DKIM, DMARC を使って送信ドメインを認証する • 送信元が正しいこと、なりすまし改ざんされてないこと、それらがMail From と
一 致していること • SPF: Envelop FromのSPFレコードの 比 較 • DKIM: DKIMレコードで署名の復号 • DMARC: Header FromとEnvelop From、Header FromとDKIM署名元の 比 較
メールの転送時、SPFはどうなる? • 転送は第三者に送信するので、受信する第三者から 見 ると送信元はSPFのそれ とは異なるためFailする • そのため、Envelope Fromを元の情報をエンコードして書き換える仕組み、 Sender
Rewriting Scheme(SRS)をする
メールの転送時、DKIMはどうなる? • 転送はヘッダーや本 文 が変更される ため、受信する第三者から 見 ると送 信元の署名と異なるためFailする •
そのため、転送サーバでARC (Authenticated Received Chain)という仕組みで再署名し認 証の連鎖を 行 う
DMARCレポート問題 • DMARCでは、受信者が送信ドメイン認証に よって判断した結果をレポートとして受け 取れる • レポートはXMLファイルの添付で集計が 大 変
送信ドメイン認証の次は? • 平 文 前提のSMTPに経路暗号化(STARTTLS)を必須とするMTA-STSやDANE • Lookalikeドメイン(appie.com, applё.comのようなやつEnvelope From)によるフィッシングメール対策としてBIMI(Brand Indicators
for Message Identi fi cation)をつかったアイコン表 示 • ちなみにBIMIは認証局に登録が必要 コレ
メールの安全性はDNSでもたらされている • SPF, DKIM, DMARC, MTA-STS, DANE, BIMI… すべてDNSに依存している •
DNSが正しい前提になるのでDNSも対策が必要 • つまり、DNSSEC…(DANEはそもそもDNSSEC利 用 前提) • メールを安全にするためのメールサーバ構築はやるべきことが多い
メールを便利につかう 方 はどうだろうか? • オープンなメッセージングツールなので、メルマガを頻繁に配信されたり、記憶にない広告 メールがどんどんくる経験はあるだろう • 正直、スパムのせいでメールシステム全体の信頼性が低下していると思う • 日
々、メールインボックスからアーカイブする or 削除する をやり続けるのは体験として悪い • GmailやOutlookなどは アルゴリズムや機械学習を使って 自 動でメールを管理する Smart Inbox 機能が提供されている • そもそも、インボックスを 高 速に検索できるようにもしなければならず、優秀なメールクラ イアントの提供はハードルが 高 い
メールのシステムは奥が深い • 安全なメールサーバ構築は 大 変で、メールクライアントを便性にするにはハードルが 高 い • それら両 方
の提供はSaaSだけが実現できており、メールシェアの多くを占める • 最近のメールセキュリティ向上はSaaS主導で牽引している • SaaSといえどメールはビジネスや個 人 の 生 活を 支 えるインターネットインフラの 一 つ • Public Cloudと同様、メガクラウドのSaaSに頼っていると次第に技術 力 は失われ、 コントロールされ、ひいては国 力 低下にもつながると危惧している