SlideShare a Scribd company logo
Copyright© QUALITIA CO., LTD. All Rights Reserved.
メールセキュリティと
DNSの蜜月関係♥
株式会社クオリティア
平野善隆
Webサーバーも♥
Copyright© QUALITIA CO., LTD. All Rights Reserved.
自己紹介
名前 平野 善隆
所属 株式会社クオリティア
チーフエンジニア
資格等 Licensed Scrum Master
Certified Scrum Developer
主な活動 M3AAWG
JPAAWG
IA Japan 迷惑メール対策委員会
迷惑メール対策推進協議会
メッセージング研究所(MRI)
Audax Randonneurs Nihonbashi
Copyright© QUALITIA CO., LTD. All Rights Reserved.
メールやDNSとの関わり
1990 パソコン通信などでメールに触れる
199x ドメインを取得して近所のISPに個人のサーバーを置
かせてもらって運用開始
2000 外人さんの多い会社に転職したのでメールの漢字に
ふりがなを付けたりして遊ぶ (のちのhiragana.jp)
個人のサーバーをちゃんとしたデータセンターに移
動。imail.ne.jpというドメインを取って一攫千金を
夢見るが挫折
2004 メールの会社に入社
以降 スパムフィルタ、誤送信防止製品の開発やサービス
の立ち上げ。PPAPの礎を築く。
最近 メール管理者のための権威DNSサービス模索中
Copyright© QUALITIA CO., LTD. All Rights Reserved.
※重要 必ずお読みください
今日は、DNSSECの善し悪しは議論しません
あなたは、今から、なぜか
DNSSECはすばらしい
という気持ちになります。
Copyright© QUALITIA CO., LTD. All Rights Reserved.
もくじ
• メールセキュリティの全体像
• 世界のメールセキュリティと日本の状況
• メールとDNS
•送信ドメイン認証
•メールの暗号化
• まとめ
Copyright© QUALITIA CO., LTD. All Rights Reserved.
メールセキュリティの全体像
Copyright© QUALITIA CO., LTD. All Rights Reserved.
何から守りたいのか
クオリティア
メール
サーバ
メール
サーバ
なりすまし
乗っ取り
盗聴
改ざん
盗難
漏洩
ウィルス
メール
サーバ
フィッシング
メール
サーバ
なりすまし
Copyright© QUALITIA CO., LTD. All Rights Reserved.
Emailを守るための技術
•なりすまし・改ざん・フィッシング
•乗っ取り・踏み台送信
•盗聴・なりすまし受信
•スパム・マルウェア
•情報漏洩
SPF DKIM DMARC ARC BIMI S/MIME
POP before SMTP SMTP AUTH MFA
STARTTLS MTA-STS TLSRPT DANE DNSSEC S/MIME
AntiSPAM AntiVirus SandBox
一時保留 PasswordZIP WebDownload
Copyright© QUALITIA CO., LTD. All Rights Reserved.
Emailを守るための技術
•なりすまし・改ざん・フィッシング
•乗っ取り・踏み台送信
•盗聴・なりすまし受信
•スパム・マルウェア
•情報漏洩
SPF DKIM DMARC ARC BIMI S/MIME
POP before SMTP SMTP AUTH MFA
STARTTLS MTA-STS TLSRPT DANE DNSSEC S/MIME
AntiSPAM AntiVirus SandBox
一時保留 PasswordZIP WebDownload
Copyright© QUALITIA CO., LTD. All Rights Reserved.
世界と日本のメールセキュリティ
Copyright© QUALITIA CO., LTD. All Rights Reserved.
日本は周回遅れで滅びる!
https://weekly-economist.mainichi.jp/articles/20201103/se1/00m/020/061000c
日本だけ見てても参考にならなさそうだ・・・
Copyright© QUALITIA CO., LTD. All Rights Reserved.
オランダの場合
https://magazine.forumstandaardisatie.nl/meting-informatieveiligheidstandaarden-begin-2020
https://www.forumstandaardisatie.nl/sites/bfs/files/rapport-meting-informatieveiligheidstandaarden-maart-2020.pdf
Meting Informatieveiligheidstandaarden overheid maart 2020
(政府情報セキュリティ基準の測定2020年3月)
遅くとも
2017年末まで
遅くとも
2018年末まで
遅くとも
2019年末まで
DNSSEC
SPF
DKIM
DMARC
STARTTLSとDANE
SPFとDMARC
厳しいポリシー
Copyright© QUALITIA CO., LTD. All Rights Reserved.
オランダでの普及率
Het Rejk 国 (政府系??)
全体
https://www.forumstandaardisatie.nl/sites/bfs/files/rapport-meting-informatieveiligheidstandaarden-maart-2020.pdf
Copyright© QUALITIA CO., LTD. All Rights Reserved.
一方 日本では
SPF
SPF
-all
DMARC
厳しい
DMARC
DNSSEC STARTTLS MTA-STS DANE
オランダ政府(※1) 94% 92% 94 % 59 % 93 % 98% - 81 %
go.jp (※2) 93% 73% 7.0% 1.5% 5.5 % 58% 0% 0%
.jp (※3) 62% 11% 1.5% 0.3% 0.04% 54% 0.004%
(13件)
0.002%
(6件)
https://www.forumstandaardisatie.nl/sites/bfs/files/rapport-meting-informatieveiligheidstandaarden-maart-2020.pdf
※1 オランダ政府データ (2020/03)
※2 QUALITIA独自調べ go.jp(全てではない)のうちMXのあるドメイン(サブドメインは含まない)に対する割合 N=330 (2020/11)
※3 QUALITIA独自調べ jpドメイン(全てではない)のうちMXのあるドメイン(サブドメイン含む)に対する割合 N=約32万 (2020/10)
0
20
40
60
80
100
SPF SPF(-all) DMARC 厳しいDMARC DNSSEC STARTTLS DANE
オランダ政府 go.jp .jp
Copyright© QUALITIA CO., LTD. All Rights Reserved.
オランダ政府御用達チェックサイト
Copyright© QUALITIA CO., LTD. All Rights Reserved.
メールサーバーとDNS
Copyright© QUALITIA CO., LTD. All Rights Reserved.
メールの受信サーバー
example.jp. MX 10 receiver1.example.jp.
example.jp. MX 20 receiver2.example.jp.
MX レコード
メールのドメイン: example.jp
受信サーバー: receiver1.example.jp, receiver2.example.jp
Copyright© QUALITIA CO., LTD. All Rights Reserved.
メールの送信サーバー
example.jp. TXT "v=spf1 ip4:192.0.2.1 -all"
sender.example.jp. TXT "v=spf1 a -all"
SPF レコード
メールのドメイン: example.jp
送信サーバー: sender.example.jp [192.0.2.1]
Copyright© QUALITIA CO., LTD. All Rights Reserved.
送信ドメイン認証
から守る
Copyright© QUALITIA CO., LTD. All Rights Reserved.
送信ドメイン認証
•SPF
•DKIM
•DMARC
•BIMI
Copyright© QUALITIA CO., LTD. All Rights Reserved.
SPF
•Envelope FromとIPアドレスが正しいか
どうかを確認できる
•Envelope Fromが<>の時はHELO/EHLO
RFC7208 (2014/04)
Copyright© QUALITIA CO., LTD. All Rights Reserved.
SPFがないとき
192.0.2.1
203.0.113.1
Env From: taro@qualitia.co.jp
From: taro@qualitia.co.jp
Subject: お振り込みください
いつもお世話になっております。
・・・・
振り込みね。ポチっと。
×
クオリティア
Copyright© QUALITIA CO., LTD. All Rights Reserved.
SPFがあるとき
192.0.2.1
203.0.113.1
Env From: taro@qualitia.co.jp
From: taro@qualitia.co.jp
Subject: お振り込みください
AR: spf=fail
いつもお世話になっております。
・・・・
qualitia.co.jp txt “v=spf1 ip4:192.0.2.1 –all”
偽物っぽいなぁ
×
クオリティア
Copyright© QUALITIA CO., LTD. All Rights Reserved.
間違ったSPFの設定例
example.jp txt "v=spf1 ip4:192.0.2.0/24 –all"
example.jp txt "v=spf1 include:_spf.google.com –all"
SPFのレコードが複数存在する
example.jp txt "v=spf1 ip4:192.0.2.0/24 include:_spf.google.com –all"
×
0.6% (N=約20万)
If the resultant record set includes more than one record,
check_host() produces the "permerror" result.
RFC7208 4.5
Copyright© QUALITIA CO., LTD. All Rights Reserved.
間違ったSPFの設定例
example.jp txt "v=spf1 ip4:192.0.2.1 include:example.jp –all"
includeがloopしている
example.jp txt "v=spf1 ip4:192.0.2.1 –all"
×
0.3% (N=約20万)
Copyright© QUALITIA CO., LTD. All Rights Reserved.
間違ったSPFの設定例
example.jp txt "v=spf1 a mx -all a:mail.example.com"
allが一番後ろではない
example.jp txt "v=spf1 a mx a:mail.example.com -all"
×
1.0% (N=約20万)
Copyright© QUALITIA CO., LTD. All Rights Reserved.
間違ったSPFの設定例
example.jp txt "v=spf1 include:spf1.example.jp
include:spf2.example.jp .... –all"
spf1.example.jp txt "v=spf1 たくさんinclude"
DNSのlookupが11回以上
example.jp txt "v=spf1 ip4:192.0.2.0/24 .... –all"
×
0.9% (N=約20万)
一番多いのは90回!
Copyright© QUALITIA CO., LTD. All Rights Reserved.
間違ったSPFの設定例
example.jp txt "v=spf1 ip:192.0.2.1 -all"
example.jp txt "v=spf1 ipv4:192.0.2.1 -all"
example.jp txt "v=spf1 ip4: 192.0.2.1 -all"
example.jp txt "v=spf1 ip4:192.0.2.1 192.0.2.2 -all"
example.jp txt "v=spf1 ip4:spf.example.jp -all"
example.jp txt "v=spf1 inciude:spf.example.jp -all"
example.jp txt "v=spf1 include:192.0.2.1 -all"
example.jp txt "v=spf1 ip4:192.0.2.1 -all MS=ms12345678"
文法間違い
×
0.5% (N=約20万)
Copyright© QUALITIA CO., LTD. All Rights Reserved.
以外に多いSPFの書き間違い
複数のSPFレコードが存在: 1363
includeがloopしている: 730
DNSのlookupが10回以上: 3076
allが一番後ろではない: 1970
文法間違い: 1106
ptrの使用 436
計: 8681 N=212123
約4%に問題あり!
Copyright© QUALITIA CO., LTD. All Rights Reserved.
そんな便利なSPFですが
Copyright© QUALITIA CO., LTD. All Rights Reserved.
SPFがあっても
192.0.2.1
203.0.113.1
Env From: jiro@悪徳グループ.example
From: taro@qualitia.co.jp
Subject: お振り込みください
AR: spf=none
いつもお世話になっております。
・・・・
qualitia.co.jp txt “v=spf1 ip4:192.0.2.1 –all”
振り込みね。ポチっと。
クオリティア
Env FROMは
自分のところから
Copyright© QUALITIA CO., LTD. All Rights Reserved.
悪徳グループのSPFで認証
192.0.2.1
203.0.113.1
Env From: jiro@悪徳グループ.example
From: taro@qualitia.co.jp
Subject: お振り込みください
AR: spf=pass
いつもお世話になっております。
・・・・
悪徳グループ.example txt “v=spf1 ip4:203.0.113.1 –all”
qualitia.co.jp txt “v=spf1 ip4:192.0.2.1 –all”
SPF PASSで安心!
振り込み、ポチっと。
クオリティア
SPFも書いとこ
Copyright© QUALITIA CO., LTD. All Rights Reserved.
SPF
•Envelope FromとIPアドレスが正しいかど
うかを確認できる
•Envelope Fromが<>の時はHELO/EHLO
•意外と書き方を間違えるので注意
•ヘッダFromについては対象外
example.jp TXT “v=spf1 ip4:192.0.2.1 –all”
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DKIM
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DKIM
•ヘッダや本文に署名してなりすましを
防止できる
•ヘッダや本文に署名して改ざんを防止
できる
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DKIMがないとき
From: taro@qualitia.co.jp
Subject: お振り込みください
AR: dkim=none
いつもお世話になっております。
・・・・
振り込みね。ポチっと。
クオリティア
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DKIM-Signature: v=1;
d=qualitia.co.jp; s=s1;
h=From:Subject;
b=abcdef・・・・
From: taro@qualitia.co.jp
Subject: お振り込みください
いつもお世話になっております。
・・・・
DKIMがあるとき
署名して送ります
s1._domainkey.qualitia.co.jp txt “v=DKIM1;p=ABCDEF...”
暗号化
Public Key
Private Key
hash
クオリティア
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DKIM-Signature: v=1;
d=qualitia.co.jp; s=s1;
h=From:Subject;
b=abcdef・・・・
From: taro@qualitia.co.jp
Subject: お振り込みください
AR: dkim=pass
いつもお世話になっております。
・・・・
DKIMがあるとき
安心して振り込みね。ポチっと。
s1._domainkey.qualitia.co.jp txt “v=DKIM1;p=ABCDEF...”
複合化
Public Key
Private Key
hash
○
クオリティア
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DKIM-Signature: v=1;
d=qualitia.co.jp;
h=From:Subject;
b=abcdef・・・・
From: taro@qualitia.co.jp
Subject: お振り込みください
いつもお世話になっております。
・・・・
DKIMがあるとき
署名できない!
暗号化
Private Key
hash
×
クオリティア
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DKIM-Signature: v=1;
d=qualitia.co.jp; s=s1;
h=From:Subject;
b=abcdef・・・・
From: taro@qualitia.co.jp
Subject: 泥棒にお振り込みください
いつもお世話になっております。
・・・・
DKIMがあるとき
署名したものを
改ざんします
s1._domainkey.qualitia.co.jp txt “v=DKIM1;p=ABCDEF...”
Public Key
Private Key
クオリティア
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DKIM-Signature: v=1;
d=qualitia.co.jp; s=s1;
h=From:Subject;
b=abcdef・・・・
From: taro@qualitia.co.jp
Subject: 泥棒にお振り込みください
AR: dkim=fail
いつもお世話になっております。
・・・・
DKIMがあるとき
改ざんされてるかも?!
s1._domainkey.qualitia.co.jp txt “v=DKIM1;p=ABCDEF...”
複合化
Public Key
Private Key
hash
×
クオリティア
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DKIMのKey Rotation
•DKIMキーの
ローテーション
も必要
なりすまし・改ざんから守る
https://www.m3aawg.org/sites/default/files/m3aawg-dkim-key-rotation-bp-2019-03.pdf
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DKIM
•ヘッダや本文に署名してなりすましを
防止できる
•ヘッダや本文に署名して改ざんを防止
できる
•定期的なKey Rolloverが必要
s1._domainkey.example.jp TXT
“v=DKIM1;p=ABCDEF...”
https://www.m3aawg.org/sites/default/files/m3aawg-dkim-key-rotation-bp-2019-03.pdf
Copyright© QUALITIA CO., LTD. All Rights Reserved.
そんな便利なDKIMですが
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DKIMがあっても
From: taro@qualitia.co.jp
Subject: お振り込みください
AR: dkim=none
いつもお世話になっております。
・・・・
振り込みね。ポチっと。
s1._domainkey.qualitia.co.jp txt “v=DKIM1;p=ABCDEF...”
Private Key
DKIMがないときと
変わらない
クオリティア
DKIMなしで
送ったらええやん
Copyright© QUALITIA CO., LTD. All Rights Reserved.
もしかしたら?
From: taro@qualitia.co.jp
Subject: お振り込みください
AR: dkim=none
いつもお世話になっております。
・・・・
あれ?クオリティアさん
普段、署名付いてるよね
s1._domainkey.qualitia.co.jp txt “v=DKIM1;p=ABCDEF...”
Private Key
DKIMがないときと
変わらない
クオリティア
DKIMなしで
送ったらええやん
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DKIM-Signature: v=1;
d=悪徳グループ.example; s=aku;
h=From:Subject;
b=abcdef・・・・
From: taro@qualitia.co.jp
Subject: お振り込みください
いつもお世話になっております。
・・・・
DKIMがあっても
署名して送ります
aku._domainkey.悪徳グループ.example txt “v=DKIM1;p=ABCDEF...”
暗号化
悪徳グループの
Private Key
Private Key
hash
クオリティア
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DKIM-Signature: v=1;
d=悪徳グループ.example; s=aku;
h=From:Subject;
b=abcdef・・・・
From: taro@qualitia.co.jp
Subject: お振り込みください
AR: dkim=pass
いつもお世話になっております。
・・・・
DKIMがあっても
ポチっと。
複合化
悪徳グループの
Public Key
Private Key
hash
○
aku._domainkey.悪徳グループ.example txt “v=DKIM1;p=ABCDEF...”
悪徳グループの
Private Key
クオリティア
Copyright© QUALITIA CO., LTD. All Rights Reserved.
SPF DKIM の問題点
•SPFは第三者がEnvelope Fromをなり
すましてもspf=passしてしまう
•DKIMは第三者が署名しても
dkim=passしてしまう
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DMARC
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DMARCなら
•Header Fromを基準に確認
•Header From
•Envelope From が一致することを確認
•DKIM署名者
_dmarc.example.jp TXT “v=DMARC1; p=reject”
Copyright© QUALITIA CO., LTD. All Rights Reserved.
悪徳グループのSPFで認証 (dmarc p=reject)
192.0.2.1
203.0.113.1
Env From: jiro@悪徳グループ.example
From: taro@qualitia.co.jp
Subject: お振り込みください
AR: spf=pass, dmarc=Fail
いつもお世話になっております。
・・・・
悪徳グループ.example txt “v=spf1 ip4:203.0.113.1 –all”
× 届かない
_dmarc.qualitia.co.jp txt “v=DMARC1; p=reject”
×
クオリティア
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DKIM-Signature: v=1;
d=悪徳グループ.example; s=aku;
h=From:Subject;
b=abcdef・・・・
From: taro@qualitia.co.jp
Subject: お振り込みください
AR: dkim=pass, dmarc=fail
いつもお世話になっております。
・・・・
悪徳グループのDKIM署名
悪徳グループの
Public Key
aku._domainkey.悪徳グループ.example txt “v=dkim1;p=ABCDEF...”
悪徳グループの
Private Key
×
_dmarc.qualitia.co.jp txt “v=DMARC1; p=reject”
×届かない
クオリティア
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DMARCがあれば
たとえ
SPFが正しくても、
DKIMが正しくても、
ヘッダFROMがなりすましであれば届かない
SPFやDKIMの弱いところを補完するものなので、
SPFだけ+DMARCやDKIMだけ+DMARCでも有効です
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DMARC Report
_dmarc.example.jp TXT
“v=DMARC1; p=reject;
rua=mailto:alice@example.com”
example.jp._report._dmarc.example.com TXT
“v=DMARC1;”
レポートを受け付けることができますよ、の表示
「;」いります。RFCの例が間違っています。
Copyright© QUALITIA CO., LTD. All Rights Reserved.
しかし、ドメインが偽物かも?!
Copyright© QUALITIA CO., LTD. All Rights Reserved.
BIMIがあれば
default._bimi.example.jp TXT
“v=BIMI1; l=https://../ロゴ.svg a=https://../証明書”
Copyright© QUALITIA CO., LTD. All Rights Reserved.
メールの暗号化
から守る
Copyright© QUALITIA CO., LTD. All Rights Reserved.
STARTTLS
Copyright© QUALITIA CO., LTD. All Rights Reserved.
STARTTLS
クオリティア
メール
サーバ
メール
サーバ
盗聴 改ざん
メールサーバー間を暗号化する
Copyright© QUALITIA CO., LTD. All Rights Reserved.
STARTTLSは
Opportunistic
=できればやる / できなければやらない
Copyright© QUALITIA CO., LTD. All Rights Reserved.
STARTTLSの動き
送信
サーバ
受信
サーバ
EHLO sender.example.jp
250-recv.example.jp
250-STARTTLS
250 OK
STARTTLS
220 ready for TLS
なんやかんや やり取り
EHLO sender.example.jp
ここから暗号化
STARTTLS対応
このあたりは
平文
Copyright© QUALITIA CO., LTD. All Rights Reserved.
途中で改ざんされると
送信
サーバ
受信
サーバ
EHLO sender.example.jp
250-recv.example.jp
250-STARTTLS
250 OK
FROM: alice@sender.example.jp
250-recv.example.jp
250-XXXXXXXX
250 OK
ふむふむ
TLS非対応
なのね
MITMさん
盗み放題
ちょこっと
書き換え
暗号化せずに
送りましょ
STARTTLS Downgrade Attack
Copyright© QUALITIA CO., LTD. All Rights Reserved.
TLS Protocol Downgrade Attack
送信
サーバ
受信
サーバ
STARTTLS
220 Ready for TLS
ClientHello (TLS1.2でつなぎたいです)
TLS1.2は非対
応なのね
MITMさん
盗み放題
捨てて
しまえ
TLS1.1で
送りましょ
TLS Handshake開始
Copyright© QUALITIA CO., LTD. All Rights Reserved.
途中経路で応答を改ざんされた場合
クオリティア
メール
サーバ
メール
サーバ
盗聴 改ざん
○ ○
暗号化に対応していても無意味
可 可
Copyright© QUALITIA CO., LTD. All Rights Reserved.
受信サーバーをなりすまされた場合
クオリティア
メール
サーバ
メール
サーバ
暗号化に対応していても無意味
メール
サーバ
DNS
なりすまし
Copyright© QUALITIA CO., LTD. All Rights Reserved.
MTA-STS
Copyright© QUALITIA CO., LTD. All Rights Reserved.
MTA-STS
•STARTTLSを必ず使う
•TLS1.2以上を使う
•証明書が有効でなければ配送しない
受信側が、送信サーバーに対して、
ようにしてもらう仕組み
RFC8461 (2018/09)
Googleは対応済み, Microsoftは2020年Q4
Copyright© QUALITIA CO., LTD. All Rights Reserved.
MTA-STSがあるとき
クオリティア
メール
サーバ
メール
サーバ
暗号化に対応
していなければ送らない
_mta-sts.qualitia.co.jp. IN TXT "v=STSv1; id=20191114123000Z;"
version: STSv1
mode: enforce
mx: mx1.qualitia.co.jp
max_age: 1296000
https://mta-sts.qualitia.co.jp/.well-known/mta-sts.txt
=盗まれない
ポリシー
Copyright© QUALITIA CO., LTD. All Rights Reserved.
MTA-STSの設定方法
受信するメールアドレス: bob@example.jp
受信メールサーバー: mx.example.jp
DNSの設定
version: STSv1
mode: enforce
mx: mx.example.jp
max_age: 1296000
Webの設定
https://mta-sts.example.jp/.well-known/mta-sts.txt
testing
enforce
none
*.example.jpのようにも書けます
_mta-sts.example.jp TXT "v=STSv1; id=20210126010203"
Copyright© QUALITIA CO., LTD. All Rights Reserved.
MTA-STSの動き
送信
サーバ
受信
サーバ
mx.example.jp
EHLO sender.example.com
250-recv.example.jp
250-STARTTLS
250 OK
STARTTLS
220 ready for TLS
Webサーバ
https://mta-sts.受信ドメイン/.well-known/mta-sts.txt
mode: enforce
mx: mx.example.jp
DNSサーバ
_mta-sts.受信ドメイン TXT
id=abc12345
Copyright© QUALITIA CO., LTD. All Rights Reserved.
改ざんされた場合でも
送信
サーバ
受信
サーバ
mx.example.jp
EHLO sender.example.com
250-recv.example.jp
250-STARTTLS
250 OK
Webサーバ
https://mta-sts.受信ドメイン/.well-known/mta-sts.txt
mode: enforce
mx: mx.example.jp
250-recv.example.jp
250-XXXXXXXX
250 OK
ふむふむ
TLS非対応
なのね 終了
ちょこっと
書き換え
MITMさん
Copyright© QUALITIA CO., LTD. All Rights Reserved.
だがしかし
届かなかったことを知りたい
Copyright© QUALITIA CO., LTD. All Rights Reserved.
TLS-RPT
Copyright© QUALITIA CO., LTD. All Rights Reserved.
TLS-RPT
• MTA-STSやDANEの結果のレポートを受け取れ
ます
• RFC8460 (2018/09)
[SMTP TLS Reporting]
Copyright© QUALITIA CO., LTD. All Rights Reserved.
TLS-RPTの設定方法
受信するメールアドレス: bob@example.jp
受信メールサーバー: mx.example.jp
レポートの送り先: report@example.com
レポートの送り先: https://example.com/report
_smtp._tls.example.jp TXT
"v=TLSRPTv1; rua=mailto:report@example.jp"
_smtp._tls.example.jp TXT
"v=TLSRPTv1; rua=https://example.com/report"
Copyright© QUALITIA CO., LTD. All Rights Reserved.
レポートの例 (問題ない場合)
{
"organization-name": "Google Inc.",
"date-range": {
"start-datetime": "2020-09-07T00:00:00Z",
"end-datetime": "2020-09-07T23:59:59Z"
},
"contact-info": "smtp-tls-reporting@google.com",
"report-id": "2020-09-07T00:00:00Z_hirano.cc",
"policies": [
{
"policy": {
"policy-type": "sts",
"policy-string": [
"version: STSv1",
"mode: testing",
"max_age: 86400",
"mx: *.hirano.cc"
],
"policy-domain": "hirano.cc"
},
"summary": {
"total-successful-session-count": 5,
"total-failure-session-count": 0
}
}
]
}
成功 5通
失敗 0通
Copyright© QUALITIA CO., LTD. All Rights Reserved.
レポートの例 (問題のある場合)
{
"organization-name": "Google Inc.",
"date-range": {
"start-datetime": "2019-10-01T00:00:00Z",
"end-datetime": "2019-10-01T23:59:59Z"
},
"contact-info": "smtp-tls-reporting@google.com",
"report-id": "2019-10-01T00:00:00Z_hirano.cc",
"policies": [
{
"policy": {
"policy-type": "sts",
"policy-string": [
"version: STSv1",
"mode: testing",
"max_age: 86400",
"mx: *.hirano.cc"
],
"policy-domain": "hirano.cc"
},
"summary": {
"total-successful-session-count": 0,
"total-failure-session-count": 55
},
失敗 55通
"failure-details": [
{
"result-type": "validation-failure",
"sending-mta-ip": "209.85.219.198",
"receiving-ip": "210.158.71.76",
"receiving-mx-hostname": "ah.hirano.cc",
"failed-session-count": 2
},
{
"result-type": "starttls-not-supported",
"sending-mta-ip": "209.85.222.201",
"receiving-ip": "210.158.71.76",
"receiving-mx-hostname": "ah.hirano.cc",
"failed-session-count": 1
},
.... 省略 ....
]
}
]
}
Copyright© QUALITIA CO., LTD. All Rights Reserved.
MTA-STS, TLS-RPT
•STARTTLSを必ず使う
•TLS1.2以上を使う
•証明書が有効でなければ配送しない
受信側が、送信サーバーに対して、
ようにしてもらう仕組み
RFC8461 (2018/09)
レポートもある
Googleは対応済み, Microsoftは2020年Q4に対応済
Copyright© QUALITIA CO., LTD. All Rights Reserved.
便利なMTA-STSですが
Copyright© QUALITIA CO., LTD. All Rights Reserved.
なりすましの場合
クオリティア
メール
サーバ
メール
サーバ
MTA-STSを無効化
偽の
メール
サーバ
DNS
Copyright© QUALITIA CO., LTD. All Rights Reserved.
不正な認証局
クオリティア
公開鍵証明書認証局(CA)
署名
qualitia.co.jp
qualitia.co.jp
署名
問題のある
公開鍵証明書認証局(CA)
送信者からは
正しく見える
MITMさん
Copyright© QUALITIA CO., LTD. All Rights Reserved.
MTA-STSの問題点
• DNSの毒入れなどのなりすましに弱い
• 不正な証明書を利用したMITM攻撃に弱い
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DANE for SMTP
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DANE
•DNSSECが必須
•認証局(CA)を利用しない
•使用してもよいが検証はされない
•オレオレ証明書でもOK
•RFC7671 (2015/10)
•RFC7672 (2015/10)
DNSSEC未対応の場合は、通常通り配送
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DNSSECとは?
DNSの問い合わせや応答を暗号化して守る
DNSの応答が改ざんされていないことを保証する
DNSの応答が正しい人からのものであることを保
証する
×
○
○
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DNSSECのトラストチェイン
example.jp. IN MX 10 mail.example.jp.
DNSKEY (ZSK)
DNSKEY (KSK)
DNSKEY (ZSK)
DNSKEY (KSK)
DS
署名
署名
Hashを預ける
署名
署名
DNSKEY (ZSK)
DNSKEY (KSK)
DS
署名
署名
example.jpのzone
ルートのzone
jpのzone
Hashを預ける
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DNSSECの応答
DNSSEC非対応ドメイン DNSSEC対応ドメイン なりすまされた
DNSSEC対応ドメイン
DNSSEC非対応リゾルバ 回答あり 回答あり 回答あり
DNSSEC対応リゾルバ 回答あり 回答あり SERVFAIL
応答
なりすまされた場合、結果が返ってこない
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DANE for SMTP
クオリティア
メール
サーバ
メール
サーバ
CAの代わりにDNSSECを信頼
DNSSEC
公開鍵証明書認証局(CA)
不要
ルートDNS
DNSSEC
信頼
_25._tcp.mx1.qualitia.co.jp. IN TLSA 3 0 1 2B73BB905F…"
mx1.qualitia.co.jp
Public KeyのHash
○
Public Key
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DANEの設定方法
openssl x509 -in cert.pem -pubkey -noout
| openssl rsa -pubin -outform DER
| openssl sha256
(stdin)= 293f3944e435835ec797acbbe52ffb1bc8e
6637879fbe62d9b6195479e01f67e
Public KeyのHashを作成
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DANEの設定方法
openssl s_client -connect mx1.example.jp:25 -starttls smtp < /dev/null
| openssl x509 -pubkey –noout
| openssl rsa -pubin -outform DER
| openssl sha256
(stdin)= 293f3944e435835ec797acbbe52ffb1bc8e
6637879fbe62d9b6195479e01f67e
はじめての設定なら、
サーバーから証明書を取り出すのもあり
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DNSに追加
メールサーバー
メールアドレスのドメイン部分ではありません!
受信するメールアドレス: bob@example.jp
受信メールサーバー: mx1.example.jp
0: 証明書
1: 公開鍵
※TLSのKeyを入れ替えるときにはTLSAレコードを
先に書いて、DNSのキャッシュ期間が過ぎたらメー
ルサーバーの設定を新しいKeyに変更し、古いTLSA
レコードを削除します。
0: Hashなし
1: SHA256
2: SHA512
_25._tcp.mx1.example.jp TLSA 3 1 1 293f3944e...
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DANE
DNSSECに対応していて、
TLSAレコードがあれば、
STARTTLSを必須で使用し、
PublicKeyをTLSAの値で検証します。
Microsoftの対応予定
送信側の対応2020年末まで
受信側の対応2021年末まで
(by M3AAWG General Meeting (2020/06))
TLS DANE
Arcor yes no
AOL yes no
Bund.de yes yes
Comcast yes yes
Freenet yes yes
Gmail yes no
GMX yes yes
Kabel Deutschland yes yes
O2 yes no
Outlook.com yes no
Riseup yes yes
T-Online yes no
Unitymedia yes yes
Vodafone yes yes
web.de yes yes
Yahoo yes no
https://posteo.de/en/help/to-and-from-which-other-email-providers-will-my-emails-be-encrypted
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DNSSEC + TLSA設定完了
https://internet.nl/
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DANE for SMIME
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DANE for S/MIME
•DNSSECが必須
•TCP推奨、UDP非推奨
•RDATAの書き方はDANE for TLSと同じ
•証明書でも公開鍵でもよい
•RFC8162 (2017/5) (Experimental)
DNSSEC未対応の場合は、Failure
Copyright© QUALITIA CO., LTD. All Rights Reserved.
SMIMEA
ホスト名部分はメールアドレスのlocalpartのSHA256の28オクテット
# echo -n alice@example.jp | openssl sha256
2bd806c...af71db._smimecert.example.jp SMIMEA
3 0 0 308202cd308201b50214156aee144...
➔ 2bd806c97f0e00af1a1fc3328fa763a9269723c8db8fac4f93af71db186d6e90
証明書や公開鍵はDER形式にして16進数で書く
# openssl x509 -in smime.crt -outform DER | xxd -ps
308202cd308201b50214156aee144514e7969ff77e02936211039f9db59e
300d06092a864886f70d01010b050030123110300e06035504030c076869
72615f4341301e170d3231303131373134353434345a170d323230313137
.... 以下大量
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DANE for OpenPGP Keys
Copyright© QUALITIA CO., LTD. All Rights Reserved.
DANE for OpenPGP Keys
•DNSSECが必須
•TCP推奨、UDP非推奨
•ホスト部はlocalpartのsha256の28octet
•RDATAはPublic Key (BASE64)
•RFC7929 (2016/8) (Experimental)
DNSSEC未対応の場合は、Failure
2bd806...1db._openpgpkeys.example.jp OPENPGPKEY
mQENBGAGcmIBCADZTMmbYeRqTgb...
Copyright© QUALITIA CO., LTD. All Rights Reserved.
メールとDNSの関係
Action Host Type RDATA DNS
SEC
Web
メール配送 example.jp MX mail.example.jp - -
SPF example.jp TXT v=SPF1 ip4:192.0.2.0/24 -all - -
DKIM [selector]._domainkey.
example.jp
TXT v=DKIM1; k=rsa;p=.... - -
DMARC _dmarc.example.jp TXT v=DMARC1; p=reject;
rua=mailto:report@example.jp; ruf=...
- -
DMARC
レポート
example.com._report.
_dmarc.example.jp
TXT v=DMARC1; - -
BIMI default._bimi.example.jp TXT v=BIMI1; l=https://....; a=https://.... - 必要
MTA-STS _mta-sts.example.jp TXT v=STSv1; id=20200320T170000; - 必要
TLS-RPT _smtp._tls.example.jp TXT v=TLSRPTv1; rua=mailto:report@example.jp - -
DANE _25.tcp.mail.example.jp TLSA 3 0 1 2B73BB905F.... 必須 -
SMIMEA [sha256の28octet].
_smimecert.example.jp
SMIME
A
3 0 0 ABCDEF0123.... 必須 -
OPENPGPKEY [sha256の28octet].
_openpgpkey.example.jp
OPENP
GPKEY
mQENBGAGcmI.... 必須 -
Copyright© QUALITIA CO., LTD. All Rights Reserved.
まとめ
• メールセキュリティの設定にDNSが必要
• DANEにはDNSSECも必要
• DANE for S/MIMEはUDP非推奨
• DKIM Rotationはめんどくさい
• SMIMEAやOpenPGP Keyは
DNSレコードがメールアドレス毎に存在
• BIMIやMTA-STSはhttpsも必要
• internet.nlで100点になるまでの道は険しい
• オランダすごいよ
Thank You!
もはや、メールの管理者だけでは
担保できないメールセキュリティ。
メールセキュリティは誰が主導す
ればいいのでしょうか?

