Procedimientos recomendados para proteger el adaptador de SQL
Procedimientos recomendados que debe seguir para proteger más completamente los datos confidenciales al usar o desarrollar aplicaciones que consumen el adaptador de Microsoft BizTalk para SQL Server.
Procedimientos recomendados de seguridad para la conexión entre el adaptador de SQL y la base de datos de SQL Server
El adaptador de SQL no proporciona compatibilidad para ayudar a proteger la comunicación entre ella y la base de datos de SQL Server. Debe proporcionar un mecanismo para garantizar un nivel de seguridad adecuado para los datos intercambiados entre el adaptador y la base de datos SQL Server.
Por motivos de seguridad, el adaptador de SQL no permite proporcionar credenciales de contraseña de nombre de usuario para la base de datos de SQL Server en el URI de conexión. Consulte el resto de este tema para obtener métodos alternativos para proporcionar credenciales al adaptador de SQL.
El adaptador de SQL también permite usar la autenticación de Windows mientras se conecta a SQL Server para generar metadatos y realizar operaciones, ya sea a través de Visual Studio o BizTalk Server. Antes de usar la autenticación de Windows, debe agregar el usuario de Windows como usuario en SQL Server Management Studio. Para obtener más información, vea Conectarse a SQL Server mediante la autenticación de Windows con el adaptador de SQL.
Para obtener más información, consulte Seguridad entre el SQL Server y el adaptador.
Procedimientos recomendados de seguridad para consumir el adaptador de SQL con BizTalk Server
El adaptador de SQL no permite proporcionar credenciales de contraseña de nombre de usuario para la base de datos de SQL Server en el URI de conexión.
Cuando use el complemento Consumir servicio adaptador, escriba la credencial de contraseña de nombre de usuario de la base de datos de SQL Server en la pestaña Seguridad del cuadro de diálogo Configurar adaptador.
Al configurar el adaptador de BizTalk WCF-Custom para el adaptador de SQL en un puerto de envío, escriba la credencial de contraseña de nombre de usuario para la base de datos de SQL Server en la pestaña Credenciales del cuadro de diálogo Propiedades de transporte personalizadas de WCF.
Al configurar el adaptador de BizTalk WCF-Custom para el adaptador de SQL en una ubicación de recepción, escriba la credencial de contraseña de nombre de usuario de la base de datos de SQL Server de la pestaña Otros del cuadro de diálogo Propiedades de transporte personalizadas de WCF.
Al usar el complemento de servicio consumir adaptador para generar metadatos, configurar el puerto de envío o configurar el puerto de recepción, también puede usar la autenticación de Windows. Antes de usar la autenticación de Windows, debe agregar el usuario de Windows como usuario en SQL Server Management Studio. Para obtener más información, vea Conectarse a SQL Server mediante la autenticación de Windows con el adaptador de SQL.
Para obtener más información, vea Seguridad con el adaptador de SQL y BizTalk Server.
Procedimientos recomendados de seguridad para consumir el adaptador de SQL con soluciones de programación
A veces es necesario proporcionar las credenciales de contraseña de nombre de usuario para la base de datos de SQL Server en el URI de conexión; sin embargo, si es posible, debe evitar hacerlo.
Cuando use el complemento Agregar referencia de servicio de adaptador de Visual Studio, escriba la credencial de contraseña de nombre de usuario de la base de datos de SQL Server en la pestaña Seguridad del cuadro de diálogo Configurar adaptador.
En la programación del modelo de canal WCF, use la propiedad Credentials en el generador de canales para establecer la credencial de contraseña de nombre de usuario para la base de datos de SQL Server.
En la programación del modelo de servicio WCF, use la propiedad ClientCredentials en el cliente WCF para establecer la credencial de contraseña de nombre de usuario para la base de datos de SQL Server.
Si una aplicación que consume el adaptador de SQL envía mensajes que contienen información confidencial de la base de datos a través de un límite de proceso a otro servicio o cliente, asegúrese de que estos mensajes tienen suficientes medidas de seguridad aplicadas para proporcionar una protección de datos adecuada en su entorno.
Al usar el complemento Agregar referencia de servicio de adaptador o conectarse a SQL Server desde una aplicación .NET, también puede usar la autenticación de Windows. Antes de usar la autenticación de Windows, debe agregar el usuario de Windows como usuario en SQL Server Management Studio. Para obtener más información, vea Conectarse a SQL Server mediante la autenticación de Windows con el adaptador de SQL.
Para obtener más información, consulte Programación segura con el adaptador de SQL.
Procedimientos recomendados de seguridad para hospedar el adaptador de SQL en IIS
Hospedar el adaptador de SQL en Microsoft Internet Information Services (IIS) como un servicio web expone las operaciones expuestas por el adaptador de SQL a los clientes web. Estas operaciones pueden implicar el intercambio de datos confidenciales a través de Internet, por lo que debe tomar medidas para ayudar a garantizar que estos datos sean lo más seguros posible.
WCF proporciona dos enlaces estándar para el transporte HTTP: BasicHttpBinding proporciona transporte HTTP básico sin mecanismos de seguridad; WSHttpBinding admite tanto mecanismos de seguridad de nivel de transporte como de nivel de mensaje.
Puede usar BasicHttpBinding a través de una conexión HTTPS o usar WSHttpBinding para ayudar a proteger los datos. El SDK del adaptador de LOB de WCF incluye el Asistente para desarrollo del servicio de adaptador de LOB de WCF para generar el servicio WCF para artefactos lob. Este asistente solo admite el uso de BasicHttpBinding.
También puede desarrollar un enlace HTTP personalizado para aprovechar los mecanismos de seguridad adicionales que proporciona el entorno. Para obtener más información sobre las características de seguridad que proporciona WCF, consulte Protección de servicios y clientes.
Al hospedar el adaptador de SQL como servicio web, los desarrolladores web deben tomar medidas para evitar que los usuarios pasen cadenas tipadas directamente a la base de datos de SQL Server. Por ejemplo, si un sitio web permite al usuario escribir un valor que formará parte de una cláusula WHERE en una instrucción SELECT, se debe examinar la cadena de entrada para evitar agregar otros comandos a la instrucción .
Procedimientos recomendados de seguridad para el seguimiento de diagnóstico de WCF y el registro de mensajes
WCF admite el seguimiento de diagnóstico y el registro de mensajes. Puede configurar el seguimiento de diagnóstico y el registro de mensajes a través de archivos de configuración o mediante Instrumental de administración de Windows (WMI). En función de las opciones de configuración establecidas, el seguimiento de diagnóstico de WCF o el registro de mensajes pueden emitir información confidencial a los archivos de registro, donde podría exponerse a la observación por parte de usuarios no autorizados.
Siga las recomendaciones proporcionadas en la documentación de WCF para mitigar posibles amenazas de seguridad expuestas al habilitar estas características. Como mínimo, debe observar los siguientes procedimientos recomendados para el seguimiento de diagnóstico y el registro de mensajes:
No habilite el seguimiento "detallado" o "información" en un entorno de producción. Esto puede provocar una degradación del rendimiento. Sin embargo, debe habilitar el seguimiento de "advertencia" y "error" en un entorno de producción. Si habilita el seguimiento, debe tomar medidas de seguridad adecuadas para proteger los datos. Consulte la documentación de WCF para obtener más información.
Asegúrese de que los archivos de registro y los archivos de configuración están protegidos por listas de control de acceso (ACL).
Las advertencias siguientes se aplican específicamente a los mensajes que se intercambian entre una aplicación cliente y el adaptador de SQL:
El seguimiento de diagnóstico de WCF puede registrar el encabezado (pero no el cuerpo) de los mensajes intercambiados con el adaptador de SQL. Dado que la acción del mensaje está en el encabezado del mensaje, esto revela las operaciones invocadas en el adaptador de SQL por el cliente.
Si el registro de mensajes WCF está habilitado y
logMessagesAtServiceLevel
estrue
, se registra el encabezado del mensaje (pero no el cuerpo del mensaje) de los mensajes intercambiados entre el cliente del adaptador y el adaptador de SQL. Dado que la acción del mensaje está en el encabezado del mensaje, esto revela las operaciones que el cliente invocó en el adaptador de SQL. SilogEntireMessage
tambiéntrue
es , se registrará el cuerpo del mensaje. Esto puede revelar información confidencial de la base de datos.Para obtener más información sobre cómo mejorar la seguridad al habilitar el seguimiento de diagnóstico, consulte Problemas de seguridad y Sugerencias útiles para el seguimiento. Para obtener más información sobre cómo mejorar la seguridad al habilitar el registro de mensajes, consulte Problemas de seguridad para el registro de mensajes.