• Bewerte uns auf OMR Reviews: Klick

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

  • Zertifikate vom Deutschen Forschungsnetz beziehen (Harica CA)? Klick

Gelöst Nutzung von encrypted Connection möglich?

869288141

Well-known member
Registriert
29 Oktober 2022
Beiträge
480
Reaktionspunkte
96
Hallo NSP Team,
es geht um eine bestehende Installation von NSP in Form von Intranet und Gateway Rollen.

Bis dato hat der jeweils verwendete Microsoft SQL Server keine encrypted Connection unterstützt. Das wird sich nun zeitnah ändern. Damit verbunden kam die Frage, welche Applikationen unterstützen encrypted Connection.

In der Doku von NSP konnte ich dazu nichts finden. Daher habe ich mich zusätzlich im NoSpamProxy Command Center umgeschaut. Dort gibt es unter Configuration -> NoSpamProxy components den Abschnitt "Databases". Dort sehe ich die alle Datenbanken für die Intranet als auch Gateway Rollen. Dort habe ich jeweils einen Eintrag markiert und Modify angeklickt. Leider konnte ich dort keinen Parameter finden, um encrypted Connection zu aktivieren.

Daher die Frage an euch:
  1. Sind encrypted Connection überhaupt unterstützt?
  2. Falls dem so ist, wie kann die Konfiguration vornehmen?

Gruß,
Daniel
 
Hey,

per UI ist das derzeit nicht möglich.
Ich habe es eben zur Sicherheit nochmal durchgespielt und ja du kannst NoSpamProxy mit Encrypted Connection verwenden.
Hierfür musst du die Konfig Dateien der Intranet Rolle, Gateway Rolle und des Web Portals bearbeiten. (Außer es liegt alles auf einem System, dann nur die Intranet Rolle)

Vorgehen:

  1. NCC -> Konfiguration -> NoSpamPorxy Komponenten -> Datenbanken, die Übersicht Screenshoten/Informationen Merken
  2. Intranet Rolle Stoppen
  3. Konfiguration sichern ("C:\ProgramData\Net at Work Mail Gateway\Configuration\Intranet Role.config")
  4. Konfiguration bearbeiten ("C:\ProgramData\Net at Work Mail Gateway\Configuration\Intranet Role.config")
    1. Suche nach dem Abschnitt "connectionStrings"
    2. entferne das Attribut "configProtectionProvider" sowie dessen gesetzter Wert
    3. entferne das Unterelement "EncryptedData", inklusive dessen Unterelemente "CipherData" und "CipherValue"
    4. Füge einen neuen Connection String hinzu:
      <add name="Database" connectionString="Data Source=(local)\SQLEXPRESS;Initial Catalog=NoSpamProyxIntranetRole;Integrated Security=True;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True" />
      1. Passe wenn nötig folgende Werte an:
        - "Data Source" (DATENBANKSERVER\INSTANZENNAME)
        - "Initial Catalog" (Datenbankname)
      2. Füge bei einem Remote Server ggf. folgende Attribute mit passenden Werden hinzu:
        - "Id=" (SQL Username)
        - "Password=" (SQL Passwort)
    5. speichere deine Änderungen ab
  5. Starte die Intranet Rolle und stelle sicher, dass alles sauber läuft

Für die Gateway Rolle nutzt du folgenden grundlegenden Conenction String:
<add name="NoSpamProxy" connectionString="Data Source=(local)\SQLEXPRESS;Integrated Security=true;Initial Catalog=NoSpamProxyGatewayRole;MultipleActiveResultSets=True;Encrypt=True;TrustServerCertificate=True" />


Für das WebPortal:
<add name="Database" connectionString="Data Source=(local)\SQLEXPRESS;Initial Catalog=NoSpamProxyWebPortal;Integrated Security=True; MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True"/>

Was bei mir nicht funktioniert hat war von "Force Strict Encryption (TDS 8.x)" im SQL Server, damit ging aber auch meine SSMS Verbindung nicht mehr.
Wieso, weshalb, warum: habe ich bisher nicht geprüft.


Gruß
Jan
 
Hallo Jan,
Danke für die ausführliche Antwort.

Du hast sicherlich selbst gemerkt, dass das für einen ungeübten Admin doch etwas Fleißarbeit ist. Falls noch nicht geschehen, gerne einen Feature Request dafür erstellen. Bitte die Referenz Nummer dafür hier nennen.


Gruß,
Daniel
 
