In questo documento viene descritto come creare un filtro messaggi che confronti il nome utente autenticato SMTP con l'intestazione Da: indirizzo.
Cisco raccomanda la conoscenza di Cisco AsyncOS for Email versione 15.0 e successive.
La funzione di autenticazione SMTP consente agli utenti di utilizzare l'autenticazione SMTP per i client di posta elettronica e di connettersi a Cisco Email Security Appliance (ESA) e inviare messaggi. Poiché questa funzionalità consente a una sessione autenticata di inoltrare la posta in uscita, un client può eseguire lo spoofing dell'intestazione Da: indirizzo. Per impedire lo spoofing, Cisco AsyncOS for Email versione 6.5 e successive include una condizione del filtro messaggi che confronta il nome utente SMTP autenticato con l'intestazione From: e registra il nome utente in un'intestazione X.
La condizione del filtro messaggi consente a un amministratore di scrivere un filtro (ad esempio, la regola della sezione successiva) che confronta i messaggi inoltrati in uscita durante una sessione di autenticazione SMTP. Se le credenziali SMTP vengono compromesse, il client di invio genera spesso più intestazioni Da: indirizzi. Questa condizione consente di recapitare i messaggi solo quando il nome utente autenticato corrisponde all'intestazione Da: indirizzo; In caso contrario, il messaggio verrà considerato come un'intestazione falsificata Da: e viene applicata l'operazione filtro messaggi configurata. L'operazione filtro messaggi può essere qualsiasi azione finale; la regola di esempio utilizza un'azione di quarantena. La condizione del filtro ha la seguente sintassi:
smtp-auth-id-matches("<target>" [, "<sieve-char>"])
Il parametro facoltativo sieve-char specifica un carattere delimitatore (ad esempio, +) utilizzato per ignorare la parte dell'indirizzo di confronto successiva a tale carattere. Viene in genere utilizzato per l'indirizzamento con segno più, come illustrato nella tabella.
Il filtro consente un confronto con una delle seguenti destinazioni:
| ID AUTENTICAZIONE SMTP | CARATTERE SETACCIO | INDIRIZZO DI CONFRONTO | CORRISPONDENZE? |
|---|---|---|---|
| utente | otheruser@example.com | No | |
| utente | someuser@example.com | Sì | |
| utente | someuser@face.localhost | Sì | |
| UtenteNonAttivo | someuser@example.com | Sì | |
| utente | someuser+folder@example.com | No | |
| utente | + | someuser+folder@example.com | Sì |
| someUser@example.com | someuser@forged.com | No | |
| someUser@example.com | someuser@example.com | Sì | |
| someUser@example.com | someuser@example.com | Sì |
La sostituzione di questa variabile, $SMTPAuthID, consente di includere il nome utente autenticato nelle intestazioni dei messaggi inoltrati durante una sessione SMTP autenticata.
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");
}
}
| Revisione | Data di pubblicazione | Commenti |
|---|---|---|
1.0 |
11-Jun-2014
|
Versione iniziale |