Ausgangssituation:
Das SEPPmail Secure E-Mail Gateway wird als mandantenfähiges System (siehe Customers) betrieben. Anforderung der Mandanten ist, alle E-Mails mit einem Verschlüsselungskennzeichen zwischen den Mandanten mittels GINA-Technologie zu verschlüsseln.
Konfigurationsvorschlag
•Navigieren zu Mail Processing Ruleset generator Custom Commands Custom commands for incoming e-mails BEFORE decryption:
•Einfügen des folgenden Codes in das Eingabefeld:
Zeile |
Code |
|---|---|
01 |
# Begin: Custom commands for incoming e-mails BEFORE decryption |
02 |
log(1,'Begin: Custom commands for incoming e-mails BEFORE decryption'); |
03 |
if (from_managed_domain()) { |
|
|
04 |
if (compare('x-smenc','equal','yes')) { |
05 |
log(1,'Encryption requested by Add-In, set x-header for GINA encryption'); |
06 |
setheader('x-smwebmail','yes'); |
07 |
rmheader('x-smenc'); |
08 |
} |
|
|
09 |
if (compare('subject','substitute','@TRIGGERTEXT@')) { |
10 |
log(1,'Encryption requested by tag @TRIGGERTEXT@, set x-header for GINA encryption'); |
11 |
setheader('x-smwebmail','yes'); |
12 |
} |
|
|
13 |
if (compare('sensitivity','equal','companyconfidential')) { |
14 |
log(1,'Encryption requested by sensitivity flag, set x-header for GINA encryption'); |
15 |
setheader('x-smwebmail','yes'); |
16 |
rmheader('sensitivity'); |
17 |
} |
|
|
18 |
if (compare('subject','substitute','\[priv\]')) { |
19 |
log(1,'GINA encryption requested by tag [priv], set x-header for GINA encryption'); |
20 |
setheader('x-smwebmail','yes'); |
21 |
} |
|
|
22 |
if (compare('x-smwebmail','equal','yes')) { |
23 |
log(1,'Encrypting with GINA technology'); |
24 |
rmheader('x-smwebmail'); |
25 |
compare('subject','substitute','\[.*?\].*?'); |
26 |
createaccount(); |
27 |
createkeys('@CREATEGPGKEYS@'); |
28 |
$createwebuser; |
29 |
if (encrypt_webmail()) { |
30 |
@TAGSIGNED@ |
31 |
} else { |
32 |
log(1,'webmail encryption failed'); |
33 |
drop ('550','Mail not accepted'); |
34 |
} |
35 |
} |
|
|
36 |
} |
37 |
log(1,'End: Custom commands for incoming e-mails BEFORE decryption'); |
38 |
# End: Custom commands for incoming e-mails BEFORE decryption |
Beschreibung
Zunächst wird hier geprüft, ob die E-Mail von einer bekannten E-Mail-Domäne (siehe Mail System Managed domains) stammt (Zeile 03). In den nächsten Schritten wird jeweils geprüft, ob vom Absender ein anderes Verschlüsselungsmerkmal als der X-Header für die GINA-Verschlüsselung gesetzt wurde (Zeile 04, 09, 13, 18). Sollte ein anderes Verschlüsselungsmerkmal vorhanden sein, so wird dieses jeweils in den X-Header für das Triggern der GINA-Verschlüsselung umgesetzt, protokolliert und der Ursprungstrigger entfernt (Zeile 04-07, 9-11, 13-16, 18-20).
Abschließend wird nun auf den X-Header für die GINA-Verschlüsselung (x-smwebmail) geprüft (Zeile 22). Ist dieser vorhanden, so wird dies protokolliert (Zeile 23), der X-Header entfernt (Zeile 24), alle eventuell noch vorhandenen Betreffzeilen Schlüsselwörter (im Beispiel müssten diese jeweils in eckigen Klammern [] stehen) entfernt (Zeile 25), ein Benutzer angelegt, sofern nicht bereits vorhanden (Zeile 26, 27), ein GINA-Account angelegt, sofern nicht bereits vorhanden (Zeile 28), und die E-Mail GINA verschlüsselt (Zeile 29). War das Verschlüsseln erfolgreich, so wird (optional) die E-Mail als erfolgreich signiert gekennzeichnet (Zeile 30). Andernfalls wird das Fehlschlagen der Verschlüsselung protokolliert (Zeile 32) und die Email verworfen (Zeile 33).
Variationen
Zurückweisen von E-Mails bei Fehlschlagen der GINA-Verschlüsselung anstatt diese zu verwerfen.
Hierfür ist folgende Zeile wie folgt zu ändern:
Zeile |
Code |
|---|---|
33 |
bounce('bounce_noenc'); |
Verwendete
Befehle
Funktionen