SlideShare a Scribd company logo
hbstudy#14

ENMA




             1
Agenda




    ENMA


 ENMA

           2
3
SMTP


         From   From


spam
MTA   MTA
“   ”

        “   ”




                …
Silver bullet



                spammer



spammer
SPF


                    IP

 Sender ID (SIDF)
SPF

            DNS

                   IP
                  IP

      MX
      DNS
SPF
                        SPF


 ) @iij.ad.jp   SPF
iij.ad.jp. IN TXT “v=spf1 ip4:202.232.30.145
    ip4:202.232.30.71 (    )
    ip6:2001:240:bb42:8010::1:126 -all”


IP                            IP
SPF

          DNS                      MTA
 v=spf1 ip4:192.0.2.1 -all   IP




                 MTA         MTA
              192.0.2.1
SPF


        MTA       MTA
           SPF
  MTA
  Sender ID
              …
DKIM



       (   )


           …
S/MIME       ?

                 …
         ?




 DKIM                …
DKIM



              (   )




        DNS
       DNS
DKIM
       DNS




             MTA   MTA
DKIM

 ML

          Subject


Subject: [ietf-dkim] XXXXXXXX
___________________________________
ietf-dkim mailing list
ietf-dkim@mipassoc.org
http://mipassoc.org/mailman/listinfo/ietf-dkim
DKIM

 What DKIM Is and Isn’t / David Crocker
   http://www.maawg.org/activities/training/
20
SPF/Sender ID

 2003   Meng Wong       SPF
 2004 3 IETF MARID WG
 2004 9 PRA            IETF
 MARID WG
 2006 4 RFC4406 4408
 2006 10 Microsoft PRA

           Sender ID
      ※http://www.microsoft.com/presspass/press/2006/oct06/10-23OSPSenderIDPR.mspx
SPF/Sender ID

 2005 3         JEAG
          ISP

   2006
 2007 11        NTT
   SPF           (     )

      SPF
   SPF
SPF   (   )
 MX       :39%




            http://member.wide.ad.jp/wg/antispam/stats/index.html.ja
SPF      (        )
      :81%




             http://www.soumu.go.jp/menu_news/s-news/02kiban08_02000047.html
SPF
SPF
DKIM

 2006 1     IETF DKIM WG
   Yahoo!   DomainKeys   Cisco   IIM
  2007 5    RFC4871
 (                                     )
  2009 8    DKIM ADSP      RFC5617
DKIM

        SPF




       DKIM
DKIM

         MTA
                  ISP
   ISP                           (
            )
  http://www.dekyo.or.jp/soudan/auth/
DKIM

 DKIM
   DKIM             DKIM

 RFC5617                              Third-
 party signature
 ML                   practice

 Update    errata                4871bis
“   ” DB
32
SPF   DKIM
SPF/DKIM

      SPF
SPF
      DKIM       (   )


      SPF/DKIM       (   )
            (ENMA)
35
MTA
MTA
FW
ISP

MTA
       (         )
      From    From
             MTA
(   )
SPF

SPF
 DNS TXT               IP
 SPF RR (type 99)
                 TXT
      SPF RR
      bind   9.4.0
SPF

            “ip4”, “ip6”
 ISP
          “include”
        “-all”
       mechanism

                           4
SPF

“ipv4”
“include”
              TXT



1             DNS
mechanism/modifier (a mx ptr exists
include redirect) 11
SPF

mechanism             TXT

1    TXT
example.jp. IN TXT “v=spf1 ip4:192.0.2.1”
example.jp. IN TXT “v=spf1 ip4:192.0.2.2”
example.jp. IN TXT “v=spf1 -all”


example.jp. IN TXT “v=spf1 ip4:192.0.2.1
                    ip4:192.0.2.2 -all”
SPF

                      “a mx ptr”
                              ?


example.jp IN TXT “v=spf1 a mx ptr
                   ip4:192.0.2.1 (   ) –all”
DKIM

 SPF