More Related Content

PDF
これから始めるBIMI (JANOG49)
PDF
迷惑メール対策カンファレンスの DMARC
PDF
JPAAWG2020 送信ドメイン認証・暗号化 Deep Dive! (Sender Auth, Email Encryption Deep Dive!)
PDF
DNS, DNSSECの仕組み
PDF
B1-4 送信ドメイン認証・暗号化 DeepDive ~ DMARCから MTA-STS, DANEまで全部PASSさせるまでの道のり
PDF
不正 RAの傾向と対策
PDF
Cloudera impala
PDF
店舗の滞在率を知りたい!
これから始めるBIMI (JANOG49)
迷惑メール対策カンファレンスの DMARC
JPAAWG2020 送信ドメイン認証・暗号化 Deep Dive! (Sender Auth, Email Encryption Deep Dive!)
DNS, DNSSECの仕組み
B1-4 送信ドメイン認証・暗号化 DeepDive ~ DMARCから MTA-STS, DANEまで全部PASSさせるまでの道のり
不正 RAの傾向と対策
Cloudera impala
店舗の滞在率を知りたい!

What's hot (8)

PDF
全文検索In着うた配信サービス
PPTX
Hueによる分析業務の改善事例
PPTX
オタク×Node.js勉強会
PDF
Mobage を支える Ruby の技術 ~ 複数DB編 ~
PPTX
Java11へのマイグレーションガイド ~Apache Hadoopの事例~
PDF
Hadoop-3.2.0の新機能の紹介とJava9+対応のコミュニティ動向
PDF
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
PDF
AutoScale×ゲーム ~運用効率化への取り組み~
全文検索In着うた配信サービス
Hueによる分析業務の改善事例
オタク×Node.js勉強会
Mobage を支える Ruby の技術 ~ 複数DB編 ~
Java11へのマイグレーションガイド ~Apache Hadoopの事例~
Hadoop-3.2.0の新機能の紹介とJava9+対応のコミュニティ動向
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
AutoScale×ゲーム ~運用効率化への取り組み~
Ad

