Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Managed Instance
Service Broker proporciona una estructura de seguridad flexible para ayudar a desarrollar aplicaciones seguras. En este tema se explican las consideraciones para administrar la seguridad de Service Broker.
Planeamiento de seguridad
Cada aplicación tiene requisitos de seguridad únicos. Parte de la administración de seguridad consiste en planear cuidadosamente los requisitos de su aplicación. La seguridad de transporte y de diálogo y la infraestructura de seguridad integradas en SQL Server funcionan conjuntamente para ayudarle a proteger su aplicación.
Todas las aplicaciones utilizan la infraestructura de seguridad integrada en SQL Server. Cada operación en SQL Server se produce en un contexto de seguridad específico. En la mayoría de los casos se crean entidades de seguridad de base de datos de SQL Server específicamente para la aplicación. Esto ayuda a garantizar que cada paso de la aplicación se ejecuta en un contexto seguro con los privilegios estrictamente necesarios para ese paso. Por ejemplo, la entidad de seguridad que especifica para la activación interna debe ejecutar permisos en el procedimiento almacenado que activa Service Broker. El propio procedimiento almacenado podría suplantar a un usuario que tenga RECEIVE permiso para la cola y UPDATE permiso para una tabla específica. Diseñe la aplicación para que, en cada fase, el contexto de seguridad de la aplicación no tenga permiso para realizar operaciones inesperadas.
Las aplicaciones que envían mensajes entre instancias de SQL Server pueden usar la seguridad de transporte, la seguridad del cuadro de diálogo o ambas. La seguridad de transporte y la seguridad de diálogo proporcionan protecciones claramente diferenciadas.
La seguridad de diálogo de Service Broker proporciona autorización y cifrado integrales para las conversaciones entre servicios específicos. Así, la seguridad de diálogo ayuda a proteger los datos de inspecciones o modificaciones en el tránsito. Las aplicaciones que transmiten datos confidenciales o reservados o mensajes a través de redes sin confianza, deben utilizar la seguridad de diálogo. Esta seguridad puede ayudar a que un participante de la conversación identifique al otro participante de la conversación.
Dado que la seguridad de diálogo se aplica a servicios específicos, debe configurar la seguridad de diálogo en cada servicio que la utiliza. Sin embargo, una instancia podría usar la seguridad del cuadro de diálogo para algunas conversaciones y permitir que otras conversaciones se transmitan sin cifrar. Por ejemplo, las conversaciones con un servicio que actualiza la información del cliente podrían usar seguridad de diálogo, mientras que las conversaciones que simplemente buscan información de número de pieza podrían no requerirla.
Service Broker utiliza enlaces de servicio remoto en la base de datos que inicia la conversación para determinar la seguridad de la conversación. Así, Service Broker utiliza el nombre de servicio para determinar la seguridad del servicio. En los casos donde existe más de una instancia del mismo servicio de destino, el enrutamiento en los servicios iniciadores debe estar cuidadosamente administrado para que éstos solo se comuniquen con los servicios de destino que contengan certificados coincidentes. Todos los servicios que tienen el mismo nombre deben configurarse con el mismo certificado.
La seguridad de transporte de Service Broker evita las conexiones de red no autorizadas a los extremos de Service Broker, detecta modificaciones en los mensajes en tránsito y, opcionalmente, proporciona cifrado punto a punto. Esto ayuda a evitar que la base de datos reciba mensajes no deseados. Dado que la seguridad de transporte se aplica a las conexiones de red, se aplica automáticamente a todas las conversaciones entre las instancias de SQL Server. Sin embargo, la seguridad de transporte no proporciona cifrado de un extremo a otro y no proporciona autenticación para conversaciones individuales.
Mantenimiento de la seguridad
Mantener la seguridad de las aplicaciones de Service Broker consta de dos tareas principales: auditar la configuración de la aplicación y reemplazar los certificados que usa la aplicación.
Audite periódicamente la aplicación para determinar que la configuración de seguridad no se modifica y que la configuración de seguridad satisface las necesidades empresariales de la aplicación.
La seguridad de diálogo se basa en los certificados para la autenticación y el cifrado. La seguridad de transporte también puede usar certificados. Un certificado tiene un período de validez especificado. El certificado no es válido antes de que comience esta hora o después de que expire este tiempo. Service Broker no usa certificados que no son válidos actualmente. Además, SQL Server incluye la ACTIVE FOR BEGIN_DIALOG opción de hacer que un certificado esté disponible para Service Broker. Para actualizar los certificados, cree o cargue nuevos certificados con la opción activa para el diálogo de inicio establecida en OFF. Una vez cargados todos los certificados, modifique los certificados actuales en todas las bases de datos para que los certificados no estén disponibles para Service Broker y, a continuación, modifique los nuevos certificados estableciendo la ACTIVE FOR BEGIN_DIALOG opción para que esos certificados estén disponibles para Service Broker.
Para obtener más información sobre los certificados, consulte Certificados y Service Broker yCREATE CERTIFICATE.