DKIM




DKIM ADSP
1                               (      )

DKIM-Signature: v=1;a=rsa-sha256;c=relaxed/simple;
  d=iij.ad.jp;( );i=takahiko@iij.ad.jp;s=omgo1; ( )


omgo1._domainkey.iij.ad.jp. IN TXT "v=DKIM1;
                                    k=rsa; p=( )"
‘.’ (   )
Jul2010.staff._domainkey.example.jp.   IN TXT “v=DKIM1; …”
Aug2010.staff._domainkey.example.jp.   IN TXT “v=DKIM1; …”
Sep2010.staff._domainkey.example.jp.   IN TXT “v=DKIM1; …”
Jul2010.mm._domainkey.example.jp. IN   TXT “v=DKIM1; …”
Aug2010.mm._domainkey.example.jp. IN   TXT “v=DKIM1; …”
Sep2010.mm._domainkey.example.jp. IN   TXT “v=DKIM1; …”
…
1. OpenSSL


$ openssl genrsa -out private.key 1024
$ openssl rsa -in private.key -pubout -outform PEM -out public.pem

 2. DNS TXT

 (       )._domainkey.(         ). IN TXT “v=DKIM1;
                             k=rsa; p=(                        )”


                                   ※
DKIM ADSP

                    DKIM
     DKIM

     unknown:                       (         )
     all:
     discardable:
   DNS TXT
_adsp._domainkey.iij.ad.jp. IN TXT “dkim=unknown”
ENMA                  …
 ENMA
OpenDKIM
 dkim-milter   fork
56
(   )


ENMA
       DNSSEC
ENMA




       58
ENMA


 milter
   SPF
   Sender ID
   DKIM
   DKIM ADSP
             Authentication-Results
 (RFC5451)
ENMA




  ISP
ENMA

 ENMA   /
 MTA
ENMA            /
 enma.conf
 MTA
milter.socket: inet:10025@127.0.0.1
 (             )
common.exclusion_addresses: 192.0.2.0/24
 Authentication-Results
authresult.identifier: mx.example.jp


 PID
$ mkdir /var/run/enma
$ chown daemon:daemon /var/run/enma
  (                   /                    )
MTA
 Sendmail
 sendmail.mc
