はじめに
特定のスパマーは、アンチスパムスキャンを通過するために、添付ファイルのない非常に大きなメッセージを送信することがあります。ESAスパム対策エンジンのスパム対策の最大スキャンサイズよりも大きいメッセージを送信できる場合、そのメッセージのスパム対策スキャンはスキップされます。この記事の作成時点では、特に推奨されない限り、スパム対策の最大スキャンサイズを2MBより大きくすることは推奨されません。このため、サイズが2MBを超えるメッセージは、ほとんどの場合、スパム対策を簡単にバイパスできます。
この記事では、メッセージフィルタを使用して、これらのタイプのメッセージに対してアクションを実行する1つの概念について説明します。
要件
- Eメールセキュリティアプライアンス(ESA)へのコマンドラインアクセス。
- メッセージフィルタの作成方法に関する基本的な知識
- 正規表現(RegEx)の基礎知識。
メッセージフィルタの作成
このセクションでは、メッセージフィルタを作成します。このメッセージフィルタは、サイズが2 MBを超え、添付ファイルを含まないすべてのメッセージに一致します。
- テキストエディタを開き、次のメッセージフィルタをコピーして貼り付けます。
large_spam_no_attachment:
if ((body-size > 2097152) AND NOT (attachment-size > 0)) {
quarantine("large_spam");
log-entry("*****This is a large message with no attachments*****");
}
注: メッセージフィルタが正常に機能するためには、メッセージフィルタの検疫処理で使用される検疫名と一致するPolicy, Virus and Outbreak(PVO)検疫を作成する必要があります。それ以外の場合は、別のアクションタイプを使用する必要があります。このPVO隔離を作成し、メッセージフィルタをESAに適用したら、PVO隔離をモニタし、必要に応じて隔離されたメッセージをリリースまたは削除することを強くお勧めします。
- ここから、特定の要件に合わせて、このメッセージフィルタを変更できます。たとえば、スパム対策の最大スキャンサイズが1MBに設定されている場合、本体サイズを1MBに減らすことができます。
- このメッセージフィルタを、特定の送信者グループまたはリスナーからのメッセージだけに適用することもできます。次に、用途に応じて使用できる2つの例を示します。
large_spam_no_attachment:
if (recv-listener == "IncomingMail") AND ((body-size > 2097152) AND NOT (attachment-size > 0)) {
quarantine("large_spam");
log-entry("*****This is a large message with no attachments*****");
}
large_spam_no_attachment:
if (sendergroup != "RELAYLIST") AND ((body-size > 2097152) AND NOT (attachment-size > 0)) {
quarantine("large_spam");
log-entry("*****This is a large message with no attachments*****");
}
- 追加の変更を行う場合は、『ESAエンドユーザガイド』の「メッセージフィルタ」セクションを確認することをお勧めします。このガイドには、使用可能な条件とアクションのリストを示すセクションがあります。
メッセージフィルタをESAに適用します
このセクションでは、前のセクションで作成したメッセージフィルタをESAに適用します。メッセージフィルタは、コマンドライン経由でのみESAに適用できます。そのため、ESAへのコマンドラインアクセスが必要になります。
- コマンドラインを使用してESAにログインします。
- 強調表示されている次のコマンドを実行して、メッセージフィルタをESAに適用します。
ironport.example.com> 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.
large_spam_no_attachment:
if ((body-size > 2097152) AND NOT (attachment-size > 0)) {
quarantine("large_spam");
log-entry("*****This is a large message with no attachments*****");
}
.
1 filters added.
- ここから、メッセージフィルタを表示して、アクティブで有効であることを確認できます。これを行うには、次のコマンドを実行します。
ironport.example.com> filters
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.
[]> LIST
Num Active Valid Name
1 Y Y large_spam_no_attachment
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.
[]> DETAIL
Enter the filter name, number, or range:
[]> 1
Num Active Valid Name
1 Y Y large_spam_no_attachment
large_spam_no_attachment: if (body-size > 2097152) AND NOT (attachment-size > 0)) {
quarantine("large_spam");
log-entry("*****This is a large message with no attachments*****");
}
- commitコマンドを実行し、関連するcommitコメントを追加します。
ironport.example.com> commit
Please enter some comments describing your changes:
[]> Applied large_spam_no_attachment message filter
関連資料
ESAエンドユーザガイド