メールの基本的な認証方法にはSPF、DKIM、DMARCの3つがあります。今回はメールの基本的な仕組みを知っていることを前提に、SPF、DKIM、DMARCの情報を確認する方法を説明します。
1.SPF情報を確認する
[SPFとは]
SPFとはSender Policy Frameworkの略で、受信したメールが正しい送信者から送られてきたかどうかを確認するための認証方式です。具体的にはSPFではメールの送信元のIPが、エンベロープFromのドメインのDNSレコードに許可したIPとして登録されているかどうかを確認します。
例えば “so-net.ne.jp” からメールを受信したとしましょう。受信したメールのヘッダーを確認すると以下の情報が確認できます。
[受信したメールのヘッダー情報]
・spfドメイン:mailcentererr.so-net.ne.jp
・送信元IP: 202.238.84.176
SPFドメインに記載のドメインがエンベロープFromのドメインとなります。それでは実際にメールを送信してきたメール送信元(202.238.84.176)が正規のメール送信者として登録されているか確認してみましょう。
※spfレコードは、”v=spf” で始まるtxtレコードなので、正確にはtxtレコードです。従ってnslookupで検索するレコードのタイプをテキストに指定して確認します。
C:\Users\administrator>nslookup
既定のサーバ:Unkown
Address: 10.0.0.1
> set type=txt
> mailcentererr.so-net.ne.jp
mailcentererr.so-net.ne.jp text =
“v=spf1 ip4:202.238.84.0/24 ~all”
<以下略>
spfドメインのテキストレコードに、”ip4:202.238.84.0/24″ と記述されており、メールの送信元のIPアドレス (202.238.84.176 ) もこのレンジに含まれているので、 送信元IPが「mailcentererr.so-net.ne.jp」をエンベロープFromとして利用することを許可されていることがわかります。
2. DKIM情報を確認する
[DKIMとは]
DKIM(ディーキム)とはDomain Keys Identified Mail の略でメール受信サーバがメールを受信した際にメールが改ざんされていないかどうかを検証する仕組みです。公開鍵暗号方式が利用されており、送信側が秘密鍵で暗号化したメッセージのハッシュ値を元に、送信側が公開鍵を使って複合し、メッセージが改ざんされていないか確認します。ここではnslookupコマンドを使って、公開鍵を入手する方法を説明します。
[DKIM公開鍵書式]
DKIMはSPFレコードと違って、以下のサブドメインに記録されています。
セレクタ._domainkey.エンベロープFromドメイン
※セレクタはメールヘッダのDKIMの箇所に、「s=XXXX」のような書式で記載されています。XXXの部分がセレクタです。
[受信したメールのヘッダー情報]
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=so-net.ne.jp; s=sn2018; t=154 <以下略>
上記からセレクタは “sn2018″ であることがわかります。従って、公開鍵が登録されているドメインは、”sn2018._domainkey.so-net.ne.jp ” となります。
それでは公開鍵をnslookupコマンドで確認してみましょう。
※公開鍵は、”v=DKIM” で始まるtxtレコードです。
> set type=txt
> sn2018._domainkey.so-net.ne.jp
sn2018._domainkey.so-net.ne.jp text =
“v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6sHzd3UsUizQcm82AW9fKfogPkZrQTBdSuOz6cZV4iLUwMHu5GBBK/nmqVBencErd2QT+xVzTR19Kdg5a2j/ADSNNpqV7XKwNtPmuUXA21eA7xo5/UCfdK46qWPIV2XSD7E6A8pMW6p4VbWmBu+oeaIkRgSO”
<以下略>
3. DMARC情報を確認する
[DMARCとは]
DMARC(ディーマーク)とはDomain-based Message Authentication, Reporting & Conformance の略で、SPFやDKIM認証に失敗した場合にその取扱をどうするかを決めたもので、なりすましを防ぐための仕組みです。ちなみDMARCの場合は、SPFと異なり、ヘッダFromに記載されたドメインに問い合わせが行われます。DMARCの詳細はググっていただくとして、ここではnslookupコマンドで、DMARCを確認する方法を説明します
[DMARC書式]
DMARCもDKIMと同じようにサブドメインに記録されていますが、セレクタなどはなく、”_dmarc” をヘッダFromドメインに付加したものとなります。
_dmarc.ヘッダFromドメイン
ヘッダFromドメインはメール送信元のドメインなので、”so-net.ne.jp” となります。従って、DMARCが登録されているドメインは、”_dmarc.so-net.ne.jp” となります。それではDMARCをnslookupコマンドで確認してみましょう。
> set type=txt
> _dmarc.so-net.ne.jp
_dmarc.so-net.ne.jp text =
“v=DMARC1; p=none”
<以下略>
以上です。
コメント