Zuletzt bearbeitet:
Du solltest dann im Eventlog einen Fehler sehen, den bräuchte ich einmal um mehr sagen zu können.
Als Instanzen Namen versuche mal bitte "MSSQLSERVER" oder "SQLSERVER", ggf. benötigt er das im String explizit.
 
Für das WebPortal:
<add name="Database" connectionString="Data Source=(local)\SQLEXPRESS;Initial Catalog=NoSpamProxyWebPortal;Integrated Security=True; MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True"/>
Welche Datei muss ich für das Web Portal bearbeiten, Management Service.config oder/und Privileged Service.config?

Als Instanzen Namen versuche mal bitte "MSSQLSERVER" oder "SQLSERVER", ggf. benötigt er das im String explizit.
Das Problem war nicht die Konfiguration seitens NSP, sondern der SQL Server. Da war jemand sehr kreativ im SQL Configuration Manager... Sorry für den False Positive.
 
Was bei mir nicht funktioniert hat war von "Force Strict Encryption (TDS 8.x)" im SQL Server, damit ging aber auch meine SSMS Verbindung nicht mehr.
Wieso, weshalb, warum: habe ich bisher nicht geprüft.
Meines Wissens nach setzt es auf allen Seiten (Client und Server) TLS 1.3 voraus. Ist das bei dir gegeben?
 
Welche Datei muss ich für das Web Portal bearbeiten, Management Service.config oder/und Privileged Service.config?


Das Problem war nicht die Konfiguration seitens NSP, sondern der SQL Server. Da war jemand sehr kreativ im SQL Configuration Manager... Sorry für den False Positive.
Keine der beiden.

Du musst unter:
%ProgramFiles%\NoSpamProxy\Web Portal\App_Data
Die „Wen Portal.config“ editieren.

(Nagel mich nicht ganz drauf fest, kann morgen erst prüfen ob der Pfad fehlerfrei ist ^^)
 
Du musst unter:
%ProgramFiles%\NoSpamProxy\Web Portal\App_Data
Die „Wen Portal.config“ editieren.
Sieht gut aus. Die Datei heißt "WebPortal.config".

(Nagel mich nicht ganz drauf fest, kann morgen erst prüfen ob der Pfad fehlerfrei ist ^^)
In diesem Fall hängt es primär von dem Installationspfad ab. Da die Datei nicht unter C:\Programdata wie bei der Intranet- und Gateway-Rolle liegt. Wieso weiß wohl nur der Entwickler.
Keine der beiden.
Dort sind aber vermeidlich auch Zugangsdaten gespeichert...
 
Die Dienste ziehen sich die Konfiguration aus der Intranet Rolle, eine manuelle Anpassung sollte hier nicht notwendig sein ;)
 
Nachstehend nochmals eine Zusammenfassung der verschiedenen Aktionen für die Nachwelt.
Bitte ggf. die Laufwerksbuchstaben und/oder Pfade zu den jeweiligen Dateien anpassen.

Intranet-Rolle

Die SQL-Datenbank der Intranet Rolle liegt in diesem Fall auf einem Microsoft SQL Cluster (DAG). Daher erfolgt die Anmeldung der NoSpamProxy Intranet Rolle über einen SQL-Benutzerkonto. Dieses SQL-Benutzerkonto hat auf allen SQL-Servern innerhalb der DAG das gleiche Passwort.

1. Die Windows Dienste "NoSpamProxy - Intranet Role" und "NoSpamProxy - Intranet Role WebApp" stoppen.
Code:
Stop-Service -Name "NoSpamProxyWebApp"
Stop-Service -Name "NoSpamProxyIntranetRole"

2. Eine Sicherung der Datei "C:\ProgramData\Net at Work Mail Gateway\Configuration\Intranet Role.config" anlegen.
Code:
Copy-Item -Path "C:\ProgramData\Net at Work Mail Gateway\Configuration\Intranet Role.config" -Destination "C:\ProgramData\Net at Work Mail Gateway\Configuration\Intranet Role.$(get-date -Format "yyyy-MM-dd_HH-mm-ss").config"

3. Die Datei "C:\ProgramData\Net at Work Mail Gateway\Configuration\Intranet Role.config" im Editor (z.B. Notepad++) öffnen.

Aktuell/Bisher:
1755805385478.png

Überarbeitet/Neu:
Code:
<connectionStrings>
    <add name="Database" connectionString="Data Source=sql01prod.lab03.sub.domain.de;Initial Catalog=NoSpamProxyIntranetRole;User Id=nospamproxy_intranet;Password=password;MultipleActiveResultSets=true;Encrypt=True" />
  </connectionStrings>

