添付ファイルの自動暗号化¶
Sophos Central Emailでは暗号化について幾つか種類があります。
- すべてをTLS(STARTTLS)での送信
- メッセージ全体の暗号化
- 添付ファイルのみの暗号化
ここではサーバ側での設定が不要かつ本文に影響の低い添付ファイル暗号化の
設定と動作確認を行います。
前提条件¶
前提としてMTAサーバ側が下記暗号鍵のTLS1.2に対応している必要があります。
'TLSv1.2+FIPS:kRSA+FIPS:!eNULL:!aNULL'
TLSに対応していない場合、SophosCentral←→MTAサーバ間の通信がDSNコード
4.7.4(TLS is required, but was not offered by host)で失敗を繰り返し、
一定期間後に配信キューから削除されロストしてしまいます。
上記暗号化鍵はPostfixでは「smtp_tls_security_level = may」「smtpd_tls_
security_level = may」で設定されるため、下記に例を記載します。
設定例¶
- Postfix
参考にlets encryptで作成した証明書を使用していますmain.cf -------------------- smtpd_tls_cert_file = /etc/letsencrypt/live/ドメイン名/fullchain.pem smtpd_tls_key_file = /etc/letsencrypt/live/ドメイン名/privkey.pem smtpd_tls_security_level = may smtpd_tls_loglevel = 1 smtp_tls_cert_file = /etc/letsencrypt/live/ドメイン名/fullchain.pem smtp_tls_key_file = /etc/letsencrypt/live/ドメイン名/privkey.pem smtp_tls_security_level = may smtp_tls_loglevel = 1
設定(宛先のドメインを指定しての暗号化)¶
- SophosCentralにログインし、メールゲートウェイを開きます
- 設定→暗号化の設定を開きます
- メッセージの暗号化をオンにします
- TLS v1.2要求の確認を閉じます(前提条件のMTAへの設定内容です)
- 添付ファイルのみを暗号化にチェックし、以下を設定します
- 言語
パスワード等システムからの自動通知に使用する言語 - 件名にタグの付いた暗号化メッセージの送信をユーザに許可する
オンにした場合、件名にタグが付加されます
- 言語
- Office365のOutlookを使用する場合、必要に応じてアドインをインストールします
- アドレスとドメインの「アドレス/ドメインの追加」で宛先のドメインを指定します
宛先ドメイン1 宛先ドメイン2 … …
ここに指定したドメイン宛の場合のみメールが暗号化されます - 設定を保存します
宛先のドメインを指定せずに暗号化を行う場合¶
おそらく、特定ドメインを指定して暗号化するケースの方が稀で、基本的には添付が
あったら暗号化を行うといったほうがニーズがあるかと思います。
ワークアラウンド的な方法になりますが、前述の手順にて個別の宛先ドメインのみ設定しない状態で、
次の設定を行うことで一律に添付ファイルの暗号化をすることは可能です。ただし、拡張子に基づく
設定のため、拡張子無しのファイルは無視される可能性があります。
- ポリシーで「データ流出防止」ポリシーを開きます
- 「設定」タブを開きます
- 「送信」タブを開きます
- ルールの追加を実行します
- 以下の設定を行います
- ルール名
添付ファイル暗号化 - テンプレート
添付ファイルの種類を使用して保護 - 説明
添付ファイルがあった場合に暗号化する
- ルール名
- 次へ進み、以下の設定を行います
- カスタムリストの使用
必要な拡張子にチェックを行います。
- カスタムリストの使用
- 次へ進み、以下の設定を行います
- アクションの選択
暗号化 - 処理を続行
チェックします - 件名にタグを追加
必要があればチェックします。暗号化されたときに件名にタグが付加されます。 - ルールをオン/オフ
このルールでメッセージをフィルタリングを有効にします
- アクションの選択
- 以上で「メール暗号化設定」に基づいた暗号化処理が行われます。
- そもそもメール暗号化設定が行われていないと無視されます。
また、メール暗号化設定で「添付ファイルのみ暗号化」としているため添付ファイル
が暗号化されるだけであり、本文も暗号化する設定の場合は本文も暗号化されます。
- そもそもメール暗号化設定が行われていないと無視されます。
指定したい拡張子がリストが無い場合¶
前項の拡張子の一覧に指定したい拡張子が無い場合、任意の拡張子を暗号化対象
にすることも可能です。ただし、拡張子無しファイルを指定することは難しそうです。
- ポリシーで「データ流出防止」ポリシーを開きます
- 「設定」タブを開きます
- 「送信」タブを開きます
- ルールの追加を実行します
- 以下の設定を行います
- ルール名
添付ファイル暗号化(拡張子追加) - カスタム
キーワードを使用して保護 - 説明
拡張子リストに無い添付ファイルがあった場合に暗号化する
- ルール名
- 次へ進み、メッセージのフィルタリングに使用するキーワードの追加の設定を行います
- キーワードの種類
単語またはフレーズ、またはPCRE形式の正規表現を指定します。ここでは拡張子を
指定するため正規表現を指定します。例えば「.*¥.aaa」などで拡張子を指定します。 - 検索項目
件名と本文または件名と本文と添付ファイルを指定します。ここでは添付ファイル
を対象にするため後者を指定します。 - アクションの選択
暗号化 - 処理を続行
チェックします - 件名にタグを追加
必要があればチェックします。暗号化されたときに件名にタグが付加されます。 - ルールをオン/オフ
このルールでメッセージをフィルタリングを有効にします
- キーワードの種類
- 以上で「メール暗号化設定」に基づいた暗号化処理が行われます。
- そもそもメール暗号化設定が行われていないと無視されます。
また、メール暗号化設定で「添付ファイルのみ暗号化」としているため添付ファイル
が暗号化されるだけであり、本文も暗号化する設定の場合は本文も暗号化されます。- 補足
もしかすると本文に「.*¥.aaa」と言う文字列があって暗号化しないはずの添付ファイル
があった場合、本文側が条件に引っかかって添付ファイルがイトせず暗号化される
かもしれない。
添付ファイルが含まれる場合、メールソースに次のように記載される。Content-Type: application/x-zip-compressed; name="ファイル名" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ファイル名"
「Content-Type」や「Content-Transfer-Encoding」は添付ファイルによって変わる
可能性があるため、「Content-Disposition」ヘッダを考慮した正規表現を記載すると
良いかもしれない。(必要が出てきたら調べて追記します)
- 補足
- そもそもメール暗号化設定が行われていないと無視されます。
動作確認¶
受信者側で初回のみパスワード登録が必要になります。
- MTAで以下を実行します
# mail -r 送信元アドレス -a 添付ファイルパス 送信先アドレス
- 宛先側でメールを確認し、「送信元 さんから 1通の新しい暗号化されたメッセージが届いています」
というメールを開きます - 本文中のリンク「Sophos Secure Message のパスワードを設定する」を開きます
- パスフレーズの作成画面が開きますので、パスワードを設定します
パスワードは文字数8文字以上、大文字小文字混在、数字と記号を含むなどの要件を満たす必要があります。 - 適用を実行します
- パスワードが設定されたらページを閉じます。
- 暫くするとSophos側で置換されたメールが届きます。
暗号化ファイルの参照¶
添付ファイルの種類によって処理が異なります。
- Officeドキュメント、PDFファイル
ファイルはオリジナルと同じ形式(.docx/.xlsx/.pdf等)で添付されますが、ドキュメントを開く際に
Office側のパスワード保護機能でロックを解除する必要があります。
- Zipファイル等
元の形式のパスワード付きアーカイブファイルとして送信されます。
- それ以外のテキスト、バイナリ、画像ファイル等
PDFとして添付されているため、MTA側のheader_checks等でPDF添付メールが拒否されないようにして下さい。
以下の手順でファイルを取り出すことが出来ます。- 添付されているPDFファイルを「Adobe Reader」系で開き、先ほど設定したパスワードを入力します。
OS標準のPDFプレビュー等だと、開けるものの添付ファイルにアクセス出来ない場合があります - Adobe Reader等で開いた際、PDFの添付ファイルに本来の添付ファイルが存在します
- 添付されているPDFファイルを「Adobe Reader」系で開き、先ほど設定したパスワードを入力します。