INPUT_MAIL_FILTER(`enma', `S=inet:10025@127.0.0.1')
 enma.conf (Sendmail 8.13           )
milter.sendmail813: true

 Postfix
 main.cf
smtpd_milters = inet:127.0.0.1:10025
               milter_protocol     (           )
 enma.conf
milter.postfix: true
DNSSEC

SPF/DKIM    DNS
(       )         DNSSEC
66
Authentication-Results: mx.example.jp;
   spf=pass smtp.mailfrom=username@example.com;
   sender-id=pass header.From=username@example.com;
   dkim=pass header.i=@example.com;
   dkim-adsp=pass header.From=username@example.com
DKIM

 DKIM
           (Signer)
             (Author)


 Authentication-Results: mx.example.jp; ( )
    dkim=pass header.i=@example.com;

           (Signer)
DKIM ADSP

  DKIM ADSP
                          (Author Domain
     Signature)
             (Author)        (Signer)
                 “pass”
     Author Domain Signature


Authentication-Results: mx.example.jp; ( )
   dkim-adsp=pass header.From=author@example.com;
SPF/Sender ID


  none          SPF/Sender ID
  pass
 neutral
 softfail
                …
 hardfail
temperror   DNS
permerror
DKIM


  none

  pass

 neutral

   fail

temperror   DNS

permerror
DKIM ADSP

  none        DKIM ADSP
  pass
unknown
   fail       DKIM

 discard          …

nxdomain
temperror   DNS
permerror
“
    ”
pass
           (none/*fail/*error)
(           )
SPF/Sender ID             (pass)

  Envelope From/Header From
DKIM ADSP
                          (Author Domain
 Signature)
 Header From
SPF/DKIM
 SPF         DKIM           ML

 DKIM
   “                ”
DKIM       (pass)
                        “    ”
DB




       FAIL
                    PASS




               SS
FAIL
              PA
ENMA




       78
ENMA


          DB
          DKIM
       DNSSEC




                 79
(2007      IAjapan
                     )
/etc/mail/spf
*            + OK
*            ~ OK
*            - REJECT
example0.jp - REJECT
example1.jp ~ 550 Check SPF Record
example1.jp - REJECT
example2.jp ~ NOERRMSG

                                      80
SPF                     …

 SPF        DKIM
 (AND, OR)
 IP
         IP        DB




                            81
OpenDKIM       lua
IIJ                     RPF (Receiver
Policy Framework)

  http://www.mew.org/~kazu/proj/rpf/



                                        82
RPF (Receiver Policy Framework)
 // #ip
 connect {
    accept: #ip == 127.0.0.1;
    continue;
 }
 // #spf, #mail_from
 mail_from {
    accept: #spf == 'pass';
    continue;
 }
 // #from, #pra, #sender_id, #dkim_from, #domainkeys_from,
 // #sig_dkim, #sig_domainkeys
 header {
    accept: #sender_id == 'pass';
    reject: #mail_from == "yahoo.com" && #sig_domainkeys == No;
    continue;
 }
 // #dkim, #domainkeys
 body {
    accept: #dkim == 'pass';
    accept: #domainkeys == 'pass';
    continue;
 }


                                                                  83
(                      )

     SPF/DKIM/DKIM ADSP
                   /
          IP
    LDAP (or     DB)

     SMTP              /




                           84
?

    ?


/           ?




                85
DB




DB (   )




                86
DKIM


(Signer)
                  ON/OFF




                           87
ENMA

       ENMA




              88
89
/

    pass




           90
/
OS/




Web      (http://enma.sf.net/)
enma-users-jp@lists.sourceforge.net

More Related Content

What's hot

Introductionto SDN
Introductionto SDN Introductionto SDN
Introductionto SDN
Md. Shariful Islam Robin
 
はじめての vSRX on AWS
はじめての vSRX on AWSはじめての vSRX on AWS
はじめての vSRX on AWS
Juniper Networks (日本)
 
OSv Unikernel — Optimizing Guest OS to Run Stateless and Serverless Apps in t...
OSv Unikernel — Optimizing Guest OS to Run Stateless and Serverless Apps in t...OSv Unikernel — Optimizing Guest OS to Run Stateless and Serverless Apps in t...
OSv Unikernel — Optimizing Guest OS to Run Stateless and Serverless Apps in t...
ScyllaDB
 
Cisco Identity Services Engine (ISE)
Cisco Identity Services Engine (ISE)Cisco Identity Services Engine (ISE)
Cisco Identity Services Engine (ISE)
Anwesh Dixit
 
IS-IS Protocol Introduction
IS-IS Protocol IntroductionIS-IS Protocol Introduction
IS-IS Protocol Introduction
NetProtocol Xpert
 
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
.NET の過去、現在、そして未来 ~ .NET 最新アップデート.NET の過去、現在、そして未来 ~ .NET 最新アップデート
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
Akira Inoue
 
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)Takeshi HASEGAWA
 
MPLS SDN 2016 - Microloop avoidance with segment routing
MPLS SDN 2016 - Microloop avoidance with segment routingMPLS SDN 2016 - Microloop avoidance with segment routing
MPLS SDN 2016 - Microloop avoidance with segment routing
Stephane Litkowski
 
NFV foundation/NFV For Dummies
NFV foundation/NFV For DummiesNFV foundation/NFV For Dummies
NFV foundation/NFV For Dummies
anandbajaj
 
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
Mutsumi IWAISHI
 
vSphere 7 へのアップグレードについて
vSphere 7 へのアップグレードについてvSphere 7 へのアップグレードについて
vSphere 7 へのアップグレードについて
富士通クラウドテクノロジーズ株式会社
 
Amazon Kinesis Video Streams WebRTC 使ってみた
Amazon Kinesis Video Streams WebRTC 使ってみたAmazon Kinesis Video Streams WebRTC 使ってみた
Amazon Kinesis Video Streams WebRTC 使ってみた
mganeko
 
What Can Compilers Do for Us?
What Can Compilers Do for Us?What Can Compilers Do for Us?
What Can Compilers Do for Us?
National Cheng Kung University
 
Fhrp notes
Fhrp notesFhrp notes
Fhrp notes
Krunal Shah
 
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会真乙 九龍
 
ASA Firewall Interview- Questions & Answers
ASA Firewall Interview- Questions & AnswersASA Firewall Interview- Questions & Answers
ASA Firewall Interview- Questions & Answers
NetProtocol Xpert
 
Improve Android System Component Performance
Improve Android System Component PerformanceImprove Android System Component Performance
Improve Android System Component Performance
National Cheng Kung University
 
Best Network Performance Monitoring Tool
Best Network Performance Monitoring ToolBest Network Performance Monitoring Tool
Best Network Performance Monitoring Tool
Joe Shestak
 
再考、3つの仮想デスクトップイメージ管理と比較
再考、3つの仮想デスクトップイメージ管理と比較再考、3つの仮想デスクトップイメージ管理と比較
再考、3つの仮想デスクトップイメージ管理と比較
Citrix Systems Japan
 

What's hot (20)

Introductionto SDN
Introductionto SDN Introductionto SDN
Introductionto SDN
 
はじめての vSRX on AWS
はじめての vSRX on AWSはじめての vSRX on AWS
はじめての vSRX on AWS
 
OSv Unikernel — Optimizing Guest OS to Run Stateless and Serverless Apps in t...
OSv Unikernel — Optimizing Guest OS to Run Stateless and Serverless Apps in t...OSv Unikernel — Optimizing Guest OS to Run Stateless and Serverless Apps in t...
OSv Unikernel — Optimizing Guest OS to Run Stateless and Serverless Apps in t...
 
Cisco Identity Services Engine (ISE)
Cisco Identity Services Engine (ISE)Cisco Identity Services Engine (ISE)
Cisco Identity Services Engine (ISE)
 
IS-IS Protocol Introduction
IS-IS Protocol IntroductionIS-IS Protocol Introduction
IS-IS Protocol Introduction
 
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
.NET の過去、現在、そして未来 ~ .NET 最新アップデート.NET の過去、現在、そして未来 ~ .NET 最新アップデート
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
 
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
 
MPLS SDN 2016 - Microloop avoidance with segment routing
MPLS SDN 2016 - Microloop avoidance with segment routingMPLS SDN 2016 - Microloop avoidance with segment routing
MPLS SDN 2016 - Microloop avoidance with segment routing
 
NFV foundation/NFV For Dummies
NFV foundation/NFV For DummiesNFV foundation/NFV For Dummies
NFV foundation/NFV For Dummies
 
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
 
vSphere 7 へのアップグレードについて
vSphere 7 へのアップグレードについてvSphere 7 へのアップグレードについて
vSphere 7 へのアップグレードについて
 
Amazon Kinesis Video Streams WebRTC 使ってみた
Amazon Kinesis Video Streams WebRTC 使ってみたAmazon Kinesis Video Streams WebRTC 使ってみた
Amazon Kinesis Video Streams WebRTC 使ってみた
 
What Can Compilers Do for Us?
What Can Compilers Do for Us?What Can Compilers Do for Us?
What Can Compilers Do for Us?
 
Android presentation
Android presentationAndroid presentation
Android presentation
 
Fhrp notes
Fhrp notesFhrp notes
Fhrp notes
 
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
 
ASA Firewall Interview- Questions & Answers
ASA Firewall Interview- Questions & AnswersASA Firewall Interview- Questions & Answers
ASA Firewall Interview- Questions & Answers
 
Improve Android System Component Performance
Improve Android System Component PerformanceImprove Android System Component Performance
Improve Android System Component Performance
 
Best Network Performance Monitoring Tool
Best Network Performance Monitoring ToolBest Network Performance Monitoring Tool
Best Network Performance Monitoring Tool
 
再考、3つの仮想デスクトップイメージ管理と比較
再考、3つの仮想デスクトップイメージ管理と比較再考、3つの仮想デスクトップイメージ管理と比較
再考、3つの仮想デスクトップイメージ管理と比較
 

Similar to 送信ドメイン認証最新動向と ENMA の導入・活用・展望

Hannari python10 20181019
Hannari python10 20181019Hannari python10 20181019
Hannari python10 20181019
takey Takesue
 
debugging server with strace
debugging server with stracedebugging server with strace
debugging server with strace
Yoshinari Takaoka
 
AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-
AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-
AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-SORACOM, INC
 
Iw2011 s3 using OpenDkim
Iw2011 s3 using OpenDkimIw2011 s3 using OpenDkim
Iw2011 s3 using OpenDkimKenji MIZUKOSHI
 
20111207 11 aws-meister-ses-public
20111207 11 aws-meister-ses-public20111207 11 aws-meister-ses-public
20111207 11 aws-meister-ses-public
Amazon Web Services Japan
 
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつりRubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつり
Yuya Rin
 
#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門
Takashi Takizawa
 
Docker 18.09 新機能
Docker 18.09 新機能Docker 18.09 新機能
Docker 18.09 新機能
Akihiro Suda
 
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについてCentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
Nobuyuki Sasaki
 
JPAAWG2020 送信ドメイン認証・暗号化 Deep Dive! (Sender Auth, Email Encryption Deep Dive!)
JPAAWG2020 送信ドメイン認証・暗号化 Deep Dive! (Sender Auth, Email Encryption Deep Dive!)JPAAWG2020 送信ドメイン認証・暗号化 Deep Dive! (Sender Auth, Email Encryption Deep Dive!)
JPAAWG2020 送信ドメイン認証・暗号化 Deep Dive! (Sender Auth, Email Encryption Deep Dive!)
Yoshitaka Hirano
 
Xml Security
Xml SecurityXml Security
Xml Security
Satoshi Hada
 
Pub/Sub model, msm, and asio
Pub/Sub model, msm, and asioPub/Sub model, msm, and asio
Pub/Sub model, msm, and asio
Takatoshi Kondo
 
社内向けTech Talk資料~Fluentdの基本紹介~
社内向けTech Talk資料~Fluentdの基本紹介~ 社内向けTech Talk資料~Fluentdの基本紹介~
社内向けTech Talk資料~Fluentdの基本紹介~
Daisuke Ikeda
 
Cisco E メール セキュリティ アプライアンス(ESA)
Cisco E メール セキュリティ アプライアンス(ESA)Cisco E メール セキュリティ アプライアンス(ESA)
Cisco E メール セキュリティ アプライアンス(ESA)
シスコシステムズ合同会社
 
CA LDAP Server for z/OSのご紹介
CA LDAP Server for z/OSのご紹介 CA LDAP Server for z/OSのご紹介
CA LDAP Server for z/OSのご紹介
幸純 浦山
 
Mincs 日本語版
Mincs 日本語版Mincs 日本語版
Mincs 日本語版
Masami Hiramatsu
 
Data processing at spotify using scio
Data processing at spotify using scioData processing at spotify using scio
Data processing at spotify using scio
Julien Tournay
 
2012/06/28 #ssmjp
2012/06/28 #ssmjp2012/06/28 #ssmjp
2012/06/28 #ssmjp
th0x0472
 

Similar to 送信ドメイン認証最新動向と ENMA の導入・活用・展望 (20)

Hannari python10 20181019
Hannari python10 20181019Hannari python10 20181019
Hannari python10 20181019
 
debugging server with strace
debugging server with stracedebugging server with strace
debugging server with strace
 
AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-
AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-
AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-
 
Iw2011 s3 using OpenDkim
Iw2011 s3 using OpenDkimIw2011 s3 using OpenDkim
Iw2011 s3 using OpenDkim
 
01 php7
01   php701   php7
01 php7
 
SPDYの話
SPDYの話SPDYの話
SPDYの話
 
20111207 11 aws-meister-ses-public
20111207 11 aws-meister-ses-public20111207 11 aws-meister-ses-public
20111207 11 aws-meister-ses-public
 
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつりRubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつり
 
#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門
 
Docker 18.09 新機能
Docker 18.09 新機能Docker 18.09 新機能
Docker 18.09 新機能
 
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについてCentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
 
JPAAWG2020 送信ドメイン認証・暗号化 Deep Dive! (Sender Auth, Email Encryption Deep Dive!)
JPAAWG2020 送信ドメイン認証・暗号化 Deep Dive! (Sender Auth, Email Encryption Deep Dive!)JPAAWG2020 送信ドメイン認証・暗号化 Deep Dive! (Sender Auth, Email Encryption Deep Dive!)
JPAAWG2020 送信ドメイン認証・暗号化 Deep Dive! (Sender Auth, Email Encryption Deep Dive!)
 
Xml Security
Xml SecurityXml Security
Xml Security
 
Pub/Sub model, msm, and asio
Pub/Sub model, msm, and asioPub/Sub model, msm, and asio
Pub/Sub model, msm, and asio
 
社内向けTech Talk資料~Fluentdの基本紹介~
社内向けTech Talk資料~Fluentdの基本紹介~ 社内向けTech Talk資料~Fluentdの基本紹介~
社内向けTech Talk資料~Fluentdの基本紹介~
 
Cisco E メール セキュリティ アプライアンス(ESA)
Cisco E メール セキュリティ アプライアンス(ESA)Cisco E メール セキュリティ アプライアンス(ESA)
Cisco E メール セキュリティ アプライアンス(ESA)
 
CA LDAP Server for z/OSのご紹介
CA LDAP Server for z/OSのご紹介 CA LDAP Server for z/OSのご紹介
CA LDAP Server for z/OSのご紹介
 
Mincs 日本語版
Mincs 日本語版Mincs 日本語版
Mincs 日本語版
 
Data processing at spotify using scio
Data processing at spotify using scioData processing at spotify using scio
Data processing at spotify using scio
 
2012/06/28 #ssmjp
2012/06/28 #ssmjp2012/06/28 #ssmjp
2012/06/28 #ssmjp
 

送信ドメイン認証最新動向と ENMA の導入・活用・展望

  • 2. Agenda ENMA ENMA 2
  • 3. 3
  • 4. SMTP From From spam
  • 5. MTA MTA
  • 6. ” “ ” …
  • 7.
  • 8. Silver bullet spammer spammer
  • 9. SPF IP Sender ID (SIDF)
  • 10. SPF DNS IP IP MX DNS
  • 11. SPF SPF ) @iij.ad.jp SPF iij.ad.jp. IN TXT “v=spf1 ip4:202.232.30.145 ip4:202.232.30.71 ( ) ip6:2001:240:bb42:8010::1:126 -all” IP IP
  • 12. SPF DNS MTA v=spf1 ip4:192.0.2.1 -all IP MTA MTA 192.0.2.1
  • 13. SPF MTA MTA SPF MTA Sender ID …
  • 14. DKIM ( ) …
  • 15. S/MIME ? … ? DKIM …
  • 16. DKIM ( ) DNS DNS
  • 17. DKIM DNS MTA MTA
  • 18. DKIM ML Subject Subject: [ietf-dkim] XXXXXXXX ___________________________________ ietf-dkim mailing list ietf-dkim@mipassoc.org http://mipassoc.org/mailman/listinfo/ietf-dkim
  • 19. DKIM What DKIM Is and Isn’t / David Crocker http://www.maawg.org/activities/training/
  • 20. 20
  • 21. SPF/Sender ID 2003 Meng Wong SPF 2004 3 IETF MARID WG 2004 9 PRA IETF MARID WG 2006 4 RFC4406 4408 2006 10 Microsoft PRA Sender ID ※http://www.microsoft.com/presspass/press/2006/oct06/10-23OSPSenderIDPR.mspx
  • 22. SPF/Sender ID 2005 3 JEAG ISP 2006 2007 11 NTT SPF ( ) SPF SPF
  • 23. SPF ( ) MX :39% http://member.wide.ad.jp/wg/antispam/stats/index.html.ja
  • 24. SPF ( ) :81% http://www.soumu.go.jp/menu_news/s-news/02kiban08_02000047.html
  • 25. SPF
  • 26. SPF
  • 27. DKIM 2006 1 IETF DKIM WG Yahoo! DomainKeys Cisco IIM 2007 5 RFC4871 ( ) 2009 8 DKIM ADSP RFC5617
  • 28. DKIM SPF DKIM
  • 29. DKIM MTA ISP ISP ( ) http://www.dekyo.or.jp/soudan/auth/
  • 30. DKIM DKIM DKIM DKIM RFC5617 Third- party signature ML practice Update errata 4871bis
  • 31. ” DB
  • 32. 32
  • 33. SPF DKIM
  • 34. SPF/DKIM SPF SPF DKIM ( ) SPF/DKIM ( ) (ENMA)
  • 35. 35
  • 36.
  • 38. FW
  • 39. ISP MTA ( ) From From MTA
  • 40. ( )
  • 41. SPF SPF DNS TXT IP SPF RR (type 99) TXT SPF RR bind 9.4.0
  • 42. SPF “ip4”, “ip6” ISP “include” “-all” mechanism 4
  • 43. SPF “ipv4” “include” TXT 1 DNS mechanism/modifier (a mx ptr exists include redirect) 11
  • 44. SPF mechanism TXT 1 TXT example.jp. IN TXT “v=spf1 ip4:192.0.2.1” example.jp. IN TXT “v=spf1 ip4:192.0.2.2” example.jp. IN TXT “v=spf1 -all” example.jp. IN TXT “v=spf1 ip4:192.0.2.1 ip4:192.0.2.2 -all”
  • 45. SPF “a mx ptr” ? example.jp IN TXT “v=spf1 a mx ptr ip4:192.0.2.1 ( ) –all”
  • 48. 1 ( ) DKIM-Signature: v=1;a=rsa-sha256;c=relaxed/simple; d=iij.ad.jp;( );i=takahiko@iij.ad.jp;s=omgo1; ( ) omgo1._domainkey.iij.ad.jp. IN TXT "v=DKIM1; k=rsa; p=( )"
  • 50.
  • 51. Jul2010.staff._domainkey.example.jp. IN TXT “v=DKIM1; …” Aug2010.staff._domainkey.example.jp. IN TXT “v=DKIM1; …” Sep2010.staff._domainkey.example.jp. IN TXT “v=DKIM1; …” Jul2010.mm._domainkey.example.jp. IN TXT “v=DKIM1; …” Aug2010.mm._domainkey.example.jp. IN TXT “v=DKIM1; …” Sep2010.mm._domainkey.example.jp. IN TXT “v=DKIM1; …” …
  • 52. 1. OpenSSL $ openssl genrsa -out private.key 1024 $ openssl rsa -in private.key -pubout -outform PEM -out public.pem 2. DNS TXT ( )._domainkey.( ). IN TXT “v=DKIM1; k=rsa; p=( )” ※
  • 53. DKIM ADSP DKIM DKIM unknown: ( ) all: discardable: DNS TXT _adsp._domainkey.iij.ad.jp. IN TXT “dkim=unknown”
  • 54. ENMA … ENMA OpenDKIM dkim-milter fork
  • 55.
  • 56. 56
  • 57. ( ) ENMA DNSSEC
  • 58. ENMA 58
  • 59. ENMA milter SPF Sender ID DKIM DKIM ADSP Authentication-Results (RFC5451)
  • 61. ENMA ENMA / MTA
  • 62. ENMA / enma.conf MTA milter.socket: inet:10025@127.0.0.1 ( ) common.exclusion_addresses: 192.0.2.0/24 Authentication-Results authresult.identifier: mx.example.jp PID $ mkdir /var/run/enma $ chown daemon:daemon /var/run/enma ( / )
  • 63. MTA Sendmail sendmail.mc INPUT_MAIL_FILTER(`enma', `S=inet:10025@127.0.0.1') enma.conf (Sendmail 8.13 ) milter.sendmail813: true Postfix main.cf smtpd_milters = inet:127.0.0.1:10025 milter_protocol ( ) enma.conf milter.postfix: true
  • 64.
  • 65. DNSSEC SPF/DKIM DNS ( ) DNSSEC
  • 66. 66
  • 67. Authentication-Results: mx.example.jp; spf=pass smtp.mailfrom=username@example.com; sender-id=pass header.From=username@example.com; dkim=pass header.i=@example.com; dkim-adsp=pass header.From=username@example.com
  • 68. DKIM DKIM (Signer) (Author) Authentication-Results: mx.example.jp; ( ) dkim=pass header.i=@example.com; (Signer)
  • 69. DKIM ADSP DKIM ADSP (Author Domain Signature) (Author) (Signer) “pass” Author Domain Signature Authentication-Results: mx.example.jp; ( ) dkim-adsp=pass header.From=author@example.com;
  • 70. SPF/Sender ID none SPF/Sender ID pass neutral softfail … hardfail temperror DNS permerror
  • 71. DKIM none pass neutral fail temperror DNS permerror
  • 72. DKIM ADSP none DKIM ADSP pass unknown fail DKIM discard … nxdomain temperror DNS permerror
  • 73.
  • 74. pass (none/*fail/*error) ( )
  • 75. SPF/Sender ID (pass) Envelope From/Header From DKIM ADSP (Author Domain Signature) Header From
  • 76. SPF/DKIM SPF DKIM ML DKIM “ ” DKIM (pass) “ ”
  • 77. DB FAIL PASS SS FAIL PA
  • 78. ENMA 78
  • 79. ENMA DB DKIM DNSSEC 79
  • 80. (2007 IAjapan ) /etc/mail/spf * + OK * ~ OK * - REJECT example0.jp - REJECT example1.jp ~ 550 Check SPF Record example1.jp - REJECT example2.jp ~ NOERRMSG 80
  • 81. SPF … SPF DKIM (AND, OR) IP IP DB 81
  • 82. OpenDKIM lua IIJ RPF (Receiver Policy Framework) http://www.mew.org/~kazu/proj/rpf/ 82
  • 83. RPF (Receiver Policy Framework) // #ip connect { accept: #ip == 127.0.0.1; continue; } // #spf, #mail_from mail_from { accept: #spf == 'pass'; continue; } // #from, #pra, #sender_id, #dkim_from, #domainkeys_from, // #sig_dkim, #sig_domainkeys header { accept: #sender_id == 'pass'; reject: #mail_from == "yahoo.com" && #sig_domainkeys == No; continue; } // #dkim, #domainkeys body { accept: #dkim == 'pass'; accept: #domainkeys == 'pass'; continue; } 83
  • 84. ( ) SPF/DKIM/DKIM ADSP / IP LDAP (or DB) SMTP / 84
  • 85. ? ? / ? 85
  • 86. DB DB ( ) 86
  • 87. DKIM (Signer) ON/OFF 87
  • 88. ENMA ENMA 88
  • 89. 89
  • 90. / pass 90
  • 91. / OS/ Web (http://enma.sf.net/) enma-users-jp@lists.sourceforge.net