Similar to メールセキュリティとDNSの蜜月関係 (Mail Security and DNS) (20)

PDF
メールセキュリティ トレイルマップ (Mail Security Trail Map)
PDF
20111207 11 aws-meister-ses-public
PDF
AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-
PDF
First server to_buid_trusted_sites
PDF
JAWS-UG山形 AWSのきほん 2016/11/12
PDF
ダイナミックDNSとは
PPTX
ドメイン名・DNS勉強会20140123 DNSのお話
PDF
3000台のサーバーを毎日vulsでスキャンしてRedmineでチケット管理した話
PDF
Ncstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slide
PDF
[db analytics showcase Sapporo 2017] B27:世界最速のAnalytic DBはHadoopの夢を見るか by 株式会...
PDF
20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応
PDF
送信ドメイン認証 導入指南 2018
PDF
Automation with SoftLayer and Zabbix
PDF
ヤフー発のメッセージキュー「Pulsar」のご紹介
PDF
ヤフー発のメッセージキュー 「Pulsar」のご紹介@jjug ccc 20171118
PDF
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦
PPTX
hbstudy20100821 SpamAssassin
PPTX
「未知の脅威」を検出するために -Securitydays2015 imatrixセミナー@KITTE-
PDF
20141023 IPv6 Summit in FUKUOKA 2014 IPv6対応Webサービスの作り方
PDF
ジョークRFC紹介
メールセキュリティ トレイルマップ (Mail Security Trail Map)
20111207 11 aws-meister-ses-public
AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-
First server to_buid_trusted_sites
JAWS-UG山形 AWSのきほん 2016/11/12
ダイナミックDNSとは
ドメイン名・DNS勉強会20140123 DNSのお話
3000台のサーバーを毎日vulsでスキャンしてRedmineでチケット管理した話
Ncstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slide
[db analytics showcase Sapporo 2017] B27:世界最速のAnalytic DBはHadoopの夢を見るか by 株式会...
20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応
送信ドメイン認証 導入指南 2018
Automation with SoftLayer and Zabbix
ヤフー発のメッセージキュー「Pulsar」のご紹介
ヤフー発のメッセージキュー 「Pulsar」のご紹介@jjug ccc 20171118
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦
hbstudy20100821 SpamAssassin
「未知の脅威」を検出するために -Securitydays2015 imatrixセミナー@KITTE-
20141023 IPv6 Summit in FUKUOKA 2014 IPv6対応Webサービスの作り方
ジョークRFC紹介
Ad