4. Änderung in der Datei "C:\ProgramData\Net at Work Mail Gateway\Configuration\Intranet Role.config" speichern.

5. Windows Dienste wieder starten.
Code:
Start-Service -Name "NoSpamProxyIntranetRole"
Start-Service -Name "NoSpamProxyWebApp"

Gateway Rolle

1. Den Windows Dienst "NoSpamProxy - Gateway Role" stoppen.
Code:
Stop-Service -Name "NoSpamProxyGatewayRole"

2. Eine Sicherung der Datei "C:\ProgramData\Net at Work Mail Gateway\Configuration\Gateway Role.config" anlegen.
Code:
Copy-Item -Path "C:\ProgramData\Net at Work Mail Gateway\Configuration\Gateway Role.config" -Destination "C:\ProgramData\Net at Work Mail Gateway\Configuration\Gateway Role.$(get-date -Format "yyyy-MM-dd_HH-mm-ss").config"

3. Die Datei "C:\ProgramData\Net at Work Mail Gateway\Configuration\Gateway Role.config" im Editor (z.B. Notepad++) öffnen.

Aktuell/Bisher:
1755805385478.png

Überarbeitet/Neu:
Code:
<connectionStrings>
    <add name="NoSpamProxy" connectionString="Data Source=nspgw01a.lab03.sub.domain.de;Integrated Security=true;Initial Catalog=NoSpamProxyGatewayRole;MultipleActiveResultSets=True;Encrypt=True" />
  </connectionStrings>

4. Änderung in der Datei "C:\ProgramData\Net at Work Mail Gateway\Configuration\Gateway Role.config" speichern.

5. Windows Dienste wieder starten.
Code:
Start-Service -Name "NoSpamProxyGatewayRole"


Web Portal Rolle

1. Die Windows Dienste "World Wide Web Publishing Service" und "NoSpamProxy - Large File Synchronization stoppen.
Code:
Stop-Service -Name "W3SVC"
Stop-Service -Name "NoSpamProxyLargeFileSynchronization"

2. Eine Sicherung der Datei "D:\Program Files\NoSpamProxy\Web Portal\App_Data\WebPortal.config" anlegen.
Code:
Copy-Item -Path "D:\Program Files\NoSpamProxy\Web Portal\App_Data\WebPortal.config" -Destination "D:\Program Files\NoSpamProxy\Web Portal\App_Data\WebPortal.$(get-date -Format "yyyy-MM-dd_HH-mm-ss").config"

3. Die Datei "D:\Program Files\NoSpamProxy\Web Portal\App_Data\WebPortal.config" im Editor (z.B. Notepad++) öffnen.

Aktuell/Bisher:
1755805385478.png

Überarbeitet/Neu:
Code:
  <connectionStrings>
    <add name="Database" connectionString="Data Source=nsplf01a.lab03.sub.domain.de;Integrated Security=true;Initial Catalog=NoSpamProxyWebPortal;MultipleActiveResultSets=True;Encrypt=True" />
  </connectionStrings>

4. Änderung in der Datei "D:\Program Files\NoSpamProxy\Web Portal\App_Data\WebPortal.config" speichern.

5. Windows Dienste wieder starten.
Code:
Start-Service -Name "W3SVC"
Start-Service -Name "NoSpamProxyLargeFileSynchronization"


Nachstehend eine SQL-Abfrage, um zu prüfen ob die Verbindungen "verschlüsselt/encrypted" aufgebaut worden sind. Diese SQL Abfrage kann auf jeden SQL-Server, auf eine SQL-Datenbank einer NSP Rolle liegt, ausgeführt erden.
SQL:
SELECT c.connect_time
 , s.login_time
 , s.host_name
 , s.login_name
 , c.encrypt_option
 , c.auth_scheme
 , c.client_net_address
FROM sys.dm_exec_connections AS c
   JOIN sys.dm_exec_sessions AS s ON c.session_id = s.session_id

Nachstehend exemplarisch das Ergebnis der obigen SQL-Abfrage auf dem SQL-Server für das Web Portal.
1755806977441.png


Gruß,
Daniel
 
Zuletzt bearbeitet:
Die Dienste ziehen sich die Konfiguration aus der Intranet Rolle, eine manuelle Anpassung sollte hier nicht notwendig sein ;)
Müsste die Zeile dann nicht wie auf der Intranet Rolle unverschlüsselt angezeigt werden?! Evtl. denke ich auch - mal wieder - zu viel nach.
 
Zurück
Oben