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
43
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
540
透過型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
560
Other Decks in Programming
See All in Programming
Fixstars高速化コンテスト2024準優勝解法
eijirou
0
180
menu基盤チームによるGoogle Cloudの活用事例~Application Integration, Cloud Tasks編~
yoshifumi_ishikura
0
150
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
920
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
920
GitHub CopilotでTypeScriptの コード生成するワザップ
starfish719
26
5.9k
React 19でお手軽にCSS-in-JSを自作する
yukukotani
5
550
PHPカンファレンス 2024|共創を加速するための若手の技術挑戦
weddingpark
0
120
Beyond ORM
77web
11
1.5k
歴史と現在から考えるスケーラブルなソフトウェア開発のプラクティス
i10416
0
290
rails newと同時に型を書く
aki19035vc
5
690
functionalなアプローチで動的要素を排除する
ryopeko
0
120
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
1.3k
Featured
See All Featured
The Invisible Side of Design
smashingmag
299
50k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
4 Signs Your Business is Dying
shpigford
182
22k
Unsuck your backbone
ammeep
669
57k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
98
18k
How STYLIGHT went responsive
nonsquared
96
5.3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
860
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
GraphQLとの向き合い方2022年版
quramy
44
13k
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に頼っていると次第に技術 力 は失われ、 コントロールされ、ひいては国 力 低下にもつながると危惧している