In diesem Dokument wird beschrieben, wie ein Nachrichtenfilter erstellt wird, der den vom SMTP authentifizierten Benutzernamen mit dem Header From: adresse.
Cisco empfiehlt, dass Sie über Kenntnisse von Cisco AsyncOS für E-Mail-Version 15.0 und höher verfügen.
Die SMTP-Authentifizierungsfunktion ermöglicht Kunden die Verwendung der SMTP-Authentifizierung für ihre E-Mail-Clients zum Herstellen einer Verbindung mit der Cisco E-Mail Security Appliance (ESA) und zum Senden von E-Mails über diese. Da eine authentifizierte Sitzung ausgehende E-Mails weiterleiten kann, kann ein Client den Header "Von" imitieren: adresse. Um Spoofing zu verhindern, enthält Cisco AsyncOS für E-Mail 6.5 und höher eine Nachrichtenfilterbedingung, die den authentifizierten SMTP-Benutzernamen mit dem Header From: Adresse und protokolliert den Benutzernamen in einem X-Header.
Die Nachrichtenfilterbedingung ermöglicht es einem Administrator, einen Filter (z. B. die Regel im nächsten Abschnitt) zu schreiben, der die während einer SMTP-authentifizierten Sitzung weitergeleiteten ausgehenden Nachrichten vergleicht. Wenn SMTP-Anmeldeinformationen kompromittiert werden, generiert der sendende Client häufig mehrere Header From: Adressen. Diese Bedingung ermöglicht die Zustellung von Nachrichten nur, wenn der authentifizierte Benutzername mit dem Header From: adresse; Andernfalls wird die Nachricht als gefälschter Header behandelt Von: und die konfigurierte Nachrichtenfilteraktion wird angewendet. Bei der Nachrichtenfilteraktion kann es sich um eine beliebige endgültige Aktion handeln. In der Beispielregel wird eine Quarantäneaktion verwendet. Die Filterbedingung hat folgende Syntax:
smtp-auth-id-matches("<target>" [, "<sieve-char>"])
Der optionale Parameter sieve-char gibt ein Trennzeichen (z. B. +) an, mit dem der Teil der Vergleichsadresse nach diesem Zeichen ignoriert wird. Dies wird häufig für die Plusadressierung verwendet, wie in der Tabelle dargestellt.
Der Filter ermöglicht einen Vergleich mit einem der folgenden Ziele:
| SMTP-AUTH-ID | SIEVE CHAR | VERGLEICHSADRESSE | ÜBEREINSTIMMUNGEN? |
|---|---|---|---|
| Benutzer | otheruser@example.com | Nein | |
| Benutzer | someuser@example.com | Ja | |
| Benutzer | someuser@face.localhost | Ja | |
| Benutzer | someuser@example.com | Ja | |
| Benutzer | someuser+folder@example.com | Nein | |
| Benutzer | + | someuser+folder@example.com | Ja |
| someUser@example.com | someuser@forged.com | Nein | |
| someUser@example.com | someuser@example.com | Ja | |
| someUser@example.com | someuser@example.com | Ja |
Diese Variablenersetzung, $SMTPAuthID, ermöglicht die Aufnahme des authentifizierten Benutzernamens in Nachrichtenheader für Nachrichten, die während einer authentifizierten SMTP-Sitzung weitergeleitet werden.
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");
}
}
| Überarbeitung | Veröffentlichungsdatum | Kommentare |
|---|---|---|
1.0 |
11-Jun-2014
|
Erstveröffentlichung |