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
470
奥が深いメールのシステム / The depth of Email system
さくらインターネット Labラジ 2024-06-26 での資料
linyows
June 26, 2024
Tweet
Share
More Decks by linyows
See All by linyows
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
250
非コンテナ環境において宣言的Deploymentを手軽に実現する / Declarative deployment in non-container environments
linyows
0
45
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
560
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
290
研究の再現性を高める 仕組みをGoでつくる / Creating a system to improve the reproducibility of research using go
linyows
1
150
IaCにおけるテスト考察 / Tests in IaC
linyows
2
510
リバースエンジニアリングとGoでSlackの認知負荷を下げる / Reducing cognitive load in Slack with Reverse-engineering and Go
linyows
2
320
透過型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
570
Other Decks in Programming
See All in Programming
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
770
情報漏洩させないための設計
kubotak
5
1.3k
テストコードのガイドライン 〜作成から運用まで〜
riku929hr
7
1.4k
いりゃあせ、PHPカンファレンス名古屋2025 / Welcome to PHP Conference Nagoya 2025
ttskch
1
160
テストコード書いてみませんか?
onopon
2
330
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
170
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
1k
ISUCON14感想戦で85万点まで頑張ってみた
ponyo877
1
590
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
390
AIレシート読み取り機能をRuby on Rails on AWSで実現するLLMにまつわるアレコレ / AI-based receipt reading function powered by LLM on Ruby on Rails on AWS
moznion
3
130
Simple組み合わせ村から大都会Railsにやってきた俺は / Coming to Rails from the Simple
moznion
3
2.1k
ecspresso, ecschedule, lambroll を PipeCDプラグインとして動かしてみた (プロトタイプ) / Running ecspresso, ecschedule, and lambroll as PipeCD Plugins (prototype)
tkikuc
2
1.8k
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
570
What's in a price? How to price your products and services
michaelherold
244
12k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
Why Our Code Smells
bkeepers
PRO
335
57k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Documentation Writing (for coders)
carmenintech
67
4.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
BBQ
matthewcrist
85
9.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.2k
For a Future-Friendly Web
brad_frost
176
9.5k
Done Done
chrislema
182
16k
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に頼っていると次第に技術 力 は失われ、 コントロールされ、ひいては国 力 低下にもつながると危惧している