• Bewerte uns auf OMR Reviews: Klick

  • NSP Forum als App inkl. Push Nachrichten (iOS): Klick

  • Wichtige Information für alle, die noch nicht auf v14.0.5.39 sind:

    Cyren Antimalware kann nicht mehr verwendet werden. Unsere Lizenz ist endgültig deaktiviert, so dass der Dienst nicht mehr nutzbar ist.
    Bitte stellt sicher, dass ihr schnellstmöglich auf die aktuelle Version aktualisiert. Bis es so weit ist, empfehlen wir die Cyren Antimalware Aktion zu deaktivieren und mindestens den lokalen Virenscanner zu aktivieren. Sollte kein anderer Scanner als Cyren aktiv sein, kommt es unweigerlich zur Abweisung von E-Mails.

    Zusätzlich raten wir dazu, die Cyren Filter zu deaktivieren, hier ist der Einfluss zwar geringer, solange alle anderen Filter korrekt durchlaufen, aber im Problemfall kommt es ebenfalls zur Abweisung.

     

    Unser Blogbeitrag wird in Kürze ebenfalls aktualisiert.

    Beste Grüße
    Euer NoSpamProxy Team

  • Achtet bitte in den Beiträgen darauf, dass ihr keine Informationen teilt, die der DSGVO unterliegen können. Verpixelt bitte die entsprechenden Stellen in Screenshots, postet hier auf keinen Fall Messagatracks ohne Rücksprache und auch in den Log Files können persönliche oder sensible Daten enthalten sein.

    Macht uns auch bitte per PN darauf aufmerksam wenn ihr etwas seht. Schreibt mich (@sören) einfach direkt an. 

Problem nach Update auf 14.1.0

mabu

Well-known member
Mist. Irgendwie läuft es nach dem Update von 14.0.5 auf 14.1.0.100 doch nicht so wirklich.

Vielleicht liest das hier ja auch am Samstag jemand. Daher schreib ich mal, welches Problem vorliegt, bevor ich mich gleich weiter damit beschäftige.

Update lief problemlos durch. Beim SQL-user hatte ich erst noch ein Problem (CONTROL-Recht hat gefehlt - habe dem SQL-User in der NSP-Datenbank auf dem separaten SQL-Server dann mal in db_owner genommen und dann konnte Update auch gestartet werden).

NCC läuft - von Anzeigen her auch okay.

Es werden aber keine Mails verschickt und es kommen auch keine im Exchange an. Nachrichtenverfolgung zeigt auch nichts.

Auf DMZ-Server (also GW-Rolle) gibt es aber eine Warnung:
An unexpected error occurred while processing replication artifacts. Please report this error to the NoSpamProxy support.

Error: Die Zeichenfolge enthält ein nicht darstellbares Zeichen.

Message:
Die Zeichenfolge enthält ein nicht darstellbares Zeichen.

Error type:
System.Security.Cryptography.CryptographicException

Error code: 2148081697
Program location:
bei System.Security.Cryptography.X509Certificates.X500DistinguishedName.Encode(String distinguishedName, X500DistinguishedNameFlags flag)
bei System.Security.Cryptography.X509Certificates.X500DistinguishedName..ctor(String distinguishedName, X500DistinguishedNameFlags flag)
bei Netatwork.NoSpamProxy.Security.X509Certificates.X509Certificate2Extension.GetAssociatedEmailAddresses(IX509CertificateInfo certificate)
bei Netatwork.NoSpamProxy.Cryptography.Certificates.DatabaseCertificateStore.<>c__DisplayClass35_1.<Add>b__4(IX509CertificateInfo cert)
bei System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
bei System.Linq.Buffer`1..ctor(IEnumerable`1 source)
bei System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
bei InfiniTec.Collection.Generic.EnumerableExtension.MaterializeIfRequired[T](IEnumerable`1 instance)
bei Netatwork.NoSpamProxy.Cryptography.Certificates.DatabaseCertificateStore.Add(Int32 tenantId, IEnumerable`1 certificates, Boolean replicateCertificate)
bei Netatwork.NoSpamProxy.Cryptography.Certificates.GatewayRoleCertificateService.ProcessCertificateUpdates(ReplicationData`1 data)
bei Netatwork.NoSpamProxy.Replication.ReplicationService.ExecuteHandler(Func`1 handler, Type artifactType)


Muss was mit einem Zertifikat sein. Reboot bringt keine Änderung. Noch habe ich keine Idee.

Ich schaue auch gleich mal im Forum. Aber rein mit der Eventlog-Meldung gab es keinen Treffer.
 
Das sieht mir ganz danach aus als hättest du ein "komisches" Zertifikat was nicht verarbeitet werden kann....
Da kann ich leider grade zwischen Tür und Angel (bin auf der Heimreise) nicht viel helfen.

In den Artefakten (Intranet Rolle) müsste in bei "TOP 512 ... ORDER BY RowVersion ASC" eines von der Zertifikaten bei sein welches den Fehler verursacht.

Wenn es geht würde ich spontan sagen geh zurück auf einen Snapshot oder falls du 24/7 Support hast eskalier an dieser Stelle.
Ansonsten wirst du durch den stehenden E-Mail Verkehr wohl nur ärger bekommen :S
 
Danke Dir und gute Heimreise.

Habe zwar Snapshots. Aber auch eine externe SQL-Datenbank (auch da ein Backup von gemacht zum Zeitpunkt der Snapshot). Aber so wirklich traue ich mich da gerade nicht ran, das wieder alles zurückzuspielen, muss ich zugeben. Vor allem, da ich für "Snapshots zurück" jemanden aus dem RZ brauche und da wird es langsam knapp.

Ich hoffe einfach drauf, dass ich da Montag früh an Euren Support komme. Und in Nds ist ja auch noch Brückentag. Hoffnung stirbt zuletzt.

In den Artefakten (Intranet Rolle) müsste in bei "TOP 512 ... ORDER BY RowVersion ASC" eines von der Zertifikaten bei sein welches den Fehler verursacht.
Kannst Du mir hier noch ein paar Stichworte geben? Sieht irgendwie nach SQL aus. (das mit der SQL-Abfrage zu KeyUsage Null und KeyTyp 0 und 1 scheint es nicht zu sein - bei uns da auch nur welche mit KeyTyp 2 - also PGP).

Ich werde gleich mal ein Ticket von meiner privaten Mailadresse erstellen. Schaue aber noch, ob ich nicht doch was finde.
 
Nicht, dass es mir weiterhilft, aber ich finde in der Datenbank die Tabelle Data.Raplication.Artefact. Sonst finde ich Artefact in keinem Tabellennamen (oder üebrsehen).

Wenn ich dies dort ausführe, erhalte ich ein Ergebnis. Aber das sieht für mich alles gleich aus.

SELECT TOP (1000) [RowVersion]
,[Data]
,[HostName]
,[Priority]
,[Created]
FROM [NoSpamProxyIntranetRole].[DataReplication].[Artefact]
ORDER BY RowVersion ASC
 
Ticket habe ich von privater Mailadresse aus eröffnet (NAW-65865-Z8T2X8 CRM:0071276189). Hoffe, dass da Montag früh gleich was möglich ist.

Fix und fertig für heute :cry:
 
Jetzt doch noch was dazu: auf der GW-Rolle wird bei "netstat -aon" weder Port 25 noch Port 587 angezeigt. Entweder ist da beim Udpate doch was schief gegangen, oder die oben genannte Warnmeldung (die ja die einzige ist, die angezeigt wird) steht in direktem Zusammenhang damit.

Habe letzte Woche nun unter 14.0.5 das Zertifikat für den Webserver und die Konnektoren erneuert und ausgetauscht. Lief dann auch damit die ganze Woche mit der 14.0.5. Und eben zur Sicherheit noch einmal geprüft und es ist auch noch das neue Zertifikat.

Und dann ist mir gerade noch aufgefallen: die Warnung kommt ja von der GW-Rolle. und auf dem läuft SQL Express 2022 - der im Rahmen der Windows Updates heute Vormittag auch ein Update erhalten hat (KB5029379). Es wurde auch ein zweites SQL-Update angezeigt (KB5029503), welches aber mit "failed" endete. Nach Serverreboot wurde dies auch nicht mehr angeboten.

Dann habe ich unter "NoSpamproxy Komponenten" mal unter "Gatewayrollen" "Konfiguration abgleichen" angeklickt. Und jetzt kommt zusätzlich zur oben genannten Warnung auch noch diese: (die beiden wechseln sich nun ab)

Schwere: Warnung
Event ID: 4503
Datum und Uhrzeit: 28.10.2023 20:24:15
Rolle oder Dienst: Gateway Role
Nachrichtendetails: An unexpected error occurred while processing replication artifacts. Please report this error to the NoSpamProxy support.

Error: An error occurred while updating the entries. See the inner exception for details.

Error type: System.Data.Entity.Infrastructure.DbUpdateException

Error code: 2148734209
Program location:
bei System.Data.Entity.Internal.InternalContext.SaveChanges()
bei Netatwork.NoSpamProxy.SecretStore.SecretService.ProcessSecretReplicationArtifact(IEnumerable`1 data)
bei Netatwork.NoSpamProxy.SecretStore.SecretService.ProcessSecretReplicationArtifact(ReplicationData`1 data)
bei Netatwork.NoSpamProxy.Replication.ReplicationService.ExecuteHandler(Func`1 handler, Type artifactType)


An error occurred while updating the entries. See the inner exception for details.

Error type: System.Data.Entity.Core.UpdateException

Error code: 2148734209
Program location:
bei System.Data.Entity.Core.Mapping.Update.Internal.UpdateTranslator.Update()
bei System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess)
bei System.Data.Entity.Core.Objects.ObjectContext.SaveChangesToStore(SaveOptions options, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction)
bei System.Data.Entity.Infrastructure.DbExecutionStrategy.Execute[TResult](Func`1 operation)
bei System.Data.Entity.Core.Objects.ObjectContext.SaveChangesInternal(SaveOptions options, Boolean executeInExistingTransaction)
bei System.Data.Entity.Internal.InternalContext.SaveChanges()


The DELETE statement conflicted with the REFERENCE constraint "FK_Certificates_Secret". The conflict occurred in database "NoSpamProxyDB", table "CertificateStore.Certificate".
The statement has been terminated.

Message:
The DELETE statement conflicted with the REFERENCE constraint "FK_Certificates_Secret". The conflict occurred in database "NoSpamProxyDB", table "CertificateStore.Certificate".
The statement has been terminated.
Error type: System.Data.SqlClient.SqlException

Error code: 2148735236
Error 547, state 0
The following SQL errors occurred:
- Error 547, state 0: The DELETE statement conflicted with the REFERENCE constraint "FK_Certificates_Secret". The conflict occurred in database "NoSpamProxyDB", table "CertificateStore.Certificate".
- Error 3621, state 0: The statement has been terminated.
Program location:
bei System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
bei System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
bei System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
bei System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
bei System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
bei System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
bei System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
bei System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
bei System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
bei System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.NonQuery(DbCommand command, DbCommandInterceptionContext interceptionContext)
bei System.Data.Entity.Core.Mapping.Update.Internal.DynamicUpdateCommand.Execute(Dictionary`2 identifierValues, List`1 generatedValues)
bei System.Data.Entity.Core.Mapping.Update.Internal.UpdateTranslator.Update()
 
Ja :) Und es funktioniert auch schon wieder.

Jetzt soll Entwicklung noch mal drauf schauen, da die Meldung zur Replikation noch vorhanden ist (aber die Konfig wurde nun schon mal repliziert und damit sind die Ports auch da und Mailempfang und -versand läuft). Mal schauen, was Entwicklung da dann noch rausbekommt.

Ich weiß nur noch nicht, was das nun bei uns für zukünftige NSP-Updates bedeutet. Inkl. Windows-Updates brauche ich ein Zeitfenster von so ca. 3 Stunden (ich könnte Windows-Updates zeitgleich auf beiden Servern installieren lassen - dann spare ich vermutlich knapp eine Stunde). Stimme ich das auf Eure Supportzeiten ab, dann bin ich komplett in unseren Geschäftszeiten. Und da will ja auch keiner auf Mail verzichten :unsure:

Problem 2 dabei: die VMs laufen im RZ und leider haben wir keine Möglichkeit, hier selbst Snapshots zu erstellen oder zu restoren. Somit bin ich eigentlich auch dort auf die Supportzeiten angewiesen. Da wäre Samstag mit 9 bis 16 Uhr zumindest mit dabei. Habe aber auch nicht so wirklich die große Lust, hier ein Recovery durchzuführen (inkl. Nutzung separater SQL-Server für die Intranetrolle).


Aber erstmal große Erleichterung, dass es nun läuft.
 
Das sind schon einmal gute Neuigkeiten =)

Als input für die Updates würde ich auf jeden Fall zwei Wartungsfenster vorschlagen, einmal die Windows Updates und einmal das NSP Update.
Damit ist schon einmal ausgeschlossen, dass sich die beiden Themen irgendwie in die Quere kommen.

Solch bescheidene Update Probleme sollten hoffentlich nicht öfter auftreten, hier wollen wir auch mit kürzeren Update Zyklen im schnellen Kanal entgegen wirken. Denn in der Regel haben kleine Änderungen nur einen kleinen Impakt.

Beim Zweitfenster wird es in der Tat ab kniffelig 🤔
Bei mehreren Gateways könntest du in Zukunft erst Intranet Rolle, dann das erste Gateway aktualisieren und dann eine ganze weile warten um sicher zustellen, dass es keine Probleme gibt. Falls doch würde das zweite Gateway weiterhin normal arbeiten und du hättest temporär kein Monitoring. Das wäre deutlich eleganter und wenn es am Wochenende nicht so viele E-mails gibt sollte es auch kein Problem mit dem SQL Express vom Gateway geben.
 
Letztlich waren es zwei externe S/MIME-Zertifikate, die in SERIALNUMBER eine E-Mailadresse eingetragen hatten. Und laut Support ist das nach dem Update auf 14.1 aufgefallen, weil da wohl in der Replikation "alles neu an GW-Rolle übertragen wurde".

Nachdem die beiden Zertifikate in der DB gelöscht waren, ist nun auch die Warnmeldung für die Replikation weg.

Zum Updatefenster: ich könnte mir vorstellen, dass ich bei Euch 2 Wochen vor meinem geplanten Updatetermin für ein NSP-Update ein Ticket eröffne. Würde das Update dann wohl auf einen Freitag mit Start um 14 Uhr legen. Und somit kann ich bei Problemen noch im Zeitfenster bis 17 Uhr bleiben.

Normalerweise mache ich Windows-Updates und NSP-Update gerne zusammen auf den beiden Servern (auch, wenn getrennt schon sinnvoller zum Ausschließen von möglichen Problemen durch Windows-Update). Aber soviele Zeitslots und selbst Zeit habe ich dann doch auch nicht. Wenn wir wenigstens die Snapshots selbst erstellen könnten, wäre das mit den Windows Updates für mich auch zeitlich etwas flexibler.

Vielleicht ist die interne Entscheidung dann aber auch "hat 3 Jahre ohne Probleme mit Update am Samstag geklappt, nun einmal nicht - wir bleiben beim Samstag". Ich weiß es noch nicht so wirklich.
 
Zurück
Oben