はじめに
Exchange Online にはメールのフォーマットとして3つが利用可能です。「テキスト」、「HTML」、「リッチテキスト」の3パターンです。最近ではHTML形式のメールも利用される企業様が増えているかと思いますが、HTML形式やリッチテキスト形式のメールは過去にセキュリティリスクが高いとされ敬遠されてきました。今回の記事では、社外に送信するメールを強制的にテキスト形式にして送付する方法をご紹介します。
前提
利用者がどのメーラーでどのメール形式を選択していたとしてもシステム側で強制的にテキスト形式にする方法を選択します。内部向けのメールについてはHTML形式の利用を許可することにします。
HTMLメールを利用するうえで知っておきたいセキュリティ
HTML形式のメールが問題視されている背景には、スパムメールの存在があります。HTMLメールには下記の機能とリスクが存在しています。
- メール本文にスクリプトを埋め込むことが可能。つまりいろいろ仕込みやすい。
- 開封確認機能の悪用が可能。スパム業者は総当たりでメールを大量配信します。配信されたメールの開封確認機能を使ってそのアドレスが有効なものかどうかを判断します。有効なものと判断されるとその後大量の迷惑メールが届くようになったりします。開封確認機能を停止する設計をするのはここからきています。
- 装飾機能を使ったなりすましが可能。最近では企業のHPに似せた偽物サイトに誘導されることが多いです。最近はやりのEmotetも偽物のURLから誘導されるパターンが多いかと思います。
設定箇所
外部ドメイン向けにしか制限ができませんが、すべての外部ドメインに対しての設定になりますのでExchange Online のリモートドメイン設定で設定が行えます。残念なことに管理画面上(GUI上に設定項目がなくPowershellで設定する必要があります。
この作業において利用するコマンドはExchange Online のコマンドレットになります。
コマンド | 詳細 |
---|---|
Set-RemoteDomain | 外部宛のメールにテキスト形式を強制します。 |
この記事では一緒にリッチテキストを停止してみます。
オプション | 用途 | 値 |
---|---|---|
-Identity | リモートドメインのポリシー名を指定します | ポリシー名 |
-TNEFEnabled | リッチテキストのオン・オフを切り替えます | オン・オフスイッチ |
-ContentType | 外部宛のメッセージに適用できるメール形式を設定します | MimeHtmlText:HTMLかテキスト(既定値) MimeText:テキストを強制 MimeHtml:HTMLを強制 |
設定コマンド自体は1行だけです。今回はすべての外部宛メールを対象としますのでDefaultポリシーを設定変更します。
#初期設定 #環境に合わせて変更してください。 $UserName = "管理者アカウント名" $Passwd = "管理者パスワード" #接続設定 $CvtPass = ConvertTo-SecureString $Passwd -AsPlainText -Force $UserCredential = New-Object System.Management.Automation.PSCredential($UserName,$CvtPass) Connect-ExchangeOnline -Credential $UserCredential #リッチテキストの無効化と外部宛メールのテキスト形式強制 Set-RemoteDomain -Identity "Default" -TNEFEnabled $false -ContentType MimeText
設定の確認は下記の形で見てください。実際の動作はメールを送ってみて確認してくださいね。設定が反映されるまでに時間がかかる場合があります。
まとめ
最近ではHTMLメールを普通に企業で利用されているパターンを増えてきていますが、またHTMLメールはという層も一定数いるのが事実です。送信する企業に合わせてテキストなのかHTMLなのかを管理するのは現実的ではありませんのでこの記事では全部の外部ドメイン宛のメールに対して設定を行いました。完璧なセキュリティなんて存在しませんし、セキュリティを上げると利便性が下がります。それぞれの会社様で一番良い運用を検討していただく必要があります。