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
540
奥が深いメールのシステム / The depth of Email system
さくらインターネット Labラジ 2024-06-26 での資料
linyows
June 26, 2024
Tweet
Share
More Decks by linyows
See All by linyows
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
190
コードジェネレーターで 効率的な開発をする / Efficient development with code generators
linyows
0
180
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
360
非コンテナ環境において宣言的Deploymentを手軽に実現する / Declarative deployment in non-container environments
linyows
0
120
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
770
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
360
研究の再現性を高める 仕組みをGoでつくる / Creating a system to improve the reproducibility of research using go
linyows
1
190
IaCにおけるテスト考察 / Tests in IaC
linyows
2
600
リバースエンジニアリングとGoでSlackの認知負荷を下げる / Reducing cognitive load in Slack with Reverse-engineering and Go
linyows
2
370
Other Decks in Programming
See All in Programming
remix + cloudflare workers (DO) docker上でいい感じに開発する
yoshidatomoaki
0
120
신입 안드로이드 개발자의 AI 스타트업 생존기 (+ Native C++ Code를 Android에서 사용해보기)
dygames
0
500
Fluent UI Blazor 5 (alpha)の紹介
tomokusaba
0
130
Kubernetesで実現できるPlatform Engineering の現在地
nwiizo
2
1.7k
PHPUnit 高速化テクニック / PHPUnit Speedup Techniques
pinkumohikan
1
1.2k
S3静的ホスティング+Next.js静的エクスポート で格安webアプリ構築
iharuoru
0
190
Denoでフロントエンド開発 2025年春版 / Frontend Development with Deno (Spring 2025)
petamoriken
1
1.3k
‘무차별 LGTM~👍’만 외치던 우리가 ‘고봉밥 코드 리뷰’를?
hannah0731
0
520
Coding Experience Cpp vs Csharp - meetup app osaka@9
harukasao
0
110
Scala 3 で GLSL のための c-like-for を実装してみた
exoego
1
180
MCP世界への招待: AIエンジニアが創る次世代エージェント連携の世界
gunta
2
520
RCPと宣言型ポリシーについてのお話し
kokitamura
2
140
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Why Our Code Smells
bkeepers
PRO
336
57k
4 Signs Your Business is Dying
shpigford
183
22k
Music & Morning Musume
bryan
46
6.4k
Testing 201, or: Great Expectations
jmmastey
42
7.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
50
2.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
What's in a price? How to price your products and services
michaelherold
244
12k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Mobile First: as difficult as doing things right
swwweet
223
9.5k
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に頼っていると次第に技術 力 は失われ、 コントロールされ、ひいては国 力 低下にもつながると危惧している