Freigeben über


Bewährte Methoden zum Schützen des SQL-Adapters

Bewährte Methoden, die Sie befolgen sollten, um vertrauliche Daten umfassender zu schützen, wenn Sie Anwendungen verwenden oder entwickeln, die den Microsoft BizTalk-Adapter für SQL Server verwenden.

Bewährte Sicherheitsmethoden für die Verbindung zwischen dem SQL-Adapter und der SQL Server-Datenbank

  • Der SQL-Adapter bietet keine Unterstützung für die Sichere Kommunikation zwischen dem Adapter und der SQL Server-Datenbank. Sie müssen einen Mechanismus bereitstellen, um ein angemessenes Maß an Sicherheit für daten zu gewährleisten, die zwischen dem Adapter und der SQL Server-Datenbank ausgetauscht werden.

  • Aus Sicherheitsgründen ermöglicht der SQL-Adapter nicht die Angabe von Kennwortanmeldeinformationen für den Benutzernamen für die SQL Server-Datenbank im Verbindungs-URI. Im weiteren Verlauf dieses Themas finden Sie alternative Methoden zum Bereitstellen von Anmeldeinformationen für den SQL-Adapter.

  • Mit dem SQL-Adapter können Sie auch die Windows-Authentifizierung verwenden, während Sie eine Verbindung mit SQL Server herstellen, um Metadaten zu generieren und Vorgänge auszuführen, entweder über Visual Studio oder BizTalk Server. Vor der Verwendung der Windows-Authentifizierung müssen Sie den Windows-Benutzer in SQL Server Management Studio als Benutzer hinzufügen. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit SQL Server mithilfe der Windows-Authentifizierung mit dem SQL-Adapter.

    Weitere Informationen finden Sie unter Sicherheit zwischen dem SQL Server und dem Adapter.

Bewährte Sicherheitsmethoden für die Verwendung des SQL-Adapters mit BizTalk Server

  • Mit dem SQL-Adapter können Sie keine Kennwortanmeldeinformationen für den Benutzernamen für die SQL Server-Datenbank im Verbindungs-URI angeben.

  • Wenn Sie das Add-In Adapterdienst nutzen verwenden, geben Sie auf der Registerkarte Sicherheit des Dialogfelds Adapter konfigurieren die Kennwortanmeldeinformationen für den Benutzernamen für die SQL Server-Datenbank ein.

  • Wenn Sie den BizTalk WCF-Custom-Adapter für den SQL-Adapter an einem Sendeport konfigurieren, geben Sie die Anmeldeinformationen für das Kennwort für den Benutzernamen für die SQL Server-Datenbank auf der Registerkarte Anmeldeinformationen des Dialogfelds WCF-Benutzerdefinierte Transporteigenschaften ein.

  • Wenn Sie den BizTalk WCF-Custom-Adapter für den SQL-Adapter an einem Empfangsspeicherort konfigurieren, geben Sie auf der Registerkarte Andere des Dialogfelds WCF-Benutzerdefinierte Transporteigenschaften die Kennwortanmeldeinformationen für den Benutzernamen für die SQL Server-Datenbank ein.

  • Beim Verwenden des Adapterdienst-Add-Ins zum Generieren von Metadaten, zum Konfigurieren des Sendeports oder zum Konfigurieren des Empfangsports können Sie auch die Windows-Authentifizierung verwenden. Vor der Verwendung der Windows-Authentifizierung müssen Sie den Windows-Benutzer in SQL Server Management Studio als Benutzer hinzufügen. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit SQL Server mithilfe der Windows-Authentifizierung mit dem SQL-Adapter.

    Weitere Informationen finden Sie unter Sicherheit mit dem SQL-Adapter und BizTalk Server.

Bewährte Sicherheitsmethoden für die Verwendung des SQL-Adapters mit Programmierlösungen

  • Es ist manchmal erforderlich, die Anmeldeinformationen für das Kennwort für den Benutzernamen für die SQL Server-Datenbank im Verbindungs-URI anzugeben. Wenn möglich, sollten Sie dies jedoch vermeiden.

  • Wenn Sie das Visual Studio-Plug-In Adapterdienstverweis hinzufügen verwenden, geben Sie auf der Registerkarte Sicherheit des Dialogfelds Adapter konfigurieren die Kennwortanmeldeinformationen für den Benutzernamen für die SQL Server-Datenbank ein.

  • Verwenden Sie bei der Programmierung des WCF-Kanalmodells die Eigenschaft Credentials in der Kanalfactory, um die Anmeldeinformationen für das Kennwort für den Benutzernamen für die SQL Server-Datenbank festzulegen.

  • Verwenden Sie bei der Programmierung des WCF-Dienstmodells die ClientCredentials-Eigenschaft auf dem WCF-Client, um die Kennwortanmeldeinformationen für den Benutzernamen für die SQL Server-Datenbank festzulegen.

  • Wenn eine Anwendung, die den SQL-Adapter nutzt, Nachrichten mit vertraulichen Datenbankinformationen über eine Prozessgrenze hinweg an einen anderen Dienst oder Client sendet, stellen Sie sicher, dass für diese Nachrichten ausreichende Sicherheitsmaßnahmen angewendet werden, um einen angemessenen Datenschutz in Ihrer Umgebung zu gewährleisten.

  • Wenn Sie das Add Adapter Service Reference Plug-In verwenden oder eine Verbindung mit SQL Server über eine .NET-Anwendung herstellen, können Sie auch die Windows-Authentifizierung verwenden. Vor der Verwendung der Windows-Authentifizierung müssen Sie den Windows-Benutzer in SQL Server Management Studio als Benutzer hinzufügen. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit SQL Server mithilfe der Windows-Authentifizierung mit dem SQL-Adapter.

    Weitere Informationen finden Sie unter Sichere Programmierung mit dem SQL-Adapter.

