
Compartir:
Michael Crump trabaja en Vonage en el equipo de experiencias para desarrolladores y es programador, YouTuber y conferenciante habitual sobre diversos temas de desarrollo de .NET, la nube y las comunicaciones. Le apasiona ayudar a los desarrolladores a comprender las ventajas de cada uno de ellos de una forma sencilla.
Anuncio de disponibilidad general de la API de Video de Vonage - Llamadas de retorno seguras
Tiempo de lectura: 3 minutos
Introducción
La API de Video de Vonage tiene una nueva función llamada Retrollamadas seguras que hoy está en disponibilidad general. La función de devolución de llamada segura ofrece una manera de verificar que una solicitud de devolución de llamada de webhook provenga de Vonage y que su carga útil no haya sido alterada durante el tránsito. Esto protegerá contra las devoluciones de llamadas no autorizadas y agrega beneficios de seguridad adicionales para aquellas industrias con requisitos de cumplimiento específicos.
La Video API de Vonage utiliza devoluciones de llamadas para proporcionar eventos y actualizaciones de estado a la aplicación para monitoreo de sesión, archivo/grabación, SIP y Experience Composer. Las devoluciones de llamadas seguras están firmadas por un secreto de firma que el usuario configura a través del portal de la cuenta de Video, que puede ser verificado por la aplicación receptora para validar que la devolución de llamada se originó en Vonage.
Activación de retrollamadas seguras
Vaya al Panel de la Video API y selecciona un proyecto en el que te gustaría implementar esta función. Desplácese hacia abajo hasta que vea Configuración del proyecto y la opción Devolución de llamada segura como se muestra a continuación.
Project Settings inside the Video API Dashboard
Pulse el botón Editar y active la opción Devolución de llamada segura y pulse Guardar.
> Nota: Para el tráfico entrante restringido, Las direcciones IP de Vonage deben agregarse a la lista de direcciones IP aprobadas de tu firewall.
Ahora que la función ha sido activada, vamos a discutir las distintas devoluciones de llamada de la API y lo que hace cada una antes de activar una.
Devoluciones de llamada de Video API de Vonage
La API de Video de Vonage ofrece varias retrollamadas de API que se pueden proteger con esta función, entre ellas:
Monitorización de sesiones - Supervisa la actividad de la sesión.
Supervisión del archivo - Supervisa el estado de los archivos (o grabaciones).
Monitorización de llamadas SIP - Supervisa la actividad de las llamadas SIP.
Supervisión de Experience Composer - Monitores Compositor de experiencias.
Utilizaremos Monitorización de sesión para este ejemplo, pero los conocimientos adquiridos en esta sección se aplican a cualquiera de las otras retrollamadas mencionadas.
Control de la sesión
Los desarrolladores pueden supervisar ciertas actividades de los clientes desde el servidor de su aplicación. Al registrarse para las devoluciones de llamada, su URL de devolución de llamada recibirá solicitudes HTTP POST cuando cualquier cliente se conecte o publique.
Para activarla en su proyecto de Video actual, desplácese hacia abajo hasta que vea Monitorización de sesión y haga clic en Configurar.
Session Monitoring inside the Video API Dashboard
Puede configurar la URL de devolución de llamada y activar la opción Secreto de firma . Por defecto proporciona una firma generada aleatoriamente, pero puede especificar la suya propia. Haga clic en Enviar para continuar. El sistema informará de que se han configurado las devoluciones de llamada seguras con la URL y el secreto de firma.
Validar la solicitud
Existen dos formas principales de validar las retrollamadas seguras:
Verificación de la solicitud - Las devoluciones de llamada seguras incluirán un JWT en la cabecera de autorización. El secreto utilizado para firmar la solicitud se corresponde con el secreto de firma asociado a las
api_keyincluido en las peticiones JWT. Puede identificar su secreto de firma en el Panel de control. Se recomienda que los secretos de firma no sean inferiores a 32 bits para garantizar su seguridad.Verificación de la carga útil - Una vez que haya verificado la autenticidad de la solicitud, puede verificar opcionalmente que la carga útil de la solicitud no ha sido manipulada comparando un hash SHA-256 de la carga útil con el campo
payload_hashque se encuentra en las reivindicaciones JWT. Si no coinciden, la carga útil ha sido manipulada durante el tránsito. Sólo es necesario verificar la carga útil si se utiliza HTTP en lugar de HTTPS, ya que la seguridad de la capa de transporte (TLS) evita los siguientes ataques ataques MITM.
Un ejemplo de lo que Firmado Token Web JSON (JWT) firmado:
// header
{
"alg": "HS256",
"typ": "JWT",
}
// payload
{
"iat": 1587494962,
"jti": "c5ba8f24-1a14-4c10-bfdf-3fbe8ce511b5",
"iss": "Vonage",
"payload_hash" : "d6c0e74b5857df20e3b7e51b30c0c2a40ec73a77879b6f074ddc7a2317dd031b",
"api_key": "a1b2c3d",
"application_id": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab"
}Observe que el campo payload_hash es un hash SHA-256 de la carga de la solicitud. Puede compararse con la carga útil de la solicitud para garantizar que no ha sido manipulada durante el tránsito.
A ejemplo de código Node.js puede encontrarse aquí.
Resumen
Para recapitular, Retrollamadas seguras es una característica de seguridad que garantiza que cada devolución de llamada no ha sido manipulada en tránsito. Esto defiende contra la intercepción y posterior repetición. Verifica que la solicitud provenga de Vonage y garantiza que se cumplan las necesidades de conformidad de muchas industrias importantes. Puedes usarla hoy como una función disponible en general, sin cargo, habilitándola dentro de tu proyecto. Visita esta página para obtener una lista de limitaciones y consideraciones, ya que la información se actualiza con frecuencia.
Si tienes preguntas o comentarios, únete a nosotros en el Slack para desarrolladores de Vonage o envíanos un Tweet en Twittery te responderé. Gracias de nuevo por leer, ¡y te espero en el próximo!
Compartir:
Michael Crump trabaja en Vonage en el equipo de experiencias para desarrolladores y es programador, YouTuber y conferenciante habitual sobre diversos temas de desarrollo de .NET, la nube y las comunicaciones. Le apasiona ayudar a los desarrolladores a comprender las ventajas de cada uno de ellos de una forma sencilla.