Este documento descreve como criar um filtro com base no usuário Autenticado SMTP (Simple Mail Transfer Protocol) e registrar o nome de usuário em um cabeçalho X.
A Cisco recomenda que você tenha conhecimento do AsyncOS versão 6.5 e posterior.
A função de autenticação SMTP permite que os clientes usem a autenticação SMTP para se conectarem e enviarem e-mails de dispositivos de segurança de e-mail (ESAs). Como o recurso permite que o usuário autenticado retransmita, é possível que os usuários forjem o campo "De:" em emails que enviam pelo Cisco ESA. Para impedir que os usuários forjem, o ESA AsyncOS Versão 6.5 e posterior agora contém uma condição de filtro de mensagens que permite comparações com o nome de usuário SMTP autenticado e o endereço de e-mail De.
A condição do filtro de mensagens permite que um administrador grave um filtro semelhante à regra de exemplo na próxima seção que compara emails que são enviados através de uma sessão de autenticação SMTP. Se as credenciais SMTP estiverem comprometidas, a máquina que envia os emails geralmente gera vários endereços a serem usados como o email De: cabeçalho. A condição do filtro de mensagens só permite que emails deixem se o nome de usuário e o email De: os cabeçalhos coincidem. Caso contrário, o e-mail é considerado um e-mail forjado De: e a ação do filtro de mensagens é ativada. A ação do filtro de mensagens pode ser qualquer ação final; a regra de exemplo mostra uma ação de quarentena. A condição do filtro tem esta sintaxe:
smtp-auth-id-matches("<target>" [, "<sieve-char>"])
O filtro permite uma comparação com um destes alvos:
ID AUTOMÁTICA SMTP | SIEVE CHAR | ENDEREÇO DE COMPARAÇÃO | CORRESPONDE? |
---|---|---|---|
usuário | otheruser@example.com | No | |
usuário | someuser@example.com | Yes | |
usuário | someuser@face.localhost | Yes | |
Alguns usuários | 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, foi criada para permitir a inclusão nos cabeçalhos das credenciais de autenticação originais usadas para retransmissão.
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|example\.com)" or mail-from !=
"(?i)@(?:example\.com|\.com)"
{
# User has specified a domain which cannot be authenticated
quarantine("forged");
}
} else {
# User claims to be an completely different user
quarantine("forged");
}
}
Note: Este filtro pressupõe que você tem uma quarentena chamada forged.