Einrichtung Nachforderungsmails für Security Fehler aus dem Fastlane Security Server

Der Zweck dieses Features ist das Versenden von Mails bei ungültiger Verschlüsselung und/oder Signatur, entweder weil die Nachricht gar nicht verarbeitet werden konnte (Fehler im VS) oder weil die Nachricht per Regelwerk eingespielt wurde (Fehler im CC). Die nachfolgende Dokumentation beschreibt hierfür die Einrichtung zweier neuer CCM-Arbeitsvorräte inklusive der Konfiguration der Nachforderungsmails. Die zwei Abeitsvorräte unterscheiden sich dahingehend, dass der erste AV auf Nachrichten abzielt, welche nicht verarbeitet wurden (Nachrichten, die sich im CRYPTO_ERROR_CHANNEL befinden), während der zweite AV Nachrichten selektiert, welche durch das Regelwerk verarbeitet wurden.

Vorraussetzungen

Diese Dokumentation setzt ein eingerichtetes CCM inklusive funktionierendem Hintergrundjobs und Nachforderungsmanagement (NFM) voraus.

Ebenso muss ein installierter Fastlane Security Server (FSS) vorhanden sein. Werden Nachrichten per Regelwerk behandelt, so müssen die gesetzten Clearing Codes wie folgt gesetzt sein: CW5.1 => W51 oder CE3.1 => E31, usw.

Zudem sollte geprüft werden, ob die Extension B3P_CCM_CHANNELS die Channels CRYPTO_ERROR_CHANNEL und CRYPTO_ERROR_CHANNEL_OUBOUND (bzw. deren Äquivalente) gelistet hat. Falls nicht, müssen diese hinzugefügt werden.

Weiterhin muss geprüft werden, ob der CCM_SCHEDULER Service, der für die Ausführung der eingeplanten Jobs und damit auch für den Mailversand zuständig ist, die Property B3P_MAIL_TEXTURE_PROVIDER im CCM_SCHEDULER Service auf “org.b2bbp.administration.process.monitoring.autoprocess.MailTextureProviderCVS” gesetzt hat. Dies ist notwendig, damit beim Mailversand auch CSV-Anhänge mitgeschickt werden.

Anlegen der Arbeitsvorräte

Die nachfolgenden Arbeitsvorratsdefinitionen müssen der Extension FLEXIBLE_INDEX_UI hinzugefügt werden.

FSS Errors / Warnings (ohne Regelwerk)

###################################################################
# NLI-Variant: FSS Errors / Warnings (ohne Regelwerk)
###################################################################
#VARIANT-START FSS_ERRORS_WARNINGS $PRE
ACTION=SEARCH
ACTION.modifier=SUPRESS_WARNINGS
ACTION.claimType=FSS.ERROR
ACTION.docFilter=org.b2bbp.administration.process.monitoring.autoprocess.RefDocumentFilterNotified

#DISPLAY-START
#first column is master column
Format.PartnerCode=Partner
VS=VS;{renderer=com.nextlevel.faces.pm.ui.renderer.StateItemRenderer;width=50}
BS=BS;{renderer=com.nextlevel.faces.pm.ui.renderer.AckItemRenderer;width=50}
CC=B2B CS
CC2=CCM CS
Format.system=System
Format.Direction=Richtung;{renderer=com.nextlevel.faces.pm.ui.renderer.DirectionItemRenderer;width=50}
Format.ReferenceId=Ref Nr.
CHANNEL=Channel
Header.B3P.Date=Datum;{renderer=com.nextlevel.faces.pm.ui.renderer.DateItemRenderer}
Header.B3P.Time=Uhrzeit;{renderer=com.nextlevel.faces.pm.ui.renderer.TimeItemRenderer}
Header.Format.Typ=Format
NOTIF.FSS.ERROR=NOTIF
NOTIF.FSS.ERROR.SENDDATE=NOTIF Datum;{renderer=com.nextlevel.faces.pm.ui.renderer.DateTimeItemRenderer}
B3P.MessageId=Message ID
$refDoc.type=Format.ReferenceId
#DISPLAY-END

