私はOfficeアプリの利用などの都合でメインアカウントをOffice365に統合していて、メールもそちらのOutlook(Exchange Online)にしているのですが、今回DKIMの設定を行いました。
DKIMはメールサーバ上でメールに署名を付加して、受信者はDNSレコードにある公開鍵で検証することで、送信元の真正性をチェックできる仕組みで、SPFと並ぶ送信メール信頼性向上の仕組みです。
SPFでは、送信元IPに対してDNSレコードで検証するため、送信サーバ自体を検証し迷惑メール送信サーバを排除する効果が高いですが、こちらはメールの署名を元にメールを検証するため、そのようにサーバを排除するわけではなく、受け取ったメールの信頼度を測る動きになります。
Office365は、基本的にブラウザによるGUI操作で設定ができるのですが、DKIMの設定については、初期設定をする画面が見当たらず状態表示のみだったので、結局、PowerShell(PS)による設定を行いました。
PSはsh/sshのようなWindowsを管理するCUIのインタフェイスで、ローカルのサービスも管理できるし、リモートにつないで管理することもできます。
Office365のメールサービス実態は、ExchangeOnlineなので、リモートのExchangeサーバを管理するようにPSで設定します。
今回の作業環境は、Windows10 x64 Enterpriseです。
まずは、PSに拡張を追加します。
- IT プロフェッショナル用 Microsoft Online Services サインイン アシスタント RTW
- Windows PowerShell 用 Windows Azure Active Directory モジュール
- SharePoint Online Management Shell
各パッケージを導入後に、PSを管理者モードで起動します。 PSはスタートメニュー内にあります。
※以下はメールのドメインが、mydomain.tld 組織名が myorg として表示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
PS C:\> Set-ExecutionPolicy RemoteSigned #以下のようなメッセージが表示されるので、ポリシを許可にする 実行ポリシーの変更 実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies のヘルプ トピック (http://go.microsoft.com/fwlink/?LinkID=135170) で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか? [Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "N"): Y PS C:\> $credential = Get-Credential #Windowsのアカウント認証画面が表示されるので、Office365のログイン情報を入力し認証情報を取得(admin@mydomain.tld等のメールドメインを管理するMSアカウントでログイン) PS C:\> Import-Module MSOnline #MSOnline操作用のモジュールをインポート PS C:\> Connect-MsolService -Credential $credential #先のログイン画面の認証情報でMSOnlineサービスに接続 PS C:\> $exchangeSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "https://outlook.office365.com/powershell-liveid/" -Credential $credential -Authentication "Basic" -AllowRedirection #ExchangeOnlineへのセッションを作成 PS C:\> Import-PSSession $exchangeSession -DisableNameChecking PS C:\> New-DkimSigningConfig -DomainName mydomain.tld -Enabled $True #以下の様なメッセージが表示されるのでDNSレコードを設定 警告: 構成は作成されましたが有効化できません。CNAME レコードが発行されていないためです。次の 2 つの CNAME レコードを発行してから、Set-DkimSigningConfig を使用してこの構成を有効にしてください。 selector1-mydomain-tld._domainkey.myorg.onmicrosoft.com selector2-mydomain-tld._domainkey.myorg.onmicrosoft.com #CNAMEのレコードは、 #自ドメインの selector1._domainkey を selector1-mydomain-tld._domainkey.myorg.onmicrosoft.com に向ける。 #同様に、selector2._domainkey を selector2-mydomain-tld._domainkey.myorg.onmicrosoft.com に向ける。 # #ドメイン設定が完了して反映された頃に継続 # PS C:\> Set-DkimSigningConfig mydomain.tld -Enabled $True #これで、DKIMが有効化される。 これ以降、WebUIの管理画面でDKIMの状況が確認でき、キー更新などもそちらで行える。 #PSでDKIMの状況を確認する場合は以下の通り。 無効ならFalseになる。 PS C:\> Get-DkimSigningConfig mydomain.tld Domain Enabled ------ ------- mydomain.tld True #無効化する場合は PS C:\> Set-DkimSigningConfig mydomain.tld -Enabled $False |
GoogleAppsだと、WebGUI上でワンクリックで生成できるのだが、ちょい面倒だった。
まぁ、機能自体はちゃんと準備されていました。 早めにWebUIに統合してほしいところですが・・・
(3163)