Este documento descreve como criar um filtro de mensagem que compara o nome de usuário autenticado SMTP com o cabeçalho De: endereço.
A Cisco recomenda que você tenha conhecimento do Cisco AsyncOS para e-mail versão 15.0 e posterior.
A função de autenticação SMTP permite que os clientes usem a autenticação SMTP para que seus clientes de e-mail se conectem e enviem e-mails através do Cisco Email Security Appliance (ESA). Como o recurso permite que uma sessão autenticada retransmita e-mails de saída, um cliente pode falsificar o cabeçalho De: endereço. Para ajudar a evitar falsificação, o Cisco AsyncOS para Email versão 6.5 e posterior inclui uma condição de filtro de mensagem que compara o nome de usuário SMTP autenticado com o cabeçalho De: e registra o nome de usuário em um cabeçalho X.
A condição de filtro de mensagens permite que um administrador grave um filtro (por exemplo, a regra na próxima seção) que compara mensagens retransmitidas de saída durante uma sessão autenticada SMTP. Se as credenciais SMTP estiverem comprometidas, o cliente emissor geralmente gera vários cabeçalhos De: endereços. Esta condição permite que as mensagens sejam entregues somente quando o nome de usuário autenticado corresponder ao cabeçalho De: endereço; caso contrário, a mensagem será tratada como um cabeçalho falsificado De: e a ação de filtro de mensagens configurada é aplicada. A ação do filtro de mensagens pode ser qualquer ação final; a regra de exemplo usa uma ação de quarentena. A condição do filtro tem esta sintaxe:
smtp-auth-id-matches("<target>" [, "<sieve-char>"])
O parâmetro opcional sieve-char especifica um caractere delimitador (por exemplo, +) usado para ignorar a parte do endereço de comparação após esse caractere. Isso é comumente usado para endereçamento adicional, como mostrado na tabela.
O filtro permite uma comparação com um destes destinos:
| ID DE AUTENTICAÇÃO SMTP | SIEVE CHAR | ENDEREÇO DE COMPARAÇÃO | COMBINAÇÕES? |
|---|---|---|---|
| usuário | otheruser@example.com | No | |
| usuário | someuser@example.com | Yes | |
| usuário | someuser@face.localhost | Yes | |
| AlgumUsuário | someuser@example.com | Yes | |
| usuário | someuser+folder@example.com | No | |
| usuário | + | someuser+folder@example.com | Yes |
| someUser@example.com | someuser@forged.com | No | |
| someUser@example.com | someuser@example.com | Yes | |
| someUser@example.com | someuser@example.com | Yes |
Essa substituição de variável, $SMTPAuthID, permite a inclusão do nome de usuário autenticado em cabeçalhos de mensagens retransmitidas durante uma sessão SMTP autenticada.
Msg_Authentication: if (smtp-auth-id-matches("*Any"))
{
# Always include the original authentication credentials in a
# special header.
insert-header("X-SMTPAUTH", "$SMTPAuthID");
if (smtp-auth-id-matches("*FromAddress", "+") and
smtp-auth-id-matches("*EnvelopeFrom", "+"))
{
# Username matches. Verify the domain.
if (header('from') != "(?i)@example\.com" or mail-from != "(?i)@example\.com")
{
# User has specified a domain which cannot be authenticated.
quarantine("forged");
}
}
else
{
# User claims to be a completely different user.
quarantine("forged");
}
}
| Revisão | Data de publicação | Comentários |
|---|---|---|
1.0 |
11-Jun-2014
|
Versão inicial |