#CORRELATE-START
#CORRELATE-END

#STATECHECK-START GREEN
external:com.nextlevel.ccm.indexing.precorrelate.statecheck.DummyRedStateCheck.java
#STATECHECK-END

#SEARCHFILTER-START
Datum[date0,date1;Date]{inboxVisible=true}>Header.B3P.Date:[{date0} TO {date1}]
Partner[partner0;String]{newRow=true;width=120;inboxVisible=true}>Format.PartnerCode:{partner0}
Ref.Nr[ref0;String]{width=140;inboxVisible=true}>Format.ReferenceId:{ref0}
Format[formatTyp0;String]{width=80;inboxVisible=true}>Header.Format.Typ:{formatTyp0}
Richtung[dir0;Boolean]{inboxVisible=true}>Format.Direction:{dir0}
System[sender0;String]{newRow=true;width=120;inboxVisible=true}>Format.system:{sender0}
CCM CC[cc20;String]{inboxVisible=true}>CC2:{cc20}
VS[vs1;String]{inboxVisible=true}>VS:{vs1}
Notif[not0;Check]{inboxVisible=true}>NOTIF.FSS.ERROR:{not0}
VS[vs0;String]{visible=false}>(VS:CE* OR VS:CW*) AND (TYPE:Header)
#SEARCHFILTER-END
#VARIANT-END

FSS Errors / Warnings (per Regelwerk bearbeitet)

###################################################################
# NLI-Variant: FSS Errors / Warnings (per Regelwerk bearbeitet)
###################################################################
#VARIANT-START FSS_ERRORS_WARNINGS_RULE $PRE
ACTION=SEARCH
ACTION.modifier=SUPRESS_WARNINGS
ACTION.claimType=FSS.ERROR
ACTION.docFilter=org.b2bbp.administration.process.monitoring.autoprocess.RefDocumentFilterNotified

#DISPLAY-START
#first column is master column
Format.PartnerCode=Partner
VS=VS;{renderer=com.nextlevel.faces.pm.ui.renderer.StateItemRenderer;width=50}
BS=BS;{renderer=com.nextlevel.faces.pm.ui.renderer.AckItemRenderer;width=50}
CC=B2B CS
CC2=CCM CS
Format.system=System
Format.Direction=Richtung;{renderer=com.nextlevel.faces.pm.ui.renderer.DirectionItemRenderer;width=50}
Format.ReferenceId=Ref Nr.
CHANNEL=Channel
Header.B3P.Date=Datum;{renderer=com.nextlevel.faces.pm.ui.renderer.DateItemRenderer}
Header.B3P.Time=Uhrzeit;{renderer=com.nextlevel.faces.pm.ui.renderer.TimeItemRenderer}
Header.Format.Typ=Format
NOTIF.FSS.ERROR=NOTIF
NOTIF.FSS.ERROR.SENDDATE=NOTIF Datum;{renderer=com.nextlevel.faces.pm.ui.renderer.DateTimeItemRenderer}
B3P.MessageId=Message ID
$refDoc.type=Format.ReferenceId
#DISPLAY-END

#CORRELATE-START
#CORRELATE-END

#STATECHECK-START GREEN
external:com.nextlevel.ccm.indexing.precorrelate.statecheck.DummyRedStateCheck.java
#STATECHECK-END

#SEARCHFILTER-START
Datum[date0,date1;Date]{inboxVisible=true}>Header.B3P.Date:[{date0} TO {date1}]
Partner[partner0;String]{newRow=true;width=120;inboxVisible=true}>Format.PartnerCode:{partner0}
Ref.Nr[ref0;String]{width=140;inboxVisible=true}>Format.ReferenceId:{ref0}
Format[formatTyp0;String]{width=80;inboxVisible=true}>Header.Format.Typ:{formatTyp0}
Richtung[dir0;Boolean]{inboxVisible=true}>Format.Direction:{dir0}
System[sender0;String]{newRow=true;width=120;inboxVisible=true}>Format.system:{sender0}
CCM CC[cc20;String]{inboxVisible=true}>CC2:{cc20}
B2B CC[cc1;String]{inboxVisible=true}>CC:{cc1}
Notif[not0;Check]{inboxVisible=true}>NOTIF.FSS.ERROR:{not0}
CC[cc0;String]{visible=false}>(CC:E* OR CC:W*) AND (TYPE:Header)
#SEARCHFILTER-END
#VARIANT-END

