소개
특정 스패머는 안티스팸 검사를 통과하기 위해 첨부 파일이 없는 매우 큰 메시지를 보낼 수 있습니다. ESA 안티스팸 엔진의 안티스팸 최대 검사 크기보다 큰 메시지를 보낼 수 있는 경우 해당 메시지에 대해 안티스팸 검사를 건너뜁니다. 이 문서를 작성할 때 안티스팸 최대 검사 크기를 2MB 이상으로 늘리는 것을 권장하지 않는 한 권장하지 않습니다. 따라서 크기가 2MB 이상인 메시지는 대부분의 경우 안티스팸을 쉽게 우회할 수 있습니다.
이 문서에서는 메시지 필터를 활용하여 이러한 유형의 메시지에 대한 조치를 취하는 한 가지 개념을 설명합니다.
요구 사항
- ESA(Email Security Appliance)에 대한 명령줄 액세스.
- 메시지 필터 작성 방법에 대한 기본 지식
- 정규식(RegEx)에 대한 기본 지식
메시지 필터 만들기
이 섹션에서는 메시지 필터를 생성합니다. 이 메시지 필터는 크기가 2MB를 넘고 첨부 파일이 없는 모든 메시지와 일치시킵니다.
- 텍스트 편집기를 열고 다음 메시지 필터를 복사/붙여넣습니다.
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*****");
}
참고: 메시지 필터가 그대로 작동하려면 메시지 필터의 격리 작업에 사용된 격리의 이름과 일치하는 PVO(Policy, Virus and Outbreak) 격리를 생성해야 합니다. 그렇지 않으면 다른 작업 유형을 사용해야 합니다. 이 PVO 쿼런틴이 생성되고 메시지 필터가 ESA에 적용되면 PVO 쿼런틴을 모니터링하고 필요에 따라 쿼런틴된 메시지를 해제 또는 삭제하는 것이 좋습니다.
- 여기에서 특정 요구 사항에 맞게 이 메시지 필터를 변경할 수 있습니다. 예를 들어 안티스팸 최대 검사 크기가 1MB로 설정된 경우 본문 크기를 1MB로 줄일 수 있습니다.
- 또한 이 메시지 필터가 특정 발신자 그룹 또는 리스너의 메시지에만 적용되도록 할 수도 있습니다. 다음은 귀하의 목적에 부합할 수 있는 두 가지 추가 예입니다.
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 End-Use Guide(ESA 최종 사용 설명서)의 message filter(메시지 필터) 섹션을 검토하는 것이 좋습니다. 이 가이드에는 사용 가능한 조건 및 작업 목록을 제공하는 섹션이 있습니다.
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 명령을 실행하고 관련 커밋 코멘트를 추가합니다.
ironport.example.com> commit
Please enter some comments describing your changes:
[]> Applied large_spam_no_attachment message filter
추가 리소스
ESA 최종 사용자 가이드