はじめに
AsyncOS バージョン14より、ハッシュ値を元にメールに添付されているファイルを検出する機能が実装されました。この機能により、メッセージフィルタまたはコンテンツフィルタを使って 、特定のハッシュ値を元に添付ファイルを検出してそれに対してアクションを定義することが可能となります。この記事では、メッセージフィルタとコンテンツフィルタを使ってハッシュ値を元に添付ファイルを検出してメールをDropする方法をご紹介致します。
メッセージフィルタとコンテンツフィルタの違い
メッセージフィルタとコンテンツフィルタは以下のような違いがございます。
- メッセージフィルタはコンテンツフィルタより前段で処理がされ、ワークキューに入った送受信メールに適用されるのに対して、コンテンツフィルタはメールポリシー単位(受信メールポリシーまたは送信メールポリシー)での適用となります。詳細については参考記事をご参照ください。
- メッセージフィルタはCLIからのみの設定が可能で、コンテンツフィルタはGUIからのみの設定が可能となります。
- メッセージフィルタとコンテンツフィルタでは定義できる条件とアクションに違いがございます。詳細については参考記事をご参照ください。
実装方法
ファイルハッシュリストの作成
まずはじめに、添付ファイルのハッシュ値を検出するためには、ファイルハッシュリストを作成する必要があります。
ESAのGUIにアクセスし、[メールポリシー] - [ハッシュリスト] - [ファイルハッシュリストの追加]より、ファイルハッシュリストの追加の画面で以下の項目を入力して作成をします。
- ファイルハッシュリスト名
- 説明(任意)
- File Hash Type(SHA256が必須となります。)
- ファイルハッシュ(検出したいファイルのハッシュ値を登録します。複数登録可能です。)
メッセージフィルタを使った実装例
ESAにSSHでアクセスし、以下の構文のメッセージフィルタを作成します。添付ファイルのハッシュ値が上で作成したファイルハッシュリストに登録されているハッシュ値に合致する場合に、メールを削除するといった内容となります。
DropEmailbyFileHash: if (attachment-hashlist-match("Test_FileHashLists"))
{ drop(); }
ironport.test.local> filters
Choose the operation you want to perform:
- NEW - Create a new filter.
- IMPORT - Import a filter script from a file.
[]> NEW
Enter filter script. Enter '.' on its own line to end.
DropEmailbyFileHash: if (attachment-hashlist-match("Test_FileHashLists"))
{ drop(); }
.
1 filters added.
Choose the operation you want to perform:
- NEW - Create a new filter.
- DELETE - Remove a filter.
- IMPORT - Import a filter script from a file.
- EXPORT - Export filters to a file
- MOVE - Move a filter to a different position.
- SET - Set a filter attribute.
- LIST - List the filters.
- DETAIL - Get detailed information on the filters.
- LOGCONFIG - Configure log subscriptions used by filters.
- ROLLOVERNOW - Roll over a filter log file.
[]>
設定完了後に、ファイルハッシュリストに登録してあるハッシュ値のファイルを添付してESAにメールを送ると、メールが削除され以下の内容がメールログに記録されます。
Fri Mar 24 12:10:33 2023 Info: MID 1296 attachment 'test.txt'
Fri Mar 24 12:10:33 2023 Info: Message 1296 with attachment 'test.txt' and SHA256 ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad matched the file hash list 'Test_FileHashLists' configured in the filter.
Fri Mar 24 12:10:33 2023 Info: Message aborted MID 1296 Dropped by filter 'DropEmailbyFileHash'
コンテンツフィルタを使った実装例
ESAのGUIにアクセスし、[メールポリシー] - [受信コンテンツフィルタを追加]を選択し、 以下の条件とアクションを定義した受信コンテンツフィルタを作成します。
条件を追加:添付ファイルのファイル情報から上で作成したファイルハッシュリストを選択
アクションを追加:ドロップする(最終アクション)を選択

最後に、作成したコンテンツフィルタを受信メールポリシーに適用します。設定完了後に、ファイルハッシュリストに登録してあるハッシュ値のファイルを添付して、上で作成した受信コンテンツフィルタを適用したメールポリシーにマッチするメールをESAに送ると、メールが削除され以下の内容がメールログに記録されます。
Fri Mar 24 14:01:42 2023 Info: Message 1297 with attachment 'test.txt' and SHA256 ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad matched the file hash list 'Test_FileHashLists' configured in the filter.
Fri Mar 24 14:01:42 2023 Info: Message aborted MID 1297 Dropped by content filter 'Test_FileHashLists' in the inbound table
おわりに
この記事では、ハッシュ値を元に添付ファイル検出してメールを削除する方法を紹介しましたが、その他、添付ファイルのみを削除する、メールで管理者に通知する、送信元にバウンスするといったようなアクションを定義することも可能です。
詳細については参考記事をご参照ください。
参考記事
電子メール パイプラインについて
https://www.cisco.com/c/ja_jp/td/docs/security/esa/esa14-2/user_guide/b_ESA_Admin_Guide_14-2/b_ESA_Admin_Guide_12_1_chapter_011.html
メッセージ フィルタを使用した電子メール ポリシーの適用
https://www.cisco.com/c/ja_jp/td/docs/security/esa/esa14-2/user_guide/b_ESA_Admin_Guide_14-2/b_ESA_Admin_Guide_12_1_chapter_01000.html
コンテンツ フィルタ
https://www.cisco.com/c/ja_jp/td/docs/security/esa/esa14-2/user_guide/b_ESA_Admin_Guide_14-2/b_ESA_Admin_Guide_12_1_chapter_01010.html