Anlegen der zugehörigen Rollenattribute

Für die 2 neuen Arbeitsvorräte müssen dann die passenden Rollenattribute eingerichtet und vergeben werden:

Inbox_PROCMON_FSS_ERRORS_WARNINGS InboxViewDefinition={type=Inbox_PROC_MON,id=FSS_ERROR_WARNINGS,title=Security Server Fehler (ohne Regelwerk),params=[VARIANT:'FSS_ERRORS_WARNINGS $PRE']}

Inbox_PROCMON_FSS_ERRORS_WARNINGS_RULE InboxViewDefinition={type=Inbox_PROC_MON,id=FSS_ERROR_WARNINGS_RULE,title=Security Server Fehler (per Regelwerk bearbeitet),params=[VARIANT:'FSS_ERRORS_WARNINGS_RULE $PRE']}

Die Funktionsfähigkeit der neuen AVs sollte kurz durch ein Laden (vorher den Browser neu laden) der neuen AVs überprüft werden.

Konfiguration des NFM für die neuen Arbeitsvoräte

Als nächstes muss die Extension B3P_AV_CONFIG_MAP, um die folgenden Einträge ergänzt werden:

FSS_ERRORS_WARNINGS\u0020$PRE=FSS_ERRORS_WARNINGS_CONF
FSS_ERRORS_WARNINGS_RULE\u0020$PRE=FSS_ERRORS_WARNINGS_RULE_CONF

Nachfolgend werden die folgenden Extensions mit dem passenden Inhalt angelegt.

FSS_ERRORS_WARNINGS_CONF

mpid_mail_template=<email_template>
email_body_extension=FSS_ERRORS_WARNINGS_MAIL_BODY
subject=Fehler bei der Entschlüsselung und/oder in der Signaturprüfung
b3p_attatchment_type=csv
b3p_attatchment_name=Security_Warnungen
b3p_attatchment_seperator=;
b3p_attatchment_content_seperator=;
b3p_attatchment_header=System;Partner;Datum;Uhrzeit;Referenznr.;VS;Fehlertext
b3p_attatchment_column=Format.system;Format.PartnerCode;Header.B3P.Date;Header.B3P.Time;Format.ReferenceId;VS;${elp(FSS_ERRORS_WARNINGS_TEXTS,${template(&(this.VS))})}

FSS_ERRORS_WARNINGS_RULE_CONF

mpid_mail_template=<email_template>
email_body_extension=FSS_ERRORS_WARNINGS_RULE_MAIL_BODY
subject=Fehler bei der Entschlüsselung und/oder in der Signaturprüfung (ihre Nachricht wurde trotzdem verarbeitet)
b3p_attatchment_type=csv
b3p_attatchment_name=Security_Warnungen
b3p_attatchment_seperator=;
b3p_attatchment_content_seperator=;
b3p_attatchment_header=System;Partner;Datum;Uhrzeit;Refernznr.;CC;Fehlertext
b3p_attatchment_column=Format.system;Format.PartnerCode;Header.B3P.Date;Header.B3P.Time;Format.ReferenceId;CC;${elp(FSS_ERRORS_WARNINGS_TEXTS,${template(&(this.CC))})}

FSS_ERRORS_WARNINGS_MAIL_BODY

Ihre Nachricht(en) konnte(n) nicht entschlüsselt werden oder die Signatur nicht geprüft werden.
Genauere Informationen entnehmen Sie bitte der anhängenden CSV Datei.

