Prácticas para Servicios Web de SQL Server 2005


Microsoft SQL Server 2005 proporciona servicios Web XML de forma nativa utilizando los siguientes estándares abiertos: HTTP, SOAP y WSDL. Con los Servicios Web XML nativos de SQL Server 2005 se pueden enviar solicitudes de mensajes SOAP a una instancia de SQL Server 2005 por HTTP para que se ejecute lo siguiente:

  • Instrucciones Transact-SQL por lotes, con o sin parámetros.
  • Procedimientos almacenados, procedimientos almacenados extendidos y funciones con valores escalares definidas por el usuario.

Los Servicios Web XML nativos de SQL Server 2005 se adaptan mejor a escenarios con los siguientes requisitos:

  • Su aplicación devuelve o consume datos XML.
  • Su aplicación depende en gran medida de procedimientos almacenados para la lógica empresarial.
  • Desea integrar una aplicación de servicio Web alojada en SQL Server con otras aplicaciones de servicios Web como parte de su solución empresarial para lograr objetivos SOA.
  • Como un reemplazo de mejor rendimiento para una solución de capa intermedia que utiliza SQLXML, para implementar Servicios Web en el mismo servidor.
  • Para crear y publicar un informe estático para un sitio Web de una intranet en el que el conjunto de características enriquecidas y la sobrecarga adicional de SQL Server 2005 Reporting Services (SSRS) pueden sobrepasar sus requisitos.

De forma similar, no se recomenda utilizar servicios Web XML nativos de SQL Server 2005 en los siguientes escenarios:

  • Su aplicación se utiliza para insertar o recuperar datos de objetos binarios grandes (BLOB), como valores de binary image o text grandes.
  • Su aplicación requiere el procesamiento de transacciones en tiempo real y tiempos de respuesta de misión crítica.
  • Está utilizando SQL Server en combinación con otras aplicaciones de procesamiento intensivo, como aplicaciones TPC Benchmark C (TPC-C).
  • Como sustituto del nivel intermedio (middle-tier) donde la arquitectura de la aplicación tiene unas demandas de lógica empresarial a gran escala que se acomodan mejor en componentes intermedios.

Prácticas recomendadas de seguridad.

Tenga en cuenta las siguientes prácticas recomendadas de seguridad cuando implemente Servicios Web XML nativos de SQL Server 2005:

  • Utilice la autenticación Kerberos: Cuando utilice CREATE ENDPOINT, seleccione AUTHENTICATION=KERBEROS o AUTHENTICATION = INTEGRATED para permitir que se use la seguridad integrada de Windows en Kerberos como el tipo de autenticación utilizado en un Endpoint. Para obtener más información, vea Registrar nombres principales de servicio de Kerberos mediante Http.sys.
  • Limite los permisos de conexión de extremo a grupos o usuarios específicos: Protéja los Endpoints estableciendo permisos de conexión de extremo utilizando instrucciones Transact-SQL, como GRANT CONNECT y ALTER ON ENDPOINT. No se recomienda otorgar acceso a la función public. En su lugar, se recomienda comprender totalmente el modelo de permisos para SQL Server para controlar el acceso al extremo razonablemente. Para obtener más información, vea GRANT (permisos de endpoint de Transact-SQL).
  • Utilice SSL para intercambiar datos importantes: El protocolo SSL proporciona soporte para el cifrado y descifrado de datos en una interfaz de socket TCP/IP seguro. Para que los endpoints de SQL Server proporcionen cifrado SSL, primero debe configurar un certificado. Para obtener más información, vea Configurar certificados para su uso con SSL.
  • Utilice SQL Server detrás de un firewall: Asegúrese de que, cuando configura endpoints, todos los puertos TCP que utilice para proporcionar acceso HTTP estén protegidos por un firewall. Para obtener más información, vea Consideraciones de seguridad para una instalación de SQL Server.
  • Verifique si la cuenta de invitado de Windows está deshabilitada en el servidor: Para reducir el riesgo de ataques de superficie cuando se usan Endpoints, debe asegurarse de que la cuenta de invitado está deshabilitada en el servidor en el que se ejecuta SQL Server. Para obtener más información, vea el tema “Para deshabilitar o activar una cuenta de usuario local” en la ayuda de Windows.
  • Controle y actualice el estado del extremo según sea necesario: Cuando cree un Endpoint utilizando CREATE ENDPOINT, el estado predeterminado es detenido (STOPPED) a menos que se inicie explícitamente especificando STATE = STARTED. Para controlar el estado de un Endpoint existente, utilice ALTER ENDPOINT para especificar STOPPED, STARTED o DISABLED. Para quitar un extremo, utilice DROP ENDPOINT.
  • Utilice los valores predeterminados de Endpoint seguro siempre que sea posible: Cuando cree o modifique un Endpoint se aplicarán las siguientes opciones predeterminadas, a menos que lo establezca explícitamente de otra manera:
    • BATCHES = DISABLED: Transact-SQL El modo batch se deshabilita para el extremo.
    • LOGIN_TYPE = WINDOWS: Sólo se permite la autenticación de Windows para usuarios de extremos.

    Utilice esas opciones predeterminadas siempre que sea posible.

    Para obtener información acerca de la elección de un algoritmo de cifrado, vea Elegir un algoritmo de cifrado.

Para mayor información acerca de todo ésto consulte:
SQL Server 2005: Prácticas recomendadas para utilizar servicios Web XML nativos.

Acerca de Willy Mejia

Developer, Techie, Human... http://about.me/willyxoft
Esta entrada fue publicada en .NET, Seguridad, Servicios. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s