Bewährte Sicherheitsmethoden für das Hosten des SQL-Adapters in IIS

Das Hosten des SQL-Adapters in Microsoft-Internetinformationsdienste (IIS) als Webdienst macht Vorgänge verfügbar, die vom SQL-Adapter für Webclients angezeigt werden. Bei diesen Vorgängen kann es sich um den Austausch vertraulicher Daten über das Internet handeln. Daher sollten Sie Maßnahmen ergreifen, um sicherzustellen, dass diese Daten so sicher wie möglich sind.

WCF stellt zwei Standardbindungen für den HTTP-Transport bereit: BasicHttpBinding bietet einfachen HTTP-Transport ohne Sicherheitsmechanismen; WSHttpBinding unterstützt sowohl Sicherheitsmechanismen auf Transportebene als auch auf Nachrichtenebene.

Sie können entweder basicHttpBinding über eine HTTPS-Verbindung oder WSHttpBinding verwenden, um Ihre Daten zu schützen. Das WCF LOB Adapter SDK enthält den WCF LOB Adapter Service Development Wizard zum Generieren des WCF-Diensts für LOB-Artefakte. Dieser Assistent unterstützt nur die Verwendung von BasicHttpBinding.

Sie können auch eine benutzerdefinierte HTTP-Bindung entwickeln, um zusätzliche Sicherheitsmechanismen zu nutzen, die Ihre Umgebung bereitstellt. Weitere Informationen zu den Sicherheitsfeatures, die WCF bereitstellt, finden Sie unter Sichern von Diensten und Clients.

Beim Hosten des SQL-Adapters als Webdienst sollten Webentwickler Maßnahmen ergreifen, um zu verhindern, dass von Benutzern eingegebene Zeichenfolgen direkt an die SQL Server-Datenbank übergeben werden. Wenn der Benutzer beispielsweise auf einer Website einen Wert eingeben kann, der Teil einer WHERE-Klausel in einer SELECT-Anweisung ist, sollte die Eingabezeichenfolge überprüft werden, um zu verhindern, dass der Anweisung weitere Befehle hinzugefügt werden.

Bewährte Sicherheitsmethoden für die WCF-Diagnoseablaufverfolgung und Nachrichtenprotokollierung

WCF unterstützt die Diagnoseablaufverfolgung und die Nachrichtenprotokollierung. Sie konfigurieren die Diagnoseablaufverfolgung und die Nachrichtenprotokollierung entweder über Konfigurationsdateien oder mithilfe der Windows-Verwaltungsinstrumentation (WMI). Abhängig von den von Ihnen festgelegten Konfigurationsoptionen kann die WCF-Diagnoseablaufverfolgung oder Die Nachrichtenprotokollierung vertrauliche Informationen an Protokolldateien ausgeben, wo sie möglicherweise für die Beobachtung durch nicht autorisierte Benutzer verfügbar gemacht werden können.

Befolgen Sie die Empfehlungen in der WCF-Dokumentation, um potenzielle Sicherheitsbedrohungen zu minimieren, indem Sie diese Features aktivieren. Beachten Sie mindestens die folgenden bewährten Methoden für die Diagnoseablaufverfolgung und die Nachrichtenprotokollierung:

  • Aktivieren Sie die Ablaufverfolgung "ausführlich" oder "Informationen" in einer Produktionsumgebung nicht. Dies kann zu Leistungseinbußen führen. Sie müssen jedoch die Ablaufverfolgung "Warnung" und "Fehler" in einer Produktionsumgebung aktivieren. Wenn Sie die Ablaufverfolgung aktivieren, müssen Sie geeignete Sicherheitsmaßnahmen ergreifen, um Ihre Daten zu schützen. Weitere Informationen finden Sie in der WCF-Dokumentation.

  • Stellen Sie sicher, dass Protokolldateien und Konfigurationsdateien durch Zugriffssteuerungslisten (Access Control Lists, ACLs) geschützt sind.

    Die folgenden Warnungen gelten speziell für die Nachrichten, die zwischen einer Clientanwendung und dem SQL-Adapter ausgetauscht werden:

  • Die WCF-Diagnoseablaufverfolgung kann den Header (aber nicht den Text) von Nachrichten protokollieren, die mit dem SQL-Adapter ausgetauscht werden. Da sich die Nachrichtenaktion im Nachrichtenheader befindet, werden die Vorgänge angezeigt, die vom Client auf dem SQL-Adapter aufgerufen werden.

  • Wenn die WCF-Nachrichtenprotokollierung aktiviert ist und logMessagesAtServiceLevel den Wert aufweist true, wird der Nachrichtenheader (aber nicht der Nachrichtentext) von Nachrichten protokolliert, die zwischen dem Adapterclient und dem SQL-Adapter ausgetauscht werden. Da sich die Nachrichtenaktion im Nachrichtenheader befindet, werden dadurch die Vorgänge angezeigt, die der Client auf dem SQL-Adapter aufgerufen hat. Wenn logEntireMessage ebenfalls trueist, wird der Nachrichtentext protokolliert. Dadurch können vertrauliche Datenbankinformationen offengelegt werden.

    Weitere Informationen zur Verbesserung der Sicherheit beim Aktivieren der Diagnoseablaufverfolgung finden Sie unter Sicherheitsbedenken und nützliche Tipps für die Ablaufverfolgung. Weitere Informationen zur Verbesserung der Sicherheit beim Aktivieren der Nachrichtenprotokollierung finden Sie unter Sicherheitsbedenken für die Nachrichtenprotokollierung.

Weitere Informationen

Sichern Ihrer SQL-Anwendungen