FSS_ERRORS_WARNINGS_RULE_MAIL_BODY

Ihre Nachricht(en) konnte(n) nicht korrekt entschlüsselt oder die Signatur nicht geprüft werden. Durch eine konfigurierte Ausnahme war das Einspielen Ihrer Nachricht dennoch möglich, jedoch bitten wir Sie, die in der CSV gelisteten Fälle zu prüfen und für die Zukunft zu korrigieren.

FSS_ERRORS_WARNINGS_TEXTS

CE0=Es ist ein allgemeiner Fehler bei der Entschlüselung bzw. Signaturprüfung Ihrer Nachricht aufgetreten. Bitte treten Sie mit uns in Kontakt.
CE1=Ihre Nachricht konnte nicht entschlüsselt werden. Bitte stellen Sie sicher, dass Sie die Nachricht mit dem korrekten Zertifikat verschlüsseln und treten Sie mit uns in Kontakt.
CE2=Die Nachricht war unverschlüsselt. Bitte verschlüsseln Sie Ihre Marktkommunikation mit uns.
CE3=Die Nachricht konnte nicht verschlüsselt werden. Bitte treten Sie mit uns in Kontakt.
CE6=Die Nachricht könnte durch einen Virus korrumpiert worden sein. Bitte treten Sie mit uns in Kontakt.
CE9=Es gibt ein Problem bei der Behandlung einer AS/2 Nachricht. Bitte treten Sie mit uns in Kontakt.
CW4=Es gibt ein Problem bei der Prüfung der Signatur der Nachricht. Bitte stellen Sie sicher, dass ihre Nachricht korrekt signiert wurde.
CW5=Für das in der Signatur verwendete Zertifikat gibt es ein Problem mit der Zertfikatskette. Bitte senden Sie uns alle für die Signaturprüfung notwendigen Zertifikate zu.
CW6=Beim Prüfen der Sperrliste Ihres Zertifkats ist ein Fehler aufgetreten. Bitte treten Sie mit uns in Kontakt.
CW7=Das von Ihnen verwendete Zertifikat scheint invalide. Dies passiert z.B. bei fehlenden Verwendungszwecken (Signatur und Verschlüsselung) oder bei abgelaufener Gültigkeit. Bitte treten Sie mit uns in Kontakt.
E19=Fehler beim Entschlüsseln einer eingehenden Nachricht. Bitte treten Sie mit uns in Kontakt.
E20=Die Nachricht war unverschlüsselt. Bitte verschlüsseln Sie Ihre Marktkommunikation mit uns.
E30=Die ausgehende Nachricht war unverschlüsselt. Bitte pflegen sie ein passendes Zertifikat für den Marktpartner
E31=Das Zertifkat mit dem die Nachricht verschlüsselt werden sollte ist nicht valide (abgelaufen). Bitte fordern Sie beim Marktpartner ein aktuelles Zertifikat an.
E39=Ein Fehler beim Verschlüsseln der Nachricht ist aufgetreten. Bitte wenden Sie sich an Ihren Administrator.
E40=Sie versuchen eine Nachricht zu signieren ohne den zugehörigen private Schlüssel. Bitte spielen Sie den passenden privaten Schlüssel ein.
E90=Fehler bei der Verarbeitung einer AS2 Nachricht. Bitte wenden Sie sich an Ihren Administrator.
W39=Fehler bei der Signierung einer ausgehenden Nachricht. Bitte wenden Sie sich an Ihren Administrator.
W40=Die Nachricht war nicht signiert. Bitte signieren Sie Ihre Marktkommunikation mit uns.
W41=Die Email wurde signiert, es konnte jedoch kein passendes Zertifikat gefunden werden. Bitte senden Sie uns ein passendes Zertifikat zu.
W42=Eine unerwartete Ausnahme ist während der Signaturprüfung aufgetreten. Bitte treten Sie mit uns in Kontakt.
W43=Invalider CMS Inhalt, Fehler in der Emailstruktur. Bitte treten Sie mit uns in Kontakt.
W44=Bei der Prüfung der Signatur ist ein Fehler aufgetreten. Bitte treten Sie mit uns in Kontakt.
W45=Die Email konnte nicht signiert werden. Bitte treten Sie mit uns in Kontakt.
W49=Fehler bei der Signaturprüfung einer eingehenden Nachricht. Bitte treten Sie mit uns in Kontakt.
W50=Das Zertifikat zur Signaturprüfung wurde gefunden, nicht jedoch das zugehörige Wurzelzertifikat. Bitte nennen Sie uns das passende Wurzelzertifikat.
W51=Das Zertifikat zur Signaturprüfung wurde gefunden, nicht jedoch das Ausstellerzertifikat. Bitte nennen Sie uns das passende Ausstellerzertifikat.
W52=Es wurden mehrere mögliche Wurzelzertifikate gefunden. Bitte nennen Sie uns das passende Wurzelzertifikat.
W53=Das Wurzelzertifikat ist keine Zertifikatsauthorität. Bitte lassen Sie Ihr Zertifikat durch eine zertifizierte Stelle signieren.
W54=Das für die Signatur verwendete Zertifikat fehlt. Bitte senden Sie uns ein passendes Zertifikat zu.
W55=Die Zertifikatskette ist unvollständig. Bitte senden Sie uns alle für die Signaturprüfung notwendigen Zertifikate zu.
W61=Ein Zertifikat muss durch eine übergeordnete Zertifikatsauthorität sperrbar sein. Hierfür muss es mindestens einen HTTP Link zu seiner Sperrliste angeben. Die exklusive Verwendung von LDAP Links zu Sperrlisten ist nicht ausreichend. Bitte treten Sie mit uns in Kontakt.
W62=Die Sperrliste des Zertifikats konnte seit mind. 3 Tagen nicht mehr abgerufen werden. Es kann nicht geprüft werden, ob das Zertifikat gesperrt ist.
W63=Das Zertifikat wurde durch die Sperrliste gesperrt. Bitte treten Sie mit Ihrem Zertifikatsherausgeber in Kontakt.
W69=Bei der Prüfung der Sperrliste ist ein unerwarteter Fehler aufgetreten. Bitte treten Sie mit uns in Kontakt.
W71=Das Zertifikat verfügt nicht über den Verwendungszweck 'Verschlüsselung'. Bitte lassen Sie sich durch Ihren Zertifkatsherausgeber ein neues Zertifkat mit dem genannten Verwendungszweck ausstellen.
W72=Das Zertifikat verfügt nicht über den Verwendungszweck 'Signatur'. Bitte lassen Sie sich durch Ihren Zertifkatsherausgeber ein neues Zertifkat mit dem genannten Verwendungszweck ausstellen.
W73=Das Zertifikat darf nur innerhalb seines Gültigkeitszeitraums verwendet werden. Dieser darf maximal 3 Jahre betragen. Bitte treten Sie mit uns in Kontakt.
W74=Die Zeitscheibe des Signaturzertifikats wurde verletzt. Bitte treten Sie mit uns in Kontakt.
W75=Die Zeitscheibe des Zertifikats wurde verletzt. (Verschlüsselung/Entschlüsselung/Signierung). Bitte treten Sie mit uns in Kontakt.
W81=Der verwendete Algorithmus für die Inhaltsverschlüsselung ist unzureichend. Es sind nur die Algorithmen AES-128 CBC und AES-192 CBC erlaubt.
W82=Der verwendete Algorithmus für die Schlüsselverschlüsselung ist unzureichend. Es is nur der Algorithmus RSAES-OAEP erlaubt.
W83=Der verwendete Hash-Algorithmus für die Email-Signatur ist unzureichend. Es sind nur die Algorithmen SHA-256 oder SHA-512 erlaubt.
W84=Der verwendete Signatur-Algorithmus für die Email-Signatur ist unzureichend. Es is nur der Algorithmus RSASSA-PSS erlaubt.
W90=Keine Warnung und kein Fehler.
View Me   Edit Me