In dit document wordt beschreven hoe u een berichtenfilter maakt waarmee de door SMTP geverifieerde gebruikersnaam wordt vergeleken met de koptekst Van: adres.
Cisco raadt u aan kennis te hebben van Cisco AsyncOS for Email versie 15.0 en hoger.
Met de SMTP-verificatiefunctie kunnen klanten SMTP-verificatie gebruiken voor hun e-mailclients om verbinding te maken met en e-mail te verzenden via de Cisco Email Security Appliance (ESA). Omdat de functie een geverifieerde sessie toestaat om uitgaande e-mail door te geven, kan een client de koptekst Van: adres vervalsen. Om spoofing te voorkomen, bevat Cisco AsyncOS for Email versie 6.5 en hoger een berichtenfiltervoorwaarde die de geverifieerde SMTP-gebruikersnaam vergelijkt met de koptekst Van: adres en de gebruikersnaam registreert in een X-koptekst.
Met de conditie van het berichtenfilter kan een beheerder een filter schrijven (bijvoorbeeld de regel in de volgende sectie) waarmee berichten worden vergeleken die tijdens een SMTP-geverifieerde sessie naar buiten worden verzonden. Als SMTP-referenties worden aangetast, genereert de verzendende client vaak meerdere header Van: adressen. Met deze voorwaarde kunnen berichten alleen worden verzonden wanneer de geverifieerde gebruikersnaam overeenkomt met de koptekst Van: adres; anders wordt het bericht behandeld als een vervalste koptekst Van: en wordt de geconfigureerde berichtenfilteractie toegepast. De berichtenfilteractie kan elke laatste actie zijn; de voorbeeldregel gebruikt een quarantaineactie. De filtervoorwaarde heeft deze syntaxis:
smtp-auth-id-matches("<target>" [, "<sieve-char>"])
De optionele parameter zeef-char geeft een scheidingsteken (bijvoorbeeld +) op dat wordt gebruikt om het gedeelte van het vergelijkingsadres na dat teken te negeren. Dit wordt vaak gebruikt voor plus-adressering, zoals weergegeven in de tabel.
Het filter maakt een vergelijking mogelijk met een van deze doelen:
| ID SMTP-AUDITS | ZEEFCHAR | VERGELIJKINGSADRES | WEDSTRIJDEN? |
|---|---|---|---|
| sommige gebruikers | otheruser@example.com | Nee | |
| sommige gebruikers | someuser@example.com | Ja | |
| sommige gebruikers | someuser@face.localhost | Ja | |
| Sommige gebruikers | someuser@example.com | Ja | |
| sommige gebruikers | someuser+folder@example.com | Nee | |
| sommige gebruikers | + | someuser+folder@example.com | Ja |
| someUser@example.com | someuser@forged.com | Nee | |
| someUser@example.com | someuser@example.com | Ja | |
| someUser@example.com | someuser@example.com | Ja |
Deze variabele substitutie, $SMTPAuthID, maakt het mogelijk om de geverifieerde gebruikersnaam op te nemen in berichtkoppen voor berichten die worden doorgegeven tijdens een geverifieerde SMTP-sessie.
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");
}
}
| Revisie | Publicatiedatum | Opmerkingen |
|---|---|---|
1.0 |
11-Jun-2014
|
Eerste vrijgave |