メールセキュリティとDNSの蜜月関係 (Mail Security and DNS)

  • 1. Copyright© QUALITIA CO., LTD. All Rights Reserved. メールセキュリティと DNSの蜜月関係♥ 株式会社クオリティア 平野善隆 Webサーバーも♥
  • 2. Copyright© QUALITIA CO., LTD. All Rights Reserved. 自己紹介 名前 平野 善隆 所属 株式会社クオリティア チーフエンジニア 資格等 Licensed Scrum Master Certified Scrum Developer 主な活動 M3AAWG JPAAWG IA Japan 迷惑メール対策委員会 迷惑メール対策推進協議会 メッセージング研究所(MRI) Audax Randonneurs Nihonbashi
  • 3. Copyright© QUALITIA CO., LTD. All Rights Reserved. メールやDNSとの関わり 1990 パソコン通信などでメールに触れる 199x ドメインを取得して近所のISPに個人のサーバーを置 かせてもらって運用開始 2000 外人さんの多い会社に転職したのでメールの漢字に ふりがなを付けたりして遊ぶ (のちのhiragana.jp) 個人のサーバーをちゃんとしたデータセンターに移 動。imail.ne.jpというドメインを取って一攫千金を 夢見るが挫折 2004 メールの会社に入社 以降 スパムフィルタ、誤送信防止製品の開発やサービス の立ち上げ。PPAPの礎を築く。 最近 メール管理者のための権威DNSサービス模索中
  • 4. Copyright© QUALITIA CO., LTD. All Rights Reserved. ※重要 必ずお読みください 今日は、DNSSECの善し悪しは議論しません あなたは、今から、なぜか DNSSECはすばらしい という気持ちになります。
  • 5. Copyright© QUALITIA CO., LTD. All Rights Reserved. もくじ • メールセキュリティの全体像 • 世界のメールセキュリティと日本の状況 • メールとDNS •送信ドメイン認証 •メールの暗号化 • まとめ
  • 6. Copyright© QUALITIA CO., LTD. All Rights Reserved. メールセキュリティの全体像
  • 7. Copyright© QUALITIA CO., LTD. All Rights Reserved. 何から守りたいのか クオリティア メール サーバ メール サーバ なりすまし 乗っ取り 盗聴 改ざん 盗難 漏洩 ウィルス メール サーバ フィッシング メール サーバ なりすまし
  • 8. Copyright© QUALITIA CO., LTD. All Rights Reserved. Emailを守るための技術 •なりすまし・改ざん・フィッシング •乗っ取り・踏み台送信 •盗聴・なりすまし受信 •スパム・マルウェア •情報漏洩 SPF DKIM DMARC ARC BIMI S/MIME POP before SMTP SMTP AUTH MFA STARTTLS MTA-STS TLSRPT DANE DNSSEC S/MIME AntiSPAM AntiVirus SandBox 一時保留 PasswordZIP WebDownload
  • 9. Copyright© QUALITIA CO., LTD. All Rights Reserved. Emailを守るための技術 •なりすまし・改ざん・フィッシング •乗っ取り・踏み台送信 •盗聴・なりすまし受信 •スパム・マルウェア •情報漏洩 SPF DKIM DMARC ARC BIMI S/MIME POP before SMTP SMTP AUTH MFA STARTTLS MTA-STS TLSRPT DANE DNSSEC S/MIME AntiSPAM AntiVirus SandBox 一時保留 PasswordZIP WebDownload
  • 10. Copyright© QUALITIA CO., LTD. All Rights Reserved. 世界と日本のメールセキュリティ
  • 11. Copyright© QUALITIA CO., LTD. All Rights Reserved. 日本は周回遅れで滅びる! https://weekly-economist.mainichi.jp/articles/20201103/se1/00m/020/061000c 日本だけ見てても参考にならなさそうだ・・・
  • 12. Copyright© QUALITIA CO., LTD. All Rights Reserved. オランダの場合 https://magazine.forumstandaardisatie.nl/meting-informatieveiligheidstandaarden-begin-2020 https://www.forumstandaardisatie.nl/sites/bfs/files/rapport-meting-informatieveiligheidstandaarden-maart-2020.pdf Meting Informatieveiligheidstandaarden overheid maart 2020 (政府情報セキュリティ基準の測定2020年3月) 遅くとも 2017年末まで 遅くとも 2018年末まで 遅くとも 2019年末まで DNSSEC SPF DKIM DMARC STARTTLSとDANE SPFとDMARC 厳しいポリシー
  • 13. Copyright© QUALITIA CO., LTD. All Rights Reserved. オランダでの普及率 Het Rejk 国 (政府系??) 全体 https://www.forumstandaardisatie.nl/sites/bfs/files/rapport-meting-informatieveiligheidstandaarden-maart-2020.pdf
  • 14. Copyright© QUALITIA CO., LTD. All Rights Reserved. 一方 日本では SPF SPF -all DMARC 厳しい DMARC DNSSEC STARTTLS MTA-STS DANE オランダ政府(※1) 94% 92% 94 % 59 % 93 % 98% - 81 % go.jp (※2) 93% 73% 7.0% 1.5% 5.5 % 58% 0% 0% .jp (※3) 62% 11% 1.5% 0.3% 0.04% 54% 0.004% (13件) 0.002% (6件) https://www.forumstandaardisatie.nl/sites/bfs/files/rapport-meting-informatieveiligheidstandaarden-maart-2020.pdf ※1 オランダ政府データ (2020/03) ※2 QUALITIA独自調べ go.jp(全てではない)のうちMXのあるドメイン(サブドメインは含まない)に対する割合 N=330 (2020/11) ※3 QUALITIA独自調べ jpドメイン(全てではない)のうちMXのあるドメイン(サブドメイン含む)に対する割合 N=約32万 (2020/10) 0 20 40 60 80 100 SPF SPF(-all) DMARC 厳しいDMARC DNSSEC STARTTLS DANE オランダ政府 go.jp .jp
  • 15. Copyright© QUALITIA CO., LTD. All Rights Reserved. オランダ政府御用達チェックサイト
  • 16. Copyright© QUALITIA CO., LTD. All Rights Reserved. メールサーバーとDNS
  • 17. Copyright© QUALITIA CO., LTD. All Rights Reserved. メールの受信サーバー example.jp. MX 10 receiver1.example.jp. example.jp. MX 20 receiver2.example.jp. MX レコード メールのドメイン: example.jp 受信サーバー: receiver1.example.jp, receiver2.example.jp
  • 18. Copyright© QUALITIA CO., LTD. All Rights Reserved. メールの送信サーバー example.jp. TXT "v=spf1 ip4:192.0.2.1 -all" sender.example.jp. TXT "v=spf1 a -all" SPF レコード メールのドメイン: example.jp 送信サーバー: sender.example.jp [192.0.2.1]
  • 19. Copyright© QUALITIA CO., LTD. All Rights Reserved. 送信ドメイン認証 から守る
  • 20. Copyright© QUALITIA CO., LTD. All Rights Reserved. 送信ドメイン認証 •SPF •DKIM •DMARC •BIMI
  • 21. Copyright© QUALITIA CO., LTD. All Rights Reserved. SPF •Envelope FromとIPアドレスが正しいか どうかを確認できる •Envelope Fromが<>の時はHELO/EHLO RFC7208 (2014/04)
  • 22. Copyright© QUALITIA CO., LTD. All Rights Reserved. SPFがないとき 192.0.2.1 203.0.113.1 Env From: taro@qualitia.co.jp From: taro@qualitia.co.jp Subject: お振り込みください いつもお世話になっております。 ・・・・ 振り込みね。ポチっと。 × クオリティア
  • 23. Copyright© QUALITIA CO., LTD. All Rights Reserved. SPFがあるとき 192.0.2.1 203.0.113.1 Env From: taro@qualitia.co.jp From: taro@qualitia.co.jp Subject: お振り込みください AR: spf=fail いつもお世話になっております。 ・・・・ qualitia.co.jp txt “v=spf1 ip4:192.0.2.1 –all” 偽物っぽいなぁ × クオリティア
  • 24. Copyright© QUALITIA CO., LTD. All Rights Reserved. 間違ったSPFの設定例 example.jp txt "v=spf1 ip4:192.0.2.0/24 –all" example.jp txt "v=spf1 include:_spf.google.com –all" SPFのレコードが複数存在する example.jp txt "v=spf1 ip4:192.0.2.0/24 include:_spf.google.com –all" × 0.6% (N=約20万) If the resultant record set includes more than one record, check_host() produces the "permerror" result. RFC7208 4.5
  • 25. Copyright© QUALITIA CO., LTD. All Rights Reserved. 間違ったSPFの設定例 example.jp txt "v=spf1 ip4:192.0.2.1 include:example.jp –all" includeがloopしている example.jp txt "v=spf1 ip4:192.0.2.1 –all" × 0.3% (N=約20万)
  • 26. Copyright© QUALITIA CO., LTD. All Rights Reserved. 間違ったSPFの設定例 example.jp txt "v=spf1 a mx -all a:mail.example.com" allが一番後ろではない example.jp txt "v=spf1 a mx a:mail.example.com -all" × 1.0% (N=約20万)
  • 27. Copyright© QUALITIA CO., LTD. All Rights Reserved. 間違ったSPFの設定例 example.jp txt "v=spf1 include:spf1.example.jp include:spf2.example.jp .... –all" spf1.example.jp txt "v=spf1 たくさんinclude" DNSのlookupが11回以上 example.jp txt "v=spf1 ip4:192.0.2.0/24 .... –all" × 0.9% (N=約20万) 一番多いのは90回!
  • 28. Copyright© QUALITIA CO., LTD. All Rights Reserved. 間違ったSPFの設定例 example.jp txt "v=spf1 ip:192.0.2.1 -all" example.jp txt "v=spf1 ipv4:192.0.2.1 -all" example.jp txt "v=spf1 ip4: 192.0.2.1 -all" example.jp txt "v=spf1 ip4:192.0.2.1 192.0.2.2 -all" example.jp txt "v=spf1 ip4:spf.example.jp -all" example.jp txt "v=spf1 inciude:spf.example.jp -all" example.jp txt "v=spf1 include:192.0.2.1 -all" example.jp txt "v=spf1 ip4:192.0.2.1 -all MS=ms12345678" 文法間違い × 0.5% (N=約20万)
  • 29. Copyright© QUALITIA CO., LTD. All Rights Reserved. 以外に多いSPFの書き間違い 複数のSPFレコードが存在: 1363 includeがloopしている: 730 DNSのlookupが10回以上: 3076 allが一番後ろではない: 1970 文法間違い: 1106 ptrの使用 436 計: 8681 N=212123 約4%に問題あり!
  • 30. Copyright© QUALITIA CO., LTD. All Rights Reserved. そんな便利なSPFですが
  • 31. Copyright© QUALITIA CO., LTD. All Rights Reserved. SPFがあっても 192.0.2.1 203.0.113.1 Env From: jiro@悪徳グループ.example From: taro@qualitia.co.jp Subject: お振り込みください AR: spf=none いつもお世話になっております。 ・・・・ qualitia.co.jp txt “v=spf1 ip4:192.0.2.1 –all” 振り込みね。ポチっと。 クオリティア Env FROMは 自分のところから
  • 32. Copyright© QUALITIA CO., LTD. All Rights Reserved. 悪徳グループのSPFで認証 192.0.2.1 203.0.113.1 Env From: jiro@悪徳グループ.example From: taro@qualitia.co.jp Subject: お振り込みください AR: spf=pass いつもお世話になっております。 ・・・・ 悪徳グループ.example txt “v=spf1 ip4:203.0.113.1 –all” qualitia.co.jp txt “v=spf1 ip4:192.0.2.1 –all” SPF PASSで安心! 振り込み、ポチっと。 クオリティア SPFも書いとこ
  • 33. Copyright© QUALITIA CO., LTD. All Rights Reserved. SPF •Envelope FromとIPアドレスが正しいかど うかを確認できる •Envelope Fromが<>の時はHELO/EHLO •意外と書き方を間違えるので注意 •ヘッダFromについては対象外 example.jp TXT “v=spf1 ip4:192.0.2.1 –all”
  • 34. Copyright© QUALITIA CO., LTD. All Rights Reserved. DKIM
  • 35. Copyright© QUALITIA CO., LTD. All Rights Reserved. DKIM •ヘッダや本文に署名してなりすましを 防止できる •ヘッダや本文に署名して改ざんを防止 できる
  • 36. Copyright© QUALITIA CO., LTD. All Rights Reserved. DKIMがないとき From: taro@qualitia.co.jp Subject: お振り込みください AR: dkim=none いつもお世話になっております。 ・・・・ 振り込みね。ポチっと。 クオリティア
  • 37. Copyright© QUALITIA CO., LTD. All Rights Reserved. DKIM-Signature: v=1; d=qualitia.co.jp; s=s1; h=From:Subject; b=abcdef・・・・ From: taro@qualitia.co.jp Subject: お振り込みください いつもお世話になっております。 ・・・・ DKIMがあるとき 署名して送ります s1._domainkey.qualitia.co.jp txt “v=DKIM1;p=ABCDEF...” 暗号化 Public Key Private Key hash クオリティア
  • 38. Copyright© QUALITIA CO., LTD. All Rights Reserved. DKIM-Signature: v=1; d=qualitia.co.jp; s=s1; h=From:Subject; b=abcdef・・・・ From: taro@qualitia.co.jp Subject: お振り込みください AR: dkim=pass いつもお世話になっております。 ・・・・ DKIMがあるとき 安心して振り込みね。ポチっと。 s1._domainkey.qualitia.co.jp txt “v=DKIM1;p=ABCDEF...” 複合化 Public Key Private Key hash ○ クオリティア
  • 39. Copyright© QUALITIA CO., LTD. All Rights Reserved. DKIM-Signature: v=1; d=qualitia.co.jp; h=From:Subject; b=abcdef・・・・ From: taro@qualitia.co.jp Subject: お振り込みください いつもお世話になっております。 ・・・・ DKIMがあるとき 署名できない! 暗号化 Private Key hash × クオリティア
  • 40. Copyright© QUALITIA CO., LTD. All Rights Reserved. DKIM-Signature: v=1; d=qualitia.co.jp; s=s1; h=From:Subject; b=abcdef・・・・ From: taro@qualitia.co.jp Subject: 泥棒にお振り込みください いつもお世話になっております。 ・・・・ DKIMがあるとき 署名したものを 改ざんします s1._domainkey.qualitia.co.jp txt “v=DKIM1;p=ABCDEF...” Public Key Private Key クオリティア
  • 41. Copyright© QUALITIA CO., LTD. All Rights Reserved. DKIM-Signature: v=1; d=qualitia.co.jp; s=s1; h=From:Subject; b=abcdef・・・・ From: taro@qualitia.co.jp Subject: 泥棒にお振り込みください AR: dkim=fail いつもお世話になっております。 ・・・・ DKIMがあるとき 改ざんされてるかも?! s1._domainkey.qualitia.co.jp txt “v=DKIM1;p=ABCDEF...” 複合化 Public Key Private Key hash × クオリティア
  • 42. Copyright© QUALITIA CO., LTD. All Rights Reserved. DKIMのKey Rotation •DKIMキーの ローテーション も必要 なりすまし・改ざんから守る https://www.m3aawg.org/sites/default/files/m3aawg-dkim-key-rotation-bp-2019-03.pdf
  • 43. Copyright© QUALITIA CO., LTD. All Rights Reserved. DKIM •ヘッダや本文に署名してなりすましを 防止できる •ヘッダや本文に署名して改ざんを防止 できる •定期的なKey Rolloverが必要 s1._domainkey.example.jp TXT “v=DKIM1;p=ABCDEF...” https://www.m3aawg.org/sites/default/files/m3aawg-dkim-key-rotation-bp-2019-03.pdf
  • 44. Copyright© QUALITIA CO., LTD. All Rights Reserved. そんな便利なDKIMですが
  • 45. Copyright© QUALITIA CO., LTD. All Rights Reserved. DKIMがあっても From: taro@qualitia.co.jp Subject: お振り込みください AR: dkim=none いつもお世話になっております。 ・・・・ 振り込みね。ポチっと。 s1._domainkey.qualitia.co.jp txt “v=DKIM1;p=ABCDEF...” Private Key DKIMがないときと 変わらない クオリティア DKIMなしで 送ったらええやん
  • 46. Copyright© QUALITIA CO., LTD. All Rights Reserved. もしかしたら? From: taro@qualitia.co.jp Subject: お振り込みください AR: dkim=none いつもお世話になっております。 ・・・・ あれ?クオリティアさん 普段、署名付いてるよね s1._domainkey.qualitia.co.jp txt “v=DKIM1;p=ABCDEF...” Private Key DKIMがないときと 変わらない クオリティア DKIMなしで 送ったらええやん
  • 47. Copyright© QUALITIA CO., LTD. All Rights Reserved. DKIM-Signature: v=1; d=悪徳グループ.example; s=aku; h=From:Subject; b=abcdef・・・・ From: taro@qualitia.co.jp Subject: お振り込みください いつもお世話になっております。 ・・・・ DKIMがあっても 署名して送ります aku._domainkey.悪徳グループ.example txt “v=DKIM1;p=ABCDEF...” 暗号化 悪徳グループの Private Key Private Key hash クオリティア
  • 48. Copyright© QUALITIA CO., LTD. All Rights Reserved. DKIM-Signature: v=1; d=悪徳グループ.example; s=aku; h=From:Subject; b=abcdef・・・・ From: taro@qualitia.co.jp Subject: お振り込みください AR: dkim=pass いつもお世話になっております。 ・・・・ DKIMがあっても ポチっと。 複合化 悪徳グループの Public Key Private Key hash ○ aku._domainkey.悪徳グループ.example txt “v=DKIM1;p=ABCDEF...” 悪徳グループの Private Key クオリティア
  • 49. Copyright© QUALITIA CO., LTD. All Rights Reserved. SPF DKIM の問題点 •SPFは第三者がEnvelope Fromをなり すましてもspf=passしてしまう •DKIMは第三者が署名しても dkim=passしてしまう
  • 50. Copyright© QUALITIA CO., LTD. All Rights Reserved. DMARC
  • 51. Copyright© QUALITIA CO., LTD. All Rights Reserved. DMARCなら •Header Fromを基準に確認 •Header From •Envelope From が一致することを確認 •DKIM署名者 _dmarc.example.jp TXT “v=DMARC1; p=reject”
  • 52. Copyright© QUALITIA CO., LTD. All Rights Reserved. 悪徳グループのSPFで認証 (dmarc p=reject) 192.0.2.1 203.0.113.1 Env From: jiro@悪徳グループ.example From: taro@qualitia.co.jp Subject: お振り込みください AR: spf=pass, dmarc=Fail いつもお世話になっております。 ・・・・ 悪徳グループ.example txt “v=spf1 ip4:203.0.113.1 –all” × 届かない _dmarc.qualitia.co.jp txt “v=DMARC1; p=reject” × クオリティア
  • 53. Copyright© QUALITIA CO., LTD. All Rights Reserved. DKIM-Signature: v=1; d=悪徳グループ.example; s=aku; h=From:Subject; b=abcdef・・・・ From: taro@qualitia.co.jp Subject: お振り込みください AR: dkim=pass, dmarc=fail いつもお世話になっております。 ・・・・ 悪徳グループのDKIM署名 悪徳グループの Public Key aku._domainkey.悪徳グループ.example txt “v=dkim1;p=ABCDEF...” 悪徳グループの Private Key × _dmarc.qualitia.co.jp txt “v=DMARC1; p=reject” ×届かない クオリティア
  • 54. Copyright© QUALITIA CO., LTD. All Rights Reserved. DMARCがあれば たとえ SPFが正しくても、 DKIMが正しくても、 ヘッダFROMがなりすましであれば届かない SPFやDKIMの弱いところを補完するものなので、 SPFだけ+DMARCやDKIMだけ+DMARCでも有効です
  • 55. Copyright© QUALITIA CO., LTD. All Rights Reserved. DMARC Report _dmarc.example.jp TXT “v=DMARC1; p=reject; rua=mailto:alice@example.com” example.jp._report._dmarc.example.com TXT “v=DMARC1;” レポートを受け付けることができますよ、の表示 「;」いります。RFCの例が間違っています。
  • 56. Copyright© QUALITIA CO., LTD. All Rights Reserved. しかし、ドメインが偽物かも?!
  • 57. Copyright© QUALITIA CO., LTD. All Rights Reserved. BIMIがあれば default._bimi.example.jp TXT “v=BIMI1; l=https://../ロゴ.svg a=https://../証明書”
  • 58. Copyright© QUALITIA CO., LTD. All Rights Reserved. メールの暗号化 から守る
  • 59. Copyright© QUALITIA CO., LTD. All Rights Reserved. STARTTLS
  • 60. Copyright© QUALITIA CO., LTD. All Rights Reserved. STARTTLS クオリティア メール サーバ メール サーバ 盗聴 改ざん メールサーバー間を暗号化する
  • 61. Copyright© QUALITIA CO., LTD. All Rights Reserved. STARTTLSは Opportunistic =できればやる / できなければやらない
  • 62. Copyright© QUALITIA CO., LTD. All Rights Reserved. STARTTLSの動き 送信 サーバ 受信 サーバ EHLO sender.example.jp 250-recv.example.jp 250-STARTTLS 250 OK STARTTLS 220 ready for TLS なんやかんや やり取り EHLO sender.example.jp ここから暗号化 STARTTLS対応 このあたりは 平文
  • 63. Copyright© QUALITIA CO., LTD. All Rights Reserved. 途中で改ざんされると 送信 サーバ 受信 サーバ EHLO sender.example.jp 250-recv.example.jp 250-STARTTLS 250 OK FROM: alice@sender.example.jp 250-recv.example.jp 250-XXXXXXXX 250 OK ふむふむ TLS非対応 なのね MITMさん 盗み放題 ちょこっと 書き換え 暗号化せずに 送りましょ STARTTLS Downgrade Attack
  • 64. Copyright© QUALITIA CO., LTD. All Rights Reserved. TLS Protocol Downgrade Attack 送信 サーバ 受信 サーバ STARTTLS 220 Ready for TLS ClientHello (TLS1.2でつなぎたいです) TLS1.2は非対 応なのね MITMさん 盗み放題 捨てて しまえ TLS1.1で 送りましょ TLS Handshake開始
  • 65. Copyright© QUALITIA CO., LTD. All Rights Reserved. 途中経路で応答を改ざんされた場合 クオリティア メール サーバ メール サーバ 盗聴 改ざん ○ ○ 暗号化に対応していても無意味 可 可
  • 66. Copyright© QUALITIA CO., LTD. All Rights Reserved. 受信サーバーをなりすまされた場合 クオリティア メール サーバ メール サーバ 暗号化に対応していても無意味 メール サーバ DNS なりすまし
  • 67. Copyright© QUALITIA CO., LTD. All Rights Reserved. MTA-STS
  • 68. Copyright© QUALITIA CO., LTD. All Rights Reserved. MTA-STS •STARTTLSを必ず使う •TLS1.2以上を使う •証明書が有効でなければ配送しない 受信側が、送信サーバーに対して、 ようにしてもらう仕組み RFC8461 (2018/09) Googleは対応済み, Microsoftは2020年Q4
  • 69. Copyright© QUALITIA CO., LTD. All Rights Reserved. MTA-STSがあるとき クオリティア メール サーバ メール サーバ 暗号化に対応 していなければ送らない _mta-sts.qualitia.co.jp. IN TXT "v=STSv1; id=20191114123000Z;" version: STSv1 mode: enforce mx: mx1.qualitia.co.jp max_age: 1296000 https://mta-sts.qualitia.co.jp/.well-known/mta-sts.txt =盗まれない ポリシー
  • 70. Copyright© QUALITIA CO., LTD. All Rights Reserved. MTA-STSの設定方法 受信するメールアドレス: bob@example.jp 受信メールサーバー: mx.example.jp DNSの設定 version: STSv1 mode: enforce mx: mx.example.jp max_age: 1296000 Webの設定 https://mta-sts.example.jp/.well-known/mta-sts.txt testing enforce none *.example.jpのようにも書けます _mta-sts.example.jp TXT "v=STSv1; id=20210126010203"
  • 71. Copyright© QUALITIA CO., LTD. All Rights Reserved. MTA-STSの動き 送信 サーバ 受信 サーバ mx.example.jp EHLO sender.example.com 250-recv.example.jp 250-STARTTLS 250 OK STARTTLS 220 ready for TLS Webサーバ https://mta-sts.受信ドメイン/.well-known/mta-sts.txt mode: enforce mx: mx.example.jp DNSサーバ _mta-sts.受信ドメイン TXT id=abc12345
  • 72. Copyright© QUALITIA CO., LTD. All Rights Reserved. 改ざんされた場合でも 送信 サーバ 受信 サーバ mx.example.jp EHLO sender.example.com 250-recv.example.jp 250-STARTTLS 250 OK Webサーバ https://mta-sts.受信ドメイン/.well-known/mta-sts.txt mode: enforce mx: mx.example.jp 250-recv.example.jp 250-XXXXXXXX 250 OK ふむふむ TLS非対応 なのね 終了 ちょこっと 書き換え MITMさん
  • 73. Copyright© QUALITIA CO., LTD. All Rights Reserved. だがしかし 届かなかったことを知りたい
  • 74. Copyright© QUALITIA CO., LTD. All Rights Reserved. TLS-RPT
  • 75. Copyright© QUALITIA CO., LTD. All Rights Reserved. TLS-RPT • MTA-STSやDANEの結果のレポートを受け取れ ます • RFC8460 (2018/09) [SMTP TLS Reporting]
  • 76. Copyright© QUALITIA CO., LTD. All Rights Reserved. TLS-RPTの設定方法 受信するメールアドレス: bob@example.jp 受信メールサーバー: mx.example.jp レポートの送り先: report@example.com レポートの送り先: https://example.com/report _smtp._tls.example.jp TXT "v=TLSRPTv1; rua=mailto:report@example.jp" _smtp._tls.example.jp TXT "v=TLSRPTv1; rua=https://example.com/report"
  • 77. Copyright© QUALITIA CO., LTD. All Rights Reserved. レポートの例 (問題ない場合) { "organization-name": "Google Inc.", "date-range": { "start-datetime": "2020-09-07T00:00:00Z", "end-datetime": "2020-09-07T23:59:59Z" }, "contact-info": "smtp-tls-reporting@google.com", "report-id": "2020-09-07T00:00:00Z_hirano.cc", "policies": [ { "policy": { "policy-type": "sts", "policy-string": [ "version: STSv1", "mode: testing", "max_age: 86400", "mx: *.hirano.cc" ], "policy-domain": "hirano.cc" }, "summary": { "total-successful-session-count": 5, "total-failure-session-count": 0 } } ] } 成功 5通 失敗 0通
  • 78. Copyright© QUALITIA CO., LTD. All Rights Reserved. レポートの例 (問題のある場合) { "organization-name": "Google Inc.", "date-range": { "start-datetime": "2019-10-01T00:00:00Z", "end-datetime": "2019-10-01T23:59:59Z" }, "contact-info": "smtp-tls-reporting@google.com", "report-id": "2019-10-01T00:00:00Z_hirano.cc", "policies": [ { "policy": { "policy-type": "sts", "policy-string": [ "version: STSv1", "mode: testing", "max_age: 86400", "mx: *.hirano.cc" ], "policy-domain": "hirano.cc" }, "summary": { "total-successful-session-count": 0, "total-failure-session-count": 55 }, 失敗 55通 "failure-details": [ { "result-type": "validation-failure", "sending-mta-ip": "209.85.219.198", "receiving-ip": "210.158.71.76", "receiving-mx-hostname": "ah.hirano.cc", "failed-session-count": 2 }, { "result-type": "starttls-not-supported", "sending-mta-ip": "209.85.222.201", "receiving-ip": "210.158.71.76", "receiving-mx-hostname": "ah.hirano.cc", "failed-session-count": 1 }, .... 省略 .... ] } ] }
  • 79. Copyright© QUALITIA CO., LTD. All Rights Reserved. MTA-STS, TLS-RPT •STARTTLSを必ず使う •TLS1.2以上を使う •証明書が有効でなければ配送しない 受信側が、送信サーバーに対して、 ようにしてもらう仕組み RFC8461 (2018/09) レポートもある Googleは対応済み, Microsoftは2020年Q4に対応済
  • 80. Copyright© QUALITIA CO., LTD. All Rights Reserved. 便利なMTA-STSですが
  • 81. Copyright© QUALITIA CO., LTD. All Rights Reserved. なりすましの場合 クオリティア メール サーバ メール サーバ MTA-STSを無効化 偽の メール サーバ DNS
  • 82. Copyright© QUALITIA CO., LTD. All Rights Reserved. 不正な認証局 クオリティア 公開鍵証明書認証局(CA) 署名 qualitia.co.jp qualitia.co.jp 署名 問題のある 公開鍵証明書認証局(CA) 送信者からは 正しく見える MITMさん
  • 83. Copyright© QUALITIA CO., LTD. All Rights Reserved. MTA-STSの問題点 • DNSの毒入れなどのなりすましに弱い • 不正な証明書を利用したMITM攻撃に弱い
  • 84. Copyright© QUALITIA CO., LTD. All Rights Reserved. DANE for SMTP
  • 85. Copyright© QUALITIA CO., LTD. All Rights Reserved. DANE •DNSSECが必須 •認証局(CA)を利用しない •使用してもよいが検証はされない •オレオレ証明書でもOK •RFC7671 (2015/10) •RFC7672 (2015/10) DNSSEC未対応の場合は、通常通り配送
  • 86. Copyright© QUALITIA CO., LTD. All Rights Reserved. DNSSECとは? DNSの問い合わせや応答を暗号化して守る DNSの応答が改ざんされていないことを保証する DNSの応答が正しい人からのものであることを保 証する × ○ ○
  • 87. Copyright© QUALITIA CO., LTD. All Rights Reserved. DNSSECのトラストチェイン example.jp. IN MX 10 mail.example.jp. DNSKEY (ZSK) DNSKEY (KSK) DNSKEY (ZSK) DNSKEY (KSK) DS 署名 署名 Hashを預ける 署名 署名 DNSKEY (ZSK) DNSKEY (KSK) DS 署名 署名 example.jpのzone ルートのzone jpのzone Hashを預ける
  • 88. Copyright© QUALITIA CO., LTD. All Rights Reserved. DNSSECの応答 DNSSEC非対応ドメイン DNSSEC対応ドメイン なりすまされた DNSSEC対応ドメイン DNSSEC非対応リゾルバ 回答あり 回答あり 回答あり DNSSEC対応リゾルバ 回答あり 回答あり SERVFAIL 応答 なりすまされた場合、結果が返ってこない
  • 89. Copyright© QUALITIA CO., LTD. All Rights Reserved. DANE for SMTP クオリティア メール サーバ メール サーバ CAの代わりにDNSSECを信頼 DNSSEC 公開鍵証明書認証局(CA) 不要 ルートDNS DNSSEC 信頼 _25._tcp.mx1.qualitia.co.jp. IN TLSA 3 0 1 2B73BB905F…" mx1.qualitia.co.jp Public KeyのHash ○ Public Key
  • 90. Copyright© QUALITIA CO., LTD. All Rights Reserved. DANEの設定方法 openssl x509 -in cert.pem -pubkey -noout | openssl rsa -pubin -outform DER | openssl sha256 (stdin)= 293f3944e435835ec797acbbe52ffb1bc8e 6637879fbe62d9b6195479e01f67e Public KeyのHashを作成
  • 91. Copyright© QUALITIA CO., LTD. All Rights Reserved. DANEの設定方法 openssl s_client -connect mx1.example.jp:25 -starttls smtp < /dev/null | openssl x509 -pubkey –noout | openssl rsa -pubin -outform DER | openssl sha256 (stdin)= 293f3944e435835ec797acbbe52ffb1bc8e 6637879fbe62d9b6195479e01f67e はじめての設定なら、 サーバーから証明書を取り出すのもあり
  • 92. Copyright© QUALITIA CO., LTD. All Rights Reserved. DNSに追加 メールサーバー メールアドレスのドメイン部分ではありません! 受信するメールアドレス: bob@example.jp 受信メールサーバー: mx1.example.jp 0: 証明書 1: 公開鍵 ※TLSのKeyを入れ替えるときにはTLSAレコードを 先に書いて、DNSのキャッシュ期間が過ぎたらメー ルサーバーの設定を新しいKeyに変更し、古いTLSA レコードを削除します。 0: Hashなし 1: SHA256 2: SHA512 _25._tcp.mx1.example.jp TLSA 3 1 1 293f3944e...
  • 93. Copyright© QUALITIA CO., LTD. All Rights Reserved. DANE DNSSECに対応していて、 TLSAレコードがあれば、 STARTTLSを必須で使用し、 PublicKeyをTLSAの値で検証します。 Microsoftの対応予定 送信側の対応2020年末まで 受信側の対応2021年末まで (by M3AAWG General Meeting (2020/06)) TLS DANE Arcor yes no AOL yes no Bund.de yes yes Comcast yes yes Freenet yes yes Gmail yes no GMX yes yes Kabel Deutschland yes yes O2 yes no Outlook.com yes no Riseup yes yes T-Online yes no Unitymedia yes yes Vodafone yes yes web.de yes yes Yahoo yes no https://posteo.de/en/help/to-and-from-which-other-email-providers-will-my-emails-be-encrypted
  • 94. Copyright© QUALITIA CO., LTD. All Rights Reserved. DNSSEC + TLSA設定完了 https://internet.nl/
  • 95. Copyright© QUALITIA CO., LTD. All Rights Reserved. DANE for SMIME
  • 96. Copyright© QUALITIA CO., LTD. All Rights Reserved. DANE for S/MIME •DNSSECが必須 •TCP推奨、UDP非推奨 •RDATAの書き方はDANE for TLSと同じ •証明書でも公開鍵でもよい •RFC8162 (2017/5) (Experimental) DNSSEC未対応の場合は、Failure
  • 97. Copyright© QUALITIA CO., LTD. All Rights Reserved. SMIMEA ホスト名部分はメールアドレスのlocalpartのSHA256の28オクテット # echo -n alice@example.jp | openssl sha256 2bd806c...af71db._smimecert.example.jp SMIMEA 3 0 0 308202cd308201b50214156aee144... ➔ 2bd806c97f0e00af1a1fc3328fa763a9269723c8db8fac4f93af71db186d6e90 証明書や公開鍵はDER形式にして16進数で書く # openssl x509 -in smime.crt -outform DER | xxd -ps 308202cd308201b50214156aee144514e7969ff77e02936211039f9db59e 300d06092a864886f70d01010b050030123110300e06035504030c076869 72615f4341301e170d3231303131373134353434345a170d323230313137 .... 以下大量
  • 98. Copyright© QUALITIA CO., LTD. All Rights Reserved. DANE for OpenPGP Keys
  • 99. Copyright© QUALITIA CO., LTD. All Rights Reserved. DANE for OpenPGP Keys •DNSSECが必須 •TCP推奨、UDP非推奨 •ホスト部はlocalpartのsha256の28octet •RDATAはPublic Key (BASE64) •RFC7929 (2016/8) (Experimental) DNSSEC未対応の場合は、Failure 2bd806...1db._openpgpkeys.example.jp OPENPGPKEY mQENBGAGcmIBCADZTMmbYeRqTgb...
  • 100. Copyright© QUALITIA CO., LTD. All Rights Reserved. メールとDNSの関係 Action Host Type RDATA DNS SEC Web メール配送 example.jp MX mail.example.jp - - SPF example.jp TXT v=SPF1 ip4:192.0.2.0/24 -all - - DKIM [selector]._domainkey. example.jp TXT v=DKIM1; k=rsa;p=.... - - DMARC _dmarc.example.jp TXT v=DMARC1; p=reject; rua=mailto:report@example.jp; ruf=... - - DMARC レポート example.com._report. _dmarc.example.jp TXT v=DMARC1; - - BIMI default._bimi.example.jp TXT v=BIMI1; l=https://....; a=https://.... - 必要 MTA-STS _mta-sts.example.jp TXT v=STSv1; id=20200320T170000; - 必要 TLS-RPT _smtp._tls.example.jp TXT v=TLSRPTv1; rua=mailto:report@example.jp - - DANE _25.tcp.mail.example.jp TLSA 3 0 1 2B73BB905F.... 必須 - SMIMEA [sha256の28octet]. _smimecert.example.jp SMIME A 3 0 0 ABCDEF0123.... 必須 - OPENPGPKEY [sha256の28octet]. _openpgpkey.example.jp OPENP GPKEY mQENBGAGcmI.... 必須 -
  • 101. Copyright© QUALITIA CO., LTD. All Rights Reserved. まとめ • メールセキュリティの設定にDNSが必要 • DANEにはDNSSECも必要 • DANE for S/MIMEはUDP非推奨 • DKIM Rotationはめんどくさい • SMIMEAやOpenPGP Keyは DNSレコードがメールアドレス毎に存在 • BIMIやMTA-STSはhttpsも必要 • internet.nlで100点になるまでの道は険しい • オランダすごいよ Thank You! もはや、メールの管理者だけでは 担保できないメールセキュリティ。 メールセキュリティは誰が主導す ればいいのでしょうか?