mrinzouのブログ

ITとかガジェットとか思いつくままに

Exchange OnlineでDMARCを試してみる

先日(と言っても2か月以上前だけど)、マイクロソフト365開発者プログラムを登録した。

その間にシームレスSSOや条件付きアクセスを試してみたけど、記事にするためのログをとっていなかったのでそれはまた今度として、メールセキュリティのためのDMARCを試してみた。

参考にしたページはこちら
docs.microsoft.com


DMARCとは、Domain-based Message Authentication, Reporting, and ComformanceのAcronymで
・送信者メール認証を行う。
・SFPやDKIMと一緒に使う。
とのこと。SPFはなじみあるけど、DKIMとかまたよくわからないのが出てきた。
DKIMとは、ディーキムと発音し、ヘッダに署名をつけるものらしい。
いろいろ調べてもよくわからんのでまずは設定を試してみた。

  • まずは事前確認

Exchange Onlineから設定前に自分のgmailにメールを送ってみる。ヘッダを見ると、長すぎてうげぇとするけど、たぶんDKIM/DMARCのヘッダはこんな感じ。

authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=*****.*****.jp;

https://security.microsoft.com/dkimv2から、まずはキーの作成。
f:id:mrinzou:20220405223155p:plain

そのあとCNAME(ヘッダに署名する公開キーの置き場かな?)を登録しろと言われるので登録。
f:id:mrinzou:20220405223458p:plain

しばらくするとグレーアウトしていたトグルが有効になったので、DKIMを有効化。
f:id:mrinzou:20220405224346p:plain

再度、gmailにメールを送りヘッダを確認する。DKIMの署名らしきものはついたけど、dkim=noneになる。

ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
h=mime-version:msip_labels:content-language:accept-language
:message-id:date:thread-index:thread-topic:subject:to:from
:dkim-signature;
bh=p0FpB6Ts8Q6FuIHgiiOOZqhV3wQXpxyTtDBzk2UEp44=;
b=NoKoAG8vnB8lQfU/q3DQ/5t0al+FggLVtOiWIsHQEHTGor3qDe1meYuqmPoMUZWw7+
tSz6xBiJX24OyxLe6/u15Fb9wxrKfrxzaQdIM7EeUDOSdk1RN+RA3RrVVkhsoOJXYRNL
GudIHeF2vuraSQ9uyCXwkW3bOi1dyRQkotkyg+6xrNccElRpNzla9tR/wGEtc6d2IY9c
rkeqvycO/JeBkJbPy74egvcgW1ch6680xy+ATwWEdAnWtTwIuUBAQoGgX5dXTTIdhq9b
2mhOfyenqS5o9OcQVK8b5lFNPOs35EbN+3zPNFhxvr1QfQs2enb1A06wLujqjJHau6IV
K8kw==
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=******.*****.jp;

でもメールのヘッダレポート(?)を確認すると最初はなかったDKIMが出てきた。ますますわからん。
f:id:mrinzou:20220405224148p:plain

  • DMARCの設定

DMARCはSPFDKIMの認証に失敗したときに、メール受信サーバに対する指示をDNSのTXTレコードに記載することで成り立つらしい。まずはシンプルに、こんな感じでTXTレコードを追加。

_dmarc.*****.****.jp. TXT "v=DMARC1; p=none; ruf=devadmin@****.onmicrosoft.com; rua=devadmin@****.onmicrosoft.com"

メール送信認証に失敗したときに、受信メールサーバに以下のように指示する。
P=none; 何もしない。ほかにquarantineやrejectがある。
ruf=devadmin@****.onmicrosoft.com; failure reportの略。どこをどう略したらrufになるのかわからん。
指定した先に認証失敗時のレポートを送る。

rua=devadmin@****.onmicrosoft.com Aggregate Reportの略。これもどう略したらrafなのかわからん。統計レポートを送る。

DMARCを設定したあとに、再度gmailにメールを送信。
メールのヘッダレポート(?)を確認すると、DMARCも出てきた。
f:id:mrinzou:20220405230221p:plain

ヘッダもなんか変わった。

ARC-Authentication-Results: i=2; mx.google.com;
dkim=pass header.i=@*****.****.jp header.s=selector1 header.b=MRkLL5NE;
arc=pass (i=1 spf=pass spfdomain=****.*****.jp dkim=pass dkdomain=*****.*****.jp dmarc=pass fromdomain=*****.*****.jp);
spf=pass (google.com: domain of devuser01@*****.*****.jp designates 2a01:111:f400:feae::60d as permitted sender) smtp.mailfrom=devuser01@*****.*****.jp;
dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=*****.*****.jp

そのうちレポートが指定したアドレスに送付されてくるのかな。といってもりんぞうのドメインをなりすますやつなどいなさそうだけど。orz
ヘッダの見方もちゃんと調べよう。。。