Protocolos y cifrado
SE APLICA A: SDK v4
Los bots son más frecuentes en áreas de negocio clave, como servicios financieros, comercio minorista, viajes, etc. Un bot puede recopilar datos muy confidenciales, como tarjetas de crédito, seguridad social, cuentas bancarias y otra información personal. Por lo tanto, es importante que los bots sean seguros y se protejan contra las amenazas y vulnerabilidades más comunes.
Puede tomar algunas medidas preventivas estándar para mejorar la seguridad del bot. Algunas medidas de seguridad son similares a las que se usan en otros sistemas de software, mientras que algunas son específicas de Bot Framework. Para este último, consulte Azure Security Benchmark. El punto de referencia proporciona recomendaciones sobre cómo puede proteger sus soluciones de nube en Azure.
Problemas de seguridad en un resumen
En este artículo se agrupan los problemas de seguridad en 2 categorías:
Amenazas: las tácticas que alguien podría usar para poner en peligro el bot, como suplantación de identidad, manipulación, divulgación de información, denegación de servicio, etc.
Vulnerabilidades: las formas en que el bot o la administración del bot podrían ser susceptibles a estas tácticas, como errores o poca seguridad.
Reducir las vulnerabilidades es una buena manera de mitigar las amenazas y una manera conocida de reducir las vulnerabilidades es implementar puntos de comprobación de seguridad en el proceso de desarrollo e implementación.
Directrices comunes de seguridad
Las siguientes áreas están cubiertas por los procedimientos recomendados de seguridad estándar comunes a las aplicaciones.
Proteger el tráfico de red
Existen protocolos que proporcionan controles criptográficos para abordar la manipulación y divulgación de datos durante la transmisión. En este sentido, los bots deberían comunicarse solo a través de canales seguros.
Para intercambiar datos en la conexión, cualquier sistema seguro debe usar el protocolo HTTPS, que transfiere datos a través de HTTP en conexiones cifradas protegidas por seguridad de la capa de transporte (TLS) o capa de sockets seguros (SSL). Consulte también RFC 2818: HTTP a través de TLS.
Nota:
Todos los canales de Bot Service requieren HTTPS y TLS 1.2.
Autodestrucción de mensajes
Elimine permanentemente cualquier dato confidencial tan pronto como ya no sea necesario, normalmente después de que finalice el intercambio de mensajes o después de una determinada cantidad de tiempo. Esto puede incluir información de identificación personal, identificadores, PIN, contraseñas, preguntas y respuestas de seguridad, etc.
Almacenamiento de datos
El procedimiento recomendado requiere almacenar información en un estado seguro durante un período de tiempo determinado y, a continuación, descartarla más adelante después de cumplir su propósito.
A continuación se enumeran algunas técnicas de seguridad comunes.
Firewall de base de datos
- Los firewalls deniegan el acceso al tráfico de forma predeterminada. El único tráfico permitido debe originarse en aplicaciones o servidores web específicos que necesiten acceder a los datos.
- También debería implementar un firewall de aplicaciones web. Esto se debe a que los ataques como los ataques por inyección de código SQL dirigidos a una aplicación web se pueden usar para filtrar o eliminar datos de la base de datos.
Protección de bases de datos
- Asegúrese de que la base de datos sigue siendo compatible con el proveedor y ejecuta la versión más reciente de la base de datos con todas las revisiones de seguridad instaladas para quitar vulnerabilidades conocidas.
- Desinstale o deshabilite las características o servicios que no necesite y asegúrese de cambiar las contraseñas de las cuentas predeterminadas de sus valores predeterminados; o mejor, elimine las cuentas predeterminadas que no necesite.
- Asegúrese de que todos los controles de seguridad de base de datos proporcionados por la base de datos están habilitados, a menos que haya una razón específica para que se deshabilite alguna.
Minimizar información valiosa
- Asegúrese de que no almacena ninguna información confidencial que no necesite estar en la base de datos.
- Los datos retenidos con fines de cumplimiento u otros fines se pueden mover al almacenamiento más seguro, quizás sin conexión, lo que es menos susceptible a las amenazas de seguridad de la base de datos.
- Asegúrese de eliminar los archivos de historial escritos por un servidor durante el procedimiento de instalación original. Si la instalación se realiza correctamente, estos archivos no tienen ningún valor, pero pueden contener información que se puede aprovechar.
Educación
Los bots proporcionan una herramienta de interacción innovadora entre una empresa y sus clientes. Pero podrían proporcionar una puerta trasera para manipular el sitio web de una empresa. Por lo tanto, una empresa debe asegurarse de que sus desarrolladores comprendan la importancia de la seguridad del bot como parte de la seguridad del sitio web. Además, los errores de los usuarios también pueden ser un problema. Esto requerirá cierta educación sobre cómo se pueden usar los bots de forma segura, por ejemplo:
- Para los desarrolladores, una estrategia debe incluir entrenamiento interno sobre cómo usar el bot de forma segura.
- Los clientes pueden proporcionar instrucciones que detallan cómo interactuar con el bot de forma segura.
Directrices de seguridad específicas del bot
Las siguientes áreas están cubiertas por algunos procedimientos recomendados de seguridad estándar para las aplicaciones de Bot Framework. En las instrucciones siguientes se describen las medidas de seguridad del procedimiento recomendado de Bot Framework. Para más información, consulte las Preguntas frecuentes sobre seguridad y privacidad.
Autenticación del Bot Connector
El servicio Conector de bots utiliza de forma nativa HTTPS para intercambiar mensajes entre un bot y los canales (usuarios). El SDK de Bot Framework automatiza automáticamente la autenticación básica de bot a canal.
Advertencia
Si está escribiendo su propio código de autenticación, es fundamental que aplique correctamente todos los procedimientos de seguridad. Mediante la implementación de todos los pasos del artículo de Autenticación, puede mitigar el riesgo de que un atacante pueda leer los mensajes que se envían al bot, enviar mensajes que suplanten al bot y robar las claves secretas.
Autenticación de usuarios
La autenticación de Servicio de Bot de Azure AI le permite autenticar usuarios y obtener tokens de acceso de diversos proveedores de identidades como Microsoft Entra ID, GitHub, Uber, etc. También puede configurar la autenticación para un proveedor de identidades de OAuth2 personalizado. Todo esto le permite escribir un fragmento de código de autenticación que funciona en todos los proveedores de identidades y canales admitidos. Para utilizar estas funcionalidades debe realizar los siguientes pasos:
- Configure
settings
de forma estática en el bot que contiene los detalles del registro de aplicación con un proveedor de identidades. - Use un
OAuthCard
, con el respaldo de la información de la aplicación que proporcionó en el paso anterior, para iniciar sesión en un usuario. - Recupere los tokens de acceso mediante la API de Servicio de Bot de Azure AI. Un procedimiento recomendado es establecer un límite de tiempo durante cuánto tiempo un usuario autenticado puede permanecer conectado.
Para más información, consulte el artículo Autenticación de usuarios.
Chat en web
Al usar el control Chat en web, debe tener en cuenta algunas consideraciones de seguridad importantes sobre la suplantación y la suplantación electrónica de identidad. Para obtener más información, consulte Autenticación mejorada de Direct Line.
Información adicional
- Autenticación de usuarios
- Incorporación de autenticación al bot mediante el servicio de Bot de Azure AI
- Deshabilitar la seguridad y probar en el host local
- Secretos y tokens
- Tecnologías de autenticación
- Características mejoradas de autenticación de Direct Line
- Recomendaciones de seguridad en Azure Security Center
- Protección contra amenazas en Azure Security Center
- Seguridad de datos de Azure Security Center
- Seguridad de los contenedores en Security Center