• 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. 

Bereitstellung der Datenbank

SBW

Well-known member
Hallo zusammen,
mit der Installation der Intranet-Rolle wird in den meisten Fällen auch auf dem Server der Microsoft SQL Server Express installiert. Unsere Datenbank umfasst momentan ca. 5 GB.

Wir werden in absehbarer Zeit einen dedizierten Microsoft SQL Server 2019 installieren. Dieser wird áls Betriebsmodi AlwaysOn implementiert.
Wird diese Szenario von NSP und vom Support im Fehlerfall unterstützt?


Gruß,
Daniel
 
Hallo Daniel,

direkte Erfahrung haben wir mit AlwaysOn noch nicht und müssten das Verhalten so einmal testen.
Nach Rücksprache mit der Entwicklung sollte es theoretisch aber problemlos klappen wenn der zweite Replikationserver Lese- und Schreibrechte hat.
Ein dedizierter SQL Server 2019 ist aber in keinem Fall ein Problem für uns.

Also sollte es zu einem Test bei euch kommen würden wir uns sehr über Feedback freuen.


Gruß,
Jan
 
Hallo Jan,
Nach Rücksprache mit der Entwicklung sollte es theoretisch aber problemlos klappen wenn der zweite Replikationserver Lese- und Schreibrechte hat

Wofür und wohin benötigt der Replikationspartner Lese- und Schreibzugriffe? Es wird vermutlich keine DAG sondern BAG. Letzteres wurde extra für die Schwaben erfunden. Weil für SQL Server DAG sind Enterprise Lizenzen notwendig. :D

Also sollte es zu einem Test bei euch kommen würden wir uns sehr über Feedback freuen.

Es wird defintiv zu einem Test kommen. Die Frage ist, wo und wie soll ich das Thema vorab bei euch publizieren? Denn bei evtl. Problemen möchte ungern auf die Fachleute mehrer Stunden oder bis zum nächsten Tag waren müssen. Weil je nachdem ggf. der E-Mailverkehr beschränkt oder sogar gar nicht mehr funktioniert. Das ist dann sicherlich in eurem Interesse. Alternativ Ihr habt die Infrastuktur und Zeit um diverse Grundtests zu machen. ;)


Gruß,
Daniel
 
Guten Morgen Daniel,

ich meinte natürlich die Lese- und Schreibrechte für die Datenbank.
Es gibt da wenn ich mich recht entsinne auch die Variante, dass der Sekundäre Server nur lesen darf.

Der E-Mail verkehr wird dadurch eigentlich nicht tangiert, da die Intranet Rolle nicht relevant ist. Ihr solltet es nur am laufen haben bis das Limit der Datenbank der GW Rolle erreicht ist, falls es z.B. durch SQL Express eins gibt ;)


Die Infrastruktur für den Test bei uns zu erstellen sollte weniger das Problem sein, aktuell mangelt es einfach an der nötigen Zeit :/
Wenn man das selbst noch nie eingerichtet hat dauert es ja immer doppelt so lange ^^


Gruß,
Jan
 
Guten Abend Jan,
du kennst dich ja sehr gut aus. 

In der Tat ist das so bei der BAG Variante. Wobei das eigentlich nicht tragisch ist, den Replikation/Übertragung der Änderungen erfolgt du SQL-Server. Die Applikationen sprechen jede BAG über den separaten LIF/Listener und Port an. Kommt es zu einem Failover (aus welchen Grund auch immer) wird die sekundäre Datenbank automatisch zur Primären und damit beschreibbar.

Der E-Mail verkehr wird dadurch eigentlich nicht tangiert, da die Intranet Rolle nicht relevant ist. Ihr solltet es nur am laufen haben bis das Limit der Datenbank der GW Rolle erreicht ist, falls es z.B. durch SQL Express eins gibt
wink.png

Guter Hinweis. Wir werden den Umzug vermutlich auf ein Weekend oder auf einen Abend legen. Damit die Chance gering ist das Limit der SQL Express Datenbank z zu erreichen.

Dann bin ich gespannt, wer von uns beiden als Eerster eine praktische (und positive) Erfahrung sammelt. Achja, für das Zeitproblem gibt es auch eine Lösung. Ein Teamleiter in meinem früheren Leben hat immer gesagt: "Hr. XYZ, wenn Ihnen der Tag nicht reicht, nehmen Sie die Nacht dazu.". :D


In diesem Sinne.... einen schönen Feierabend! :D
Daniel

P.S. Warum liefert ihr in der aktuellen Installationsdatei von NSP nach wie vor SQL Server 2012 Express aus?
 
Guten Abend Jan,
ich habe in der Tat mit der Grobplanung begonnen. Dabei ist folgende Frage aufgetaucht:
Mit welchen Zugangsdaten authentifiziert sich NSP gegenüber den SQL-Server?

Ich kann mich nicht daran erinnern bei der Erstinstallation noch einem Upgrade entsprechende Zugangsdaten in Installationsassistenten angegeben zu haben.
Die NSP Services laufen unter entsprechenden Systemkonten. Mit denen ist meines Wissens nach aber kein Zugriff auf extern Dienste (SQL Server) möglich?!


Gruß,
Daniel
 
Hallo Daniel,

ich bin auf das Ergebniss gespannt. Leider konnte ich hier noch nicht groß weiter testen da aktuell die Zeit dafür fehlt.
Es gibt verschiedene Wege der Authentifizierung: Windows Authentifizierung oder SQL Benutzer.
Standardmäßig wird die Windows Authentifizierung benutzt. Der Benutzer der während der Installation den SQL aufgesetzt hat bekommt nämlich automatisch die Zugriffsrechte.
Zu dem können auch wietere Windows User/Gruppen der SQL Datenbank hinzugefügt werden.
Alternativ kann aber auch ein separat angelegter SQL Benutzer genutzt werden, hier muss dann nur darauf geachtet werden das der Zugriff wirklich funktoiniert.

Du kannst jeder Zeit unter "Konfiguration -> NoSamProxy Komponenten" den Zugriff auf die Datenbank ändern falls nötig.


Gruß,
Jan
 
Guten Abend Jan,
ich habe mich am Wochenende mit der Thema weiter auseinandergesetzt.

Dabei ist mir aufgefallen, dass ihr standardmäßig bei der Authentifizierung der Intranet als auch Gateway rollen auf integriert (=Windows Authentifizierung) setzt. Ihr macht euch in diesen Fall zu nutzen, dass die jeweilige NSP Rolle(n) und SQL Server jeweils auf dem selben Server installiert sind. Damit verbunden nutzt ihr für die Berechtigung für die Datenbanken die Benutzer "NT SERVICE\NetatworkMailGatewayIntranetRole" und "NT SERVICE\NetatworkMailGatewayIntranetRole". Diese kann ich natürlich auf einem dedizierten SQL Server nicht nutzen. Denn es handelt sich dabei um Windows Dienstkonten.

Nun sind wir am Überlegen und Tüfteln, ob für uns geplantes Szenario und der Windows Authentifizierung in NSP ein Microsoft Managed Group Service Accounts (gmSA) genutzt werden kann. Dies hätte den Vorteil, dass in regelmäßigen Abständen automatisch das Passwort des gmSA gewechselt wird. Das gmSA muss für die Nutzung auf den jeweiligen Servern installiert werden. Somit ist es für andere Server erst einmal nicht nutzbar. Und zu guter letzt kann dies auch für die Berechtigung auf den SQL-Server bzw. Datenbanken genutzt werden.

Kannst du einmal mit deinen Kollegen sprechen, ob und wie gmSA eingesetzt werden können?


Gruß,
Daniel
 
Hallo Daniel,

ich habe mal nachgefragt und wir unterstützen gmSA von unserer Seite aus nicht.
Ob es durch irgendwelche Windows tricks vlt. doch machbar ist weiß ich leider nicht.

Aber spricht was bei euch dagegen die SQL Authentifizierung zu nutzen und die Gateways darauf umzukonfigurieren?


Gruß
Jan
 
Hallo Jan,
technisch wird eine Authentifizierung über SQL problemlos funktionieren - keine Frage.

Wie so oft im Leben, gibt es aber ein paar (Luxus) Probleme:
->  Automatischer, regelmäßiger Wechsel der Passwörter pro Benutzer ist nicht möglich -> manuelle Task mit Arbeitszeit verbunden.
-> Synchronisation der Passwörter innerhalb des SQL Server AlwaysOn Cluster nicht möglich -> manuelle Task mit Arbeitszeit verbunden.

Da wir und damit auch ich grundsätzlich faul sind, versuchen wir natürlich immer die für uns Beste Lösung zu bekommen. ;-)

In diesen Fall werde ich NSP zu keinem Versuchsballon umbauen. Zumal es sich um produktiver SQL Server Cluster und NSP Gateway Cluster handelt. Zumal ich so gerne mit dem technischen Support spreche und mir dieser mit einer Bastel Lösung dann sicherlich verwehrt wird. :-D


Gruß,
Daniel
 
Hey,

interessant wäre es auf jeden Fall da es grade in größeren Umgebungen doch relevanter werden kann.

Schade eigentlich, dass du keine passende Testumgebung hast - wir haben hierfür nämlich auch keine. Aber bevor wir dir den Support verwehren müssen ist es natürlich besser bei der sicher funktoinierenden Variante zu bleiben :p


Gruß,
Jan
 
Guten Abend Jan,
nachdem sich die ganze Welt mit Microsoft Exchange Server beschäftigt, habe ich nun wieder Zeit mich um dieses Thema zu kümmern. :)
Aktuell schreibe ich ein PoC für unser Vorhaben. Dabei bin ich auf einen Punkt gestoßen, wo ich nicht weiter weiß und auf deine Unterstützung hoffe. Es geht dabei um die Migration der Datenbank NoSpamProxyAddressSynchronization. Bis dato ist der Plan

1) Den Dienst Intranet Rolle in der Management Konsole von NSP zu stoppen.
2) Die Datenbank "NoSpamProxyAddressSynchronization" in SQL Server Management Studio offline schalten.
3) Die Datenbank "NoSpamProxyAddressSynchronization" mit Backup sichern/exportieren.
4) Die Sicherung auf dem SQL Cluster wieder einspielen und den Namen der DB an das Schema anpassen.
5) Einen separaten Benutzer für die Datenbank anlegen, die Rolle "db_owner" auswählen und der neuen Datenbank zuweisen.
6) In der Management Konsole von NSP die Intranet Rolle wieder starten.
7) Funktionstest der Management Konsole bzw. Ereignisprotokoll auf Fehler.

Nun hänge ich am Punkt 6) fest. Denn die Intranet Rolle lässt sich nicht starten, wenn die Datenbank offline ist. Gibt es ein Tool oder eine Konfigurationsdatei in der wir die Zugangsdaten manuell anpassen können? Alternativ wäre zu wissen, ob es zu Problemen kommen kann, wenn NSP bzw. die alte und neue Datenbank einen unterschiedlichen Datenstand haben.


Gruß,
Daniel
 
Guten Morgen Daniel,


uhhh das klingt ja super. Ich bin nämlich immer noch gespannt ob das reibungslos klappt ^^
Zu aller erst möchte ich einmal unseren Migrations Guide verlinken, evtl. steht da noch etwas interessantes für dich drin.

Soweit sieht dein Vorgehen aber ziemlich Fehlerfrei aus :)

Zu Punkt 6:
Hier gäbe es zwei Möglichkeiten:
1.) Du startest die Intranet Rolle mit der alten Datenbank und änderst dann die Datenbank Einstellung, wenn du dafür sorgst, dsas Intranet Rolle und Gateway Rollen/ WebPortale nicht kommunizieren können ändert sich auch der Datenbestand nicht.

2.) Du passt den Connection String in der "Intranet Role.config" manuell an:
Code:
Datei: "C:\ProgramData\Net at Work Mail Gateway\Configuration\Intranet Role.config"
<connectionStrings>
        <add name="Database" connectionString="Data Source=db.server.de;Initial Catalog=NoSpamProxyAddressSynchronization;User Id=myUsername;Password=myPassword;MultipleActiveResultSets=true" />
 </connectionStrings>


Hinweis!
	- name="Database" <- ist nicht der Datenbankname und darf nicht geändert werden
	- Data Source=DATENBANKSERVER\INSTANZENNAME
	- Catalog=DATENBANKNAME
	- Id=SQL_USERNAME
	- Password=PASSWORD
Die Zugangsdaten werden nach dem Speichern und erfolgreichem verarbeiten der Intranet Rolle wieder verschlüsselt so dass diese nicht im Klartext bleiben.

Falls dich Weg zwei eher interessiert mach bitte vorher ein backup der Datei ;)


Zu einer Abweichung der Daten zwischen der alten und neuen Datenbank:
Prinzipiell ist die egal wenn es sich nur um öffentliches Schlüsselmaterial oder Messagetrack Daten handelt.
Wenn in der Zwischenzeit neue Private Schlüssel erstellt worden sein sollten solltest du ein neues Backup machen und wieder einspielen.

Wenn du nach dem export der Datenbank die Kommunikation zwischen Intranet Rolle und Gateway Rollen / WebPortalen unterbindest hast du hier auch eigentlich nichts zu befürchten solange auf den jeweiligen Systemen der SQL Express nicht sein Limit von 10GB erreicht.
Denn dann wird beim widerverbinden mit der neuen Datenbank erst einmal alles repliziert, ab diesem Zeitpunkt wäre dann die neue Datenbank weiter als die alte ;)


GrußJan
 
Hallo Jan,
ich finde in meiner "C:\ProgramData\Net at Work Mail Gateway\Configuration\Intranet Role.config" die von dir genannte Zeile nicht. 
Den einzigen Treffer den ich habe ist:
Code:
 <connectionStrings configProtectionProvider="DataProtectionConfigurationProvider">
    <EncryptedData>
      <CipherData>
        <CipherValue>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAA4Rww....Hsjiv4K1Afu89PGXqHs9of5c6l</CipherValue>
      </CipherData>
    </EncryptedData>
 </connectionStrings>


Oder habe ich dich falsch verstanden und ich muss die von dir genannte Zeile dort hinzufügen?


Gruß,
Daniel

P.S. Wer hat denn die CODE Formatierung deaktiviert?  :mad:
 
Guten Morgen Daniel,

du musst den Teil zwischen den "connectionStrings" tags komplett entfernen, also alles was mit Verschlüsselung zusammenhängt.
Danach fügst du an genau dieser Stelle den neuen Connectionstring ein:
<add name="Database" connectionString="Data Source=db.server.de;Initial Catalog=NoSpamProxyAddressSynchronization;User Id=myUsername;Password=myPassword;MultipleActiveResultSets=true" />


Gruß,
Jan

p.s. Das war ich ;) MyBB hatte eine lritische Sicherheitslücke weshalb ich die Funktionalität bis nach dem Update deaktiviert hatte. Doof wenn man vergisst sie wieder einzuschalten. Danke für die Erinnerung ^^
 
Hallo Jan,
okay, das macht nun Sinn. 

Wir haben heute unser Glück versucht. Ausgangslage ist folgende Änderung in der Konfigurationsdatei der Intranet Rollle:
Code:
<add name="Database" connectionString="Data Source=sqlcl01nspas;Initial Catalog=NoSpamProxyAddressSynchronization;User Id=nospamproxy;Password=nospamproxy;MultipleActiveResultSets=true" />

Anschließend wieder die Intranet Rolle über die Management Konsole wieder gestartet. Danach wird die Codezeile in der Konfiguration, wie von dir beschrieben, erfolgreich verschlüsselt.

Leider kann sich die Intranet Rolle nicht  mit der Datenbank auf dem SQL Cluster verbinden. Im Ereignisprotokoll stehen verschiedene Warnungen und Fehler. Unter anderem taucht dort folgender Hinweis auf:
Code:
Die von der Anmeldung angeforderte NoSpamProxyAddressSynchronization-Datenbank kann nicht geöffnet werden. Fehler bei der Anmeldung.
Fehler bei der Anmeldung für den Benutzer 'NT-AUTORITÄT\Netzwerkdienst'.

Message:
Die von der Anmeldung angeforderte NoSpamProxyAddressSynchronization-Datenbank kann nicht geöffnet werden. Fehler bei der Anmeldung.
Fehler bei der Anmeldung für den Benutzer 'NT-AUTORITÄT\Netzwerkdienst'.
Error type:
System.Data.SqlClient.SqlException

Meiner Meinung nach wird hier der Benutzer unter dem der Dienst NoSpamProxy - Intranet Rolle läuft. Für mich sieht es so aus, als würde NSP den Benutzer im Connection String ignorieren. Bug oder Feature?


Gruß,
Daniel
 
Guten Morgen Jan,
wir haben uns gestern kurzer Hand dafür entschieden, alle Server herunterfahren und ggf. die Gateway Rollen zu stoppen. So dass keine weiteren Informationen geschrieben werden. Danach haben wir das Prozedere wiederholt und anschließend den Servernamen, Instanz und die Zugangsdaten über die Management Konsole geändert. Anschließend alle Server und Rollen wieder gestartet. Die Replikation der Konfigurationsänderungen sowie Nachrichtenfluss haben funktioniert.

Allerdings sind wir heute an der Aktualisierung der NSP Komponenten auf die neuste FastChannel Version krachend gescheitert. Im wahrsten Sinne des Wortes. Wir haben trotz Sonntag gleich alle Informationen zusammengeschrieben und ein Support Ticket NAW-31926-D4Y4M4 eröffnet. Kannst du dir das einmal anschauen bzw. gleich an die richtige Stelle routen?


Gruß,
Daniel
 
Zurück
Oben