Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
送信ドメイン認証の現状
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Nonogaki Hiroshi
February 10, 2023
Technology
4.4k
7
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
送信ドメイン認証の現状
2019/09/07 DNS温泉6 in 下呂 で利用したスライドです。
内容的にマズい部分は改変してあります。
時間的に古いものですので、現在と相違がある部分もあります。
Nonogaki Hiroshi
February 10, 2023
More Decks by Nonogaki Hiroshi
See All by Nonogaki Hiroshi
Google Cloud spammerの状況 (JANOG57 Mail BoF)
hinono
0
44
ドメイン名を浸透させよ & Google Cloud spammerの状況
hinono
0
130
浸透しなさいRFC 5322&7208
hinono
0
350
メールヘッダーを見てみよう
hinono
0
560
RFC 5322 に浸かろう 続編
hinono
0
420
メールサーバ管理者のみ知る話
hinono
1
270
送信ドメイン認証の現状(2024年版) DNS温泉10
hinono
0
290
総務担当者のOSINT
hinono
0
1.9k
OSINTから得られる組織評価
hinono
0
340
Other Decks in Technology
See All in Technology
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
220
AI時代だからこそ推したい!Gitコマンド再入門
munakata
0
190
ai_cording_with_k8s_knowledge.pdf
mochizuki875
1
350
パッチ更新でterraform initが落ちた日
grimoh
1
130
会社説明資料
persolserverworks
0
9.7k
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
メルペイ 会計システム概要と歴史
mewuto
1
220
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
1
710
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
8
3k
【Data Engineering Summit2026_登壇資料】医療ビッグデータ×AIエージェントを支えるデータ基盤とハーネスエンジニアリング
jmdc_presentation
0
140
AI時代のAPI開発を加速する品質ガードレール / API Quality Guardrails in the AI Era
yokawasa
0
190
Datadog の学び方 - あるいは、オブザーバビリティを学ぶとは何か
mananyuki
1
560
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
The SEO identity crisis: Don't let AI make you average
varn
0
590
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
Visualization
eitanlees
153
17k
Thoughts on Productivity
jonyablonski
76
5.4k
Paper Plane
katiecoart
PRO
5
54k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
440
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Evolving SEO for Evolving Search Engines
ryanjones
0
320
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
320
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
Transcript
送信ドメイン認証 の現状 野々垣裕司 2019/09/07 DNS温泉6 in 下呂 1 KEYTEC
自己紹介 • 野々垣 裕司 (ののがき ひろし) • COBOLer (間接的にゲームソフトウェア開発に関わる) •
1996年からインターネットに携わる。IPv6は2001年から。 • 元々ISPを立ち上げたが、技術提供する方向に転換。 • SNS • Twitter xplntr • Facebook nonogaki • Tumblr https://memorandum.hn.to/ • 得意技? ルーティング(鉄道)、両声類 2019/09/07 DNS温泉6 in 下呂 2 KEYTEC
送信ドメイン認証とは • 送信されたメールが詐称されていないか • 技術 • SPF (Sender Policy Framework)
RFC 7208 • Sender ID RFC 4406, RFC 4407 • DKIM (DomainKeys Identified Mail) RFC 6376 • DMARC (Domain-based Message Authentication,Reporting, and Conformance) RFC 7489 2019/09/07 DNS温泉6 in 下呂 KEYTEC 3
SPF • 送信元のIPアドレスで判断する • MAIL FROMのホスト名、HELOのホスト名 • -all Fail 一致していないとREJECT
• ~all Softfail 信頼できないが受信する • DNS参照は最大10回まで • 設定したら必ず確認しましょう。 2019/09/07 DNS温泉6 in 下呂 KEYTEC 4 keytec.jp. 86400 IN TXT “v=spf1 include:spf.keytec.jp -all” spf.keytec.jp. 86400 IN TXT "v=spf1 ip6:2001:f58:2003:1::/126 ip6:2001:f58:2003:1::a ip4:202.124.214.192/30 ip4:202.124.214.202 ~all"
SPF py.spf を使いましょう To check an incoming mail request: %
python spf.py [-v] {ip} {sender} {helo} % python spf.py 127.0.0.1
[email protected]
mta.example.jp % spf.py 127.0.0.1 keytec.jp helo # pkg install mail/py-pyspf 2019/09/07 DNS温泉6 in 下呂 KEYTEC 5
SPF pyspfで検証 • トレンドマイクロ、エン・ジャパン、アマゾン、TKCグループ 2019/09/07 DNS温泉6 in 下呂 KEYTEC 6
% spf.py 127.0.0.1 support.trendmicro.com helo result: ('permerror', 550, 'SPF Permanent Error: No valid SPF record for included domain: _spf- prod.supportspace.com: include:_spf-prod.supportspace.com') None % spf.py 127.0.0.1 en-japan.com helo result: ('permerror', 550, 'SPF Permanent Error: Too many DNS lookups') None % spf.py 127.0.0.1 amazon.co.jp helo result: ('permerror', 550, 'SPF Permanent Error: No valid SPF record for included domain: amazon- spf.mrs.mpub.ne.jp: include:amazon-spf.mrs.mpub.ne.jp') None % spf.py 127.0.0.1 tkcnf.or.jp helo result: ('permerror', 550, 'SPF Permanent Error: No valid SPF record for included domain: ess- spf.cloud.nifty.com: include:ess-spf.cloud.nifty.com') None
Sender ID • なにそれ 2019/09/07 DNS温泉6 in 下呂 KEYTEC 7
DKIM • ヘッダーの情報が改ざんされていないか判断 • To, From, Subject, Message-id, Date 等のヘッダー電子署名をして、その情報をヘッ
ダに付加する • 公開鍵はDNSのTXTレコードに記述する • 受信側では、電子署名された内容を検証する 2019/09/07 DNS温泉6 in 下呂 KEYTEC 8
DKIM 2019/09/07 DNS温泉6 in 下呂 KEYTEC 9 201904-keytec-jp._domainkey.keytec.jp. 86400 IN
TXT "v=DKIM1; k=rsa; " "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7TwxCiKSIUIgcGr6jv3QJFDOEmVT6K3OL 8/4kHNteOps60JvS7wxeW0qDQ4wTCVgY7c6M8eJssCH0l6ynlad4o5M8wSZwybfAnfiSM0EOIhCe7ks UEm3FMZN4Yl2tqtjeZbsvJEVR6oxR9153r1fI/MDY/QONaIBiiH2PmquRpQIDAQAB" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=keytec.jp; s=201904-keytec-jp; t=1566553811; bh=gTOsRESkMCdTkD90+Y3LDMYBkoESvv6Ropgh9zF8KZI=; h=Date:From:Reply-To:Subject:To:List-Id:List-Post:List-Owner: List-Help:List-Unsubscribe:Resent-From:Resent-To:Resent-Date; b=f7lzWU9LDT9gm3lt7z37cFjF4cdiY22yptf0skTBszFYI9SHL0KQAMnnjsrGfJ/Dh R//7rB37AX4r8ATsJG8Gy3bv4IRS/1qZyjMZjj7Z4UZqP0pu0LWoflh96tuDev5DTM GQUt3UlJ/R0KkD1j78OWneHlvSn5wUGapJS0bdvc=
DKIM • 設定間違いは少ない • 受信側のヘッダーにて直ぐに確認できるため • 鍵の生成と更新が面倒 • 複数のセレクタを使って複数の鍵が作れる •
鍵の更新をやっている人見たことない(更新を推奨されている) • 運用の問題 • メーリングリストでひっかかる → ML側で署名を削除する • 作成者署名でなくても可 • 第三者署名ができる →詐称可能 / DMARC導入できない • G suiteでは作成者署名もできるが、デフォルトは第三者署名 2019/09/07 DNS温泉6 in 下呂 KEYTEC 10
DMARC • SPFとDKIMの結果で判断する • TXTレコード v=DMARC1 記述する (Fromヘッダのメールアドレス) • p=none
なにもしない(実態) • p=quarantine 隔離 • p=reject 拒否 • DMARCレポート • 受信先からDMARC認証結果レポートを送ってくれる(受信報告書) • rua=メールアドレス にて記述する 2019/09/07 DNS温泉6 in 下呂 KEYTEC 11 _dmarc.keytec.jp. 3600 IN TXT "v=DMARC1; fo=1; p=reject; aspf=s; rua=mailto:postmaster_rua◦×△@keytec.jp"
DMARC DMARCレポート 受信先からDMARC認証結果レポートを 送ってくれる 正しく動作しているか確認できる 詐称や改ざんされたメールがどこから発信され ているかわかる 2019/09/07 DNS温泉6 in
下呂 KEYTEC 12
困ったDMARCレポート 2019/09/07 DNS温泉6 in 下呂 KEYTEC 13
困ったDMARCレポート2 2019/09/07 DNS温泉6 in 下呂 KEYTEC 14
困ったDMARCレポート2 ◦×△@verificationsacc-3.com ◦×△@service.alibaba.com ◦×△@apjcomm.com ◦×△@dmarc.ers.trendmicro.com ◦×△@raksul.com ◦×△@service.aliyun.com ◦×△@service.alibaba.com ◦×△@chinaemail.cn ◦×△@email.00001w.cn
◦×△@yahoo.com ◦×△@hayatabi.jp ◦×△@ml.mlit.go.jp ◦×△@bautger.com 2019/09/07 DNS温泉6 in 下呂 KEYTEC 15 ◦×△@koizumig.co.jp ◦×△@google.com ◦×△@biz-shopping.com ◦×△@bildy.jp ◦×△@businesscontact360.com ◦×△@jtbcom.co.jp ◦×△@mail.kfc.co.jp-all ◦×△@polaris.net.id ◦×△@redvalidator.com ◦×△@samsung.com ◦×△@microsoft.com ◦×△@ciudad.com.ar
困ったDMARCレポート3 2019/09/07 DNS温泉6 in 下呂 KEYTEC 16
送信ドメイン認証は有用なのか • 無いよりはやりましょう • 設定間違いが多い (特にG suite利用者) • DMARCまでは無理としてもDKIMはやりましょう •
他の方法でチェックした方が明快 2019/09/07 DNS温泉6 in 下呂 KEYTEC 17
MTAに仕組む • ヘッダーチェックする • 日付チェック • 古すぎるメーラー • Message-ID •
SPF • Temperror = 200 → 450 • Permerror = 200 → 550 • キャリアメールはPassしか通さない • opendmarc • RFCチェックさせる(Date,From必須なのであるか?) • Helo • FQDNしかダメ • gTLD第一レベルチェック 2019/09/07 DNS温泉6 in 下呂 KEYTEC 18
現状での結論 • DNSが正しく設定できていないので、送信ドメイン認証も正しく設定でき る訳がない。間違いに気づかない。 • SPFは比較的普及してきていると思うが、設定していないところはキャリア メール宛メールを送らないのか? • DKIM導入済みだとしても、作成者署名が無さすぎる。G suiteは第三者署名
なのでとりあえずあるだけ。 • DNSもMTAもSPFもDKIMも全て正しく設定できないと、DMARCの運用なん てとても無理。 • RFC違反メールを弾いて正しい設定しようと少しずつ啓蒙した方が良い。 2019/09/07 DNS温泉6 in 下呂 KEYTEC 19