소개
이 문서에서는 Cisco ESA(Email Security Appliance)에서 이메일 스푸핑을 제어하는 방법과 스푸핑된 이메일을 보낼 수 있는 사용자에 대한 예외를 생성하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
ESA는 수신 및 발신 메일을 모두 처리하며, 메시지에 발신 플래그를 지정하려면 RELAYLIST의 표준 컨피그레이션을 사용해야 합니다.
사용되는 구성 요소
이 문서의 정보는 모든 AsyncOS 버전의 ESA를 기반으로 합니다.이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
사용되는 특정 구성 요소는 다음과 같습니다.
- 사전:모든 내부 도메인을 저장하는 데 사용됩니다.
- 메시지 필터:스푸핑된 이메일을 탐지하고 콘텐츠 필터가 작동할 수 있는 헤더를 삽입하는 논리를 처리하는 데 사용됩니다.
- 정책 쿼런틴:스푸핑된 이메일의 중복 항목을 임시로 저장하는 데 사용됩니다.MY_TRUSTED_SPOOF_HOSTS에 릴리스된 메시지의 IP 주소를 추가하여 이 발신자의 향후 메시지가 정책 격리로 들어가는 것을 방지하는 것이 좋습니다.
- MY_TRUSTED_SPOOF_HOSTS:신뢰할 수 있는 전송 IP 주소를 참조하는 목록입니다.이 목록에 발신자의 IP 주소를 추가하면 격리가 생략되고 발신자가 스푸핑할 수 있습니다.이러한 발신자의 스푸핑된 메시지가 격리되지 않도록 MY_TRUSTED_SPOOF_HOSTS 발신자 그룹에 신뢰할 수 있는 발신자를 배치합니다.
- 릴레이 목록:릴레이 또는 아웃바운드 이메일 전송이 허용되는 IP 주소를 인증하기 위한 목록입니다.이 발신자 그룹을 통해 이메일을 전달하는 경우 메시지가 스푸핑된 메시지가 아니라고 가정합니다.
참고:발신자 그룹 중 하나가 MY_TRUSTED_SPOOF_HOSTS 또는 RELAYLIST와 다른 것으로 호출되면 해당 발신자 그룹 이름으로 필터를 수정해야 합니다.또한 여러 리스너가 있는 경우 둘 이상의 MY_TRUSTED_SPOOF_HOSTS가 있을 수 있습니다.
배경 정보
스푸핑은 Cisco ESA에서 기본적으로 활성화되어 있습니다.다른 도메인이 귀하를 대신하여 전송되도록 허용하는 몇 가지 유효한 이유가 있습니다. ESA 관리자는 스푸핑된 메시지가 전달되기 전에 격리하여 스푸핑된 이메일을 제어할 수 있습니다.
스푸핑된 이메일에 대해 격리와 같은 특정 작업을 수행하려면 먼저 스푸핑된 이메일을 탐지해야 합니다.
이메일 스푸핑이란?
이메일 스푸핑은 메시지가 실제 소스 또는 다른 곳에서 시작된 것으로 표시되도록 이메일 헤더의 위조입니다.이메일 스푸핑은 피싱 및 스팸 캠페인에서 사용되는 전술입니다. 합법적인 소스에서 이메일을 전송했다고 생각되면 사용자가 이메일을 열 가능성이 높기 때문입니다.
스푸핑된 이메일을 탐지하는 방법
이메일 주소에 고유한 수신 도메인 중 하나를 포함하는 봉투 발신자(Mail-From) 및 "Friendly from"(From) 헤더가 있는 메시지를 필터링합니다.
특정 발신자에 대한 스푸핑을 허용하는 방법
이 문서에서 제공하는 메시지 필터를 구현할 때 스푸핑된 메시지는 헤더로 태그가 지정되며 콘텐츠 필터는 헤더에 대한 조치를 취하는 데 사용됩니다.예외를 추가하려면 발신자 IP를 MY_TRUSTED_SPOOF_HOSTS에 추가하면 됩니다.
구성
발신자 그룹 만들기
- ESA GUI에서 Mail Policies(메일 정책) > HAT Overview(HAT 개요)로 이동합니다.
- 클릭 추가.
- "Name(이름)" 필드에서 MY_TRUSTED_SPOOF_HOSTS를 지정합니다.
- "Order(주문)" 필드에 1을 지정합니다.
- "Policy(정책)" 필드에 ACCEPTED를 지정합니다.
- Submit(제출)을 클릭하여 변경 사항을 저장합니다.
- 마지막으로 Commit Changes(변경 사항 커밋)를 클릭하여 컨피그레이션을 저장합니다.
예: 
사전 만들기
ESA에서 스푸핑을 비활성화할 모든 도메인에 대한 사전을 생성합니다.
- ESA GUI에서 Mail Policies(메일 정책) > Dictionaries(사전)로 이동합니다.
- 클릭 사전을 추가합니다.
- "Name(이름)" 필드에서 'VALID_INTERNAL_DOMAINS'를 지정하여 메시지 필터를 복사하여 붙여넣는 오류 없이 작업을 수행합니다.
- "용어 추가"에서 스푸핑을 탐지할 모든 도메인을 추가합니다. 도메인 앞에 @ 기호가 있는 도메인을 입력하고 추가를 클릭합니다.
- "단어 전체 일치" 확인란이 선택되지 않았는지 확인합니다.
- Submit(제출)을 클릭하여 사전 변경 사항을 저장합니다.
- 마지막으로 Commit Changes(변경 사항 커밋)를 클릭하여 컨피그레이션을 저장합니다.
예:

메시지 필터 만들기
이제 방금 생성한 사전 "VALID_INTERNAL_DOMAINS"를 활용하려면 메시지 필터를 생성해야 합니다.
- ESA의 CLI(Command Line Interface)에 연결합니다.
- Filters 명령을 실행합니다.
- New 명령을 실행하여 새 메시지 필터를 생성합니다.
- 필요한 경우 실제 발신자 그룹 이름을 수정하여 다음 필터 예를 복사하여 붙여넣습니다.
mark_spoofed_messages:
if(
(mail-from-dictionary-match("VALID_INTERNAL_DOMAINS", 1))
OR (header-dictionary-match("VALID_INTERNAL_DOMAINS","From", 1)))
AND ((sendergroup != "RELAYLIST")
AND (sendergroup != "MY_TRUSTED_SPOOF_HOSTS")
)
{
insert-header("X-Spoof", "");
}
- 기본 CLI 프롬프트로 돌아가 Commit을 실행하여 컨피그레이션을 저장합니다.
- GUI > Mail Policies > Incoming Content Filters로 이동합니다.
- 스푸핑 헤더 X-Spoof에 대해 작업을 수행하는 수신 콘텐츠 필터 만들기:
-
다른 헤더 추가
-
헤더 이름:X 스푸프
-
헤더가 있음 라디오 버튼
- 작업 추가:duplicate-quarantine("Policy").
참고: 여기에 표시된 Duplicate(중복) 메시지 기능은 메시지의 복사본을 유지하고 원본 메시지를 수신자에게 계속 전송합니다.


- GUI > Mail Policies > Incoming Mail Policies에서 콘텐츠 필터를 수신 메일 정책에 연결
- 변경 사항 제출 및 커밋
MY_TRUSTED_SPOOF_HOSTS에 스푸핑 예외 추가
마지막으로 MY_TRUSTED_SPOOF_HOSTS 발신자 그룹에 스푸핑 예외(IP 주소 또는 호스트 이름)를 추가해야 합니다.
- 웹 GUI: Mail Policies(메일 정책) > HAT Overview(HAT 개요)를 통해 이동합니다.
- 을 클릭하고 MY_TRUSTED_SPOOF_HOSTS 발신자 그룹을 엽니다.
- "Add Sender.."를 클릭합니다. IP 주소, 범위, 호스트 이름 또는 부분 호스트 이름을 추가합니다.
- Submit(제출)을 클릭하여 발신자 변경 사항을 저장합니다.
- 마지막으로 Commit Changes(변경 사항 커밋)를 클릭하여 컨피그레이션을 저장합니다.
예:

다음을 확인합니다.
스푸핑된 메시지가 격리되는지 확인
도메인 중 하나를 봉투 발신자로 지정하는 테스트 메시지를 보냅니다.해당 메시지에 대한 메시지 트랙을 수행하여 필터가 예상대로 작동하는지 확인합니다.스푸핑이 허용된 발신자에 대해 아직 예외를 생성하지 않았으므로 메시지가 격리됩니다.
Thu Apr 23 07:09:53 2015 Info: MID 102 ICID 9 RID 0 To: <test_user@domain.com>
Thu Apr 23 07:10:07 2015 Info: MID 102 Subject 'test1'
Thu Apr 23 07:10:07 2015 Info: MID 102 ready 177 bytes from <user_1@example.com>
Thu Apr 23 07:10:07 2015 Info: MID 102 matched all recipients for per-recipient policy DEFAULT in the inbound table
Thu Apr 23 07:10:11 2015 Info: MID 102 interim verdict using engine: CASE spam negative
Thu Apr 23 07:10:11 2015 Info: MID 102 using engine: CASE spam negative
Thu Apr 23 07:10:11 2015 Info: MID 102 interim AV verdict using Sophos CLEAN
Thu Apr 23 07:10:11 2015 Info: MID 102 antivirus negative
Thu Apr 23 07:10:12 2015 Info: MID 102 quarantined to "Policy" (message filter:quarantine_spoofed_messages)
Thu Apr 23 07:10:12 2015 Info: Message finished MID 102 done
스푸핑 예외 메시지가 전달되는지 확인합니다.
"Spoof-Exception" 발신자는 위의 필터에서 참조되는 발신자 그룹의 IP 주소입니다.
RELAYLIST는 ESA에서 아웃바운드 메일을 보내는 데 사용되므로 참조됩니다.RELAYLIST에서 보내는 메시지는 일반적으로 아웃바운드 메일이며, 이를 포함하지 않으면 오탐 또는 위 필터에 의해 격리되는 아웃바운드 메시지가 생성됩니다.
MY_TRUSTED_SPOOF_HOSTS에 추가된 "Spoof-Exception" IP 주소의 메시지 추적 예필요한 작업은 전달되고 격리되지 않습니다.(이 IP는 스푸핑할 수 있습니다.)
Thu Apr 23 07:25:57 2015 Info: Start MID 108 ICID 11
Thu Apr 23 07:25:57 2015 Info: MID 108 ICID 11 From: <user_1@example.com>
Thu Apr 23 07:26:02 2015 Info: MID 108 ICID 11 RID 0 To: <test_user@domain.com>
Thu Apr 23 07:26:10 2015 Info: MID 108 Subject 'test2'
Thu Apr 23 07:26:10 2015 Info: MID 108 ready 163 bytes from <user_1@example.com>
Thu Apr 23 07:26:10 2015 Info: MID 108 matched all recipients for per-recipient policy DEFAULT in the inbound table
Thu Apr 23 07:26:10 2015 Info: MID 108 interim AV verdict using Sophos CLEAN
Thu Apr 23 07:26:10 2015 Info: MID 108 antivirus negative
Thu Apr 23 07:26:10 2015 Info: MID 108 queued for delivery
Thu Apr 23 07:26:10 2015 Info: Delivery start DCID 16 MID 108 to RID [0]
Thu Apr 23 07:26:11 2015 Info: Message done DCID 16 MID 108 to RID [0]
Thu Apr 23 07:26:11 2015 Info: MID 108 RID [0] Response '2.0.0 t58EVG9N031598 Message accepted for delivery'
Thu Apr 23 07:26:11 2015 Info: Message finished MID 108 done
관련 정보