kazuakix の日記

Windows Phone とか好きです

Office 365 で DMARC を有効にする

DMARC とは

 DMARC は SPF や DKIM と組み合わせてメールを保護する仕組みです。

DMARCとは「Domain-based Message Authentication,Reporting and Conformance」の略で、SPF、DKIMといった既存の認証技術を利用して、詐称されたメールを受信側がどう扱うべきかの方針をドメインの管理者側が宣言するための仕組みです。

 
 SPF は Office 365 に標準で設定されています。DKIM も標準ですが、カスタムドメインを使っている場合は、操作が必要なこともありました。

 同じように DMARC も受信については特に設定する必要はありません。送信についても設定してなくても送信に困ることはないです。
 
 ただ、Office 365 から Outlook.com に送信したメールを確認すると、Authentication-Results ヘッダには "dmarc=bestguesspass action=none" と記載されていました。

Authentication-Results: spf=pass (sender IP is 104.47.93.64)
 smtp.mailfrom=*****.***; live.jp; dkim=pass (signature was verified)
 header.d=*****.***;live.jp; dmarc=bestguesspass action=none
 header.from=*****.***;

 ヘルプによると、bestguesspass は「メインの DMARC TXT レコードが存在しないことを示します。ただし、レコードが存在していた場合、メッセージの DMARC チェックはパスしていたことになります。」という意味だそうです。

DMARC の設定方法

 DMARC の動作は DNS で "_dmarc.ドメイン名" に対する TXT レコードを登録することで設定できます。

 最低限で登録するとしたら、こんな感じのようです。

v=DMARC1; p=none

"v=DMARC1" が決まり文句で、"p"(ポリシー) は「なし (none)」「検疫 (quarantine)」「拒否 (reject)」を選ぶのですが、最初は「なし」で様子を見るのがいいそうです。

 パラメーターはこれ以外にもあります。例えば、マイクロソフトの DMARC の指定はこんな感じになっていました。

PS C:\> Resolve-DnsName -Type txt _dmarc.microsoft.com
Name                                     Type   TTL   Section    Strings
----                                     ----   ---   -------    -------
_dmarc.microsoft.com                     TXT    3599  Answer     {v=DMARC1; p=reject; pct=100; rua=mailto:
                                                                 d@rua.agari.com; ruf=mailto:d@ruf.agari.c
                                                                 om; fo=1}

Outlook.com や gmail だとこんな感じ

PS C:\> Resolve-DnsName -Type txt _dmarc.outlook.com
Name                                     Type   TTL   Section    Strings
----                                     ----   ---   -------    -------
_dmarc.outlook.com                       TXT    3599  Answer     {v=DMARC1; p=none; pct=100; rua=mailto:d@
                                                                 rua.agari.com; ruf=mailto:d@ruf.agari.com
                                                                 ; fo=1}

PS C:\> Resolve-DnsName -Type txt _dmarc.gmail.com
Name                                     Type   TTL   Section    Strings
----                                     ----   ---   -------    -------
_dmarc.gmail.com                         TXT    354   Answer     {v=DMARC1; p=none; rua=mailto:mailauth-re
                                                                 ports@google.com}

 
 個々のパラメーターについては以下のページがわかりやすかったです。

 
 とりあえず、他のドメインを参考にして、ポリシー適用の割合 (pct)、集計レポートの送信先 (rua)、認証失敗レポートの送信先 (ruf) あたりを指定してみることにします。

 テンプレートはこんな感じになるでしょうか。

v=DMARC1; p=none; pct=100; rua=mailto:集計レポート送信先; ruf=mailto:認証失敗レポート送信先

 

Office 365 で DMARC を設定する

レポート受け取りアドレスの作成

 まずは、レポートを受け取るアドレスを作ります。今回はお手軽に自分のアカウントに dmarc@~ というエイリアスを追加しました。

f:id:kazuakix:20170729174608p:plain
 

DNS の登録

 続いて、DNS の管理でカスタムレコードを追加します。

f:id:kazuakix:20170729174949p:plain

DNS の種類 TXT (テキスト)
TXT 名 _dmarc
TXT 値 v=DMARC1; p=none; pct=100; rua=dmarc@*****.***; ruf=dmarc@*****.***

 

動作テスト

 カスタムレコードを追加してから、冒頭と同じように Outlook.com にメールを送って Authentication-Results ヘッダを確認してみます。

Authentication-Results: spf=pass (sender IP is 104.47.92.42)
 smtp.mailfrom=*****.***; live.jp; dkim=pass (signature was verified)
 header.d=*****.***;live.jp; dmarc=pass action=none header.from=*****.***;

 無事に "dmarc=pass" と表示されるようになりましたね。

 あとは集計レポートを確認しながら、ポリシーを調整していこうと思います。

Yammer デスクトップアプリをインストールしてみる

「Twitter を見ていると、Windows や Mac の Yammer Desktop App が出ているようなのですが、どこから手に入るのだろうか…?」という情報を Facebook でゲットしたので、探してみました。

 Yammer は時々スマートフォンで覗く程度だったのですが、PC のブラウザで開いてみるとこんな通知が出てきてダウンロードすることができるようです。

f:id:kazuakix:20170725124546p:plain

 ちなみに、本日時点でのダウンロード URL は
https://yammerdesktopapp.blob.core.windows.net/binaries/dist/win32/ia32/Yammer-ia32-1.0.2.exe となっていました。
 

 インストールして開いてみるとブラウザで開いているのと同じような感じ...というか同じに見えます。

f:id:kazuakix:20170725124858p:plain

 バージョン情報はこんな感じ。ん? Chrome ?

f:id:kazuakix:20170725124913p:plain
 

Skype for Business 用にアプリケーションパスワードを作成する

 先日、 Android で Skype for Business を使おうとしたとろ、「サインインできません。やり直してください。」というメッセージが出てサインインすることができませんでした。

f:id:kazuakix:20170722162038p:plain
 
 この時は、「 Android の Skype for Business って不安定なのかな?」くらいに思って深く追及しなかったのですが、今日になってマイクロソフト コミュニティで同じような質問を見て思い出しました。
 Office 365 で2段階認証を使っている環境で Skype for Business を使う場合はアプリケーション パスワードを作成します。

https://account.activedirectory.windowsazure.com/AppPasswords.aspx *1
f:id:kazuakix:20170722162413p:plain

 よく読むと、ちゃんと「Outlook、Lync など、コンピューターまたはスマート フォンにインストールされているアプリにサインインするには、アプリ パスワードを作成する必要があります。」と書かれていますね。(ちゃんと Skype for Business って書きなおして欲しいところですが)「作成」を押して適当な名前をつけて生成したパスワードを使うと正しくサインインできるようになります。

f:id:kazuakix:20170722170047p:plain
 

 Skype for Business については、Android に限らず Windows Phone などの一般的なスマートフォンや PC でも同じなので、使っている端末分のアプリケーション パスワードを生成しましょう。

f:id:kazuakix:20170722162048p:plain

*1:アプリケーションパスワードのページは、相変わらず辿り着きにくい場所にあるので URL 覚えた方がいいかもしれませんね。