Cuando un usuario se conecta a una red corporativa a través de un cliente VPN empresa, esto es lo que registra el dispositivo VPN:

El administrador de esa red privada sabe que el usuario tuvo acceso a las 12:15:05, pero, en la mayoría de los casos, no conoce lo que hizo a continuación. Una vez dentro de esa red privada, los usuarios pueden acceder a herramientas internas, datos confidenciales y entornos de producción. Para evitar esto, se requiere una complicada segmentación de red y, a menudo, cambios en las aplicaciones del lado del servidor. Registrar los pasos de un individuo en el interior de esa red es aún más difícil.

Cloudflare Access no mejora el registro de VPN; reemplaza a este modelo. Cloudflare Access protege los sitios internos mediante la evaluación de cada solicitud, no solo el inicio de sesión inicial, para comprobar la identidad y el permiso. En lugar de una red privada, los administradores implementan aplicaciones corporativas respaldadas por Cloudflare haciendo uso de nuestro sistema de nombres de dominio (DNS) autorizado. Luego, los administradores integran el inicio de sesión único (SSO) de su equipo y crean reglas específicas para el usuario y el grupo para controlar quién puede acceder a las aplicaciones de Access Gateway.

Cuando se hace una solicitud a un sitio que respalda Access, Cloudflare solicita al visitante que inicie sesión con un proveedor de identidad. Luego, Access comprueba la identidad de ese usuario con las reglas configuradas y, si está autorizado, permite que la solicitud siga su curso. Access hace estas comprobaciones para cada solicitud que presenta un usuario de una manera transparente y sin inconvenientes para el usuario final.

Sin embargo, desde el día que lanzamos Access, nuestro registro se asemeja a la captura de pantalla que se muestra más arriba. La registramos cuando un usuario se autenticó por primera vez a través de la puerta de enlace, pero se detuvo ahí. A partir de hoy, podemos brindar a tu equipo la imagen completa de cada solicitud que se hace a cada aplicación.

Nos complace anunciar que ahora puedes captar registros de cada solicitud que haga un usuario a un recurso con el respaldo de Cloudflare Access. Ahora, en caso de una emergencia, como por ejemplo una computadora portátil robada, puedes auditar cada URL solicitada durante una sesión. Los registros se estandarizan en un solo lugar, independientemente de si utilizas varios proveedores de inicio de sesión único (SSO) o varias aplicaciones seguras, y la plataforma Cloudflare Logpush puede enviarlos a tu SIEM para su retención y análisis.

Auditoría de cada inicio de sesión

Cloudflare Access mejora la velocidad y la seguridad que Cloudflare brinda a los sitios orientados al público, y aplica esa información aprendida a las aplicaciones internas que utiliza tu equipo. Para la mayoría de los equipos, estas eran aplicaciones que tradicionalmente dependían de una VPN corporativa. Una vez que un usuario se unía a esa VPN, estaba dentro de esa red privada, y los administradores tenían que tomar medidas adicionales para evitar que los usuarios tuvieran acceso a cosas a las que no deberían acceder.

Access derriba este modelo al suponer que ningún usuario debe tener acceso a nada de manera predeterminada. Para esto, aplica una solución de confianza cero a las herramientas internas que utiliza tu equipo. Con Access, cuando cualquier usuario solicita el nombre de host de esa aplicación, la solicitud llega primero a Cloudflare. Comprobamos si el usuario está autenticado y, en caso de no ser así, lo enviamos a tu proveedor de identidad como Okta o Azure ActiveDirectory. Se solicita al usuario que inicie sesión y Cloudflare evalúa si le autoriza el acceso a la aplicación solicitada. Todo esto sucede en el perímetro de nuestra red antes de que una solicitud llegue tu origen, y el usuario experimenta el flujo de inicio de sesión único (SSO) sin inconvenientes al que está acostumbrado para aplicaciones SaaS.

Cuando un usuario se autentica con tu proveedor de identidad, auditamos ese evento como un inicio de sesión y los ponemos a disposición en nuestra interfaz de programación de aplicaciones (API). Registramos el correo electrónico del usuario, su dirección IP, la hora a la que se autenticó, el método (en este caso, un flujo de SSO de Google) y la aplicación a la que accedió.

Estos registros te pueden ayudar a hacer un seguimiento de todos los usuarios que se conectaron a una aplicación interna, incluso los contratistas y socios que podrían usar diferentes proveedores de identidad. Sin embargo, este registro se detuvo en la autenticación. Access no registró los siguientes pasos de un usuario determinado.

Auditoría de cada solicitud

Cloudflare protege tanto los sitios externos como los recursos internos al evaluar cada solicitud en nuestra red antes de enviarla a tu origen. Productos como nuestro WAF aplican reglas para proteger tu sitio de ataques como inyección de código SQL o secuencias de comandos en sitios cruzados. Del mismo modo, Access identifica lo fundamental detrás de cada solicitud mediante la evaluación de cada conexión que atraviesa la puerta de enlace.

Una vez que un miembro de tu equipo se autentica para acceder a un recurso de Access, generamos un token para ese usuario que contiene su identidad de inicio de sesión único (SSO). El token está estructurado como JSON Web Token (JWT). La seguridad JWT es un estándar abierto para firmar y cifrar información confidencial. Estos tokens brindan un mecanismo seguro y con gran cantidad de información que Access puede usar para verificar los usuarios individuales. Cloudflare firma el JWT mediante un par de clave pública y privada que controlamos. Confiamos en RSA Signature con SHA-256, o RS256, un algoritmo asimétrico, para hacer esa firma. Hacemos que la clave pública esté disponible para que también puedas validar su autenticidad.

Cuando un usuario solicita una dirección URL determinada, Access anexa la identidad de usuario de ese token como un encabezado de solicitud, que luego registramos a medida que la solicitud atraviesa nuestra red. Tu equipo puede recopilar estos registros en tu destino de almacenamiento o SIEM de terceros que prefieras mediante la plataforma Logpush de Cloudflare.

Logpush de Cloudflare se puede usar para recopilar y enviar encabezados de solicitud específicos desde las solicitudes enviadas a los sitios respaldados por Access. Una vez hecha la habilitación, puedes configurar el destino al que Cloudflare debe enviar estos registros. Cuando se habilita con el campo de identidad de usuario de Access, los registros se exportarán a tus sistemas como JSON de manera similar a los siguientes registros.

{
   "ClientIP": "198.51.100.206",
   "ClientRequestHost": "jira.widgetcorp.tech",
   "ClientRequestMethod": "GET",
   "ClientRequestURI": "/secure/Dashboard/jspa",
   "ClientRequestUserAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36",
   "EdgeEndTimestamp": "2019-11-10T09:51:07Z",
   "EdgeResponseBytes": 4600,
   "EdgeResponseStatus": 200,
   "EdgeStartTimestamp": "2019-11-10T09:51:07Z",
   "RayID": "5y1250bcjd621y99"
   "RequestHeaders":{"cf-access-user":"srhea"},
}
 
{
   "ClientIP": "198.51.100.206",
   "ClientRequestHost": "jira.widgetcorp.tech",
   "ClientRequestMethod": "GET",
   "ClientRequestURI": "/browse/EXP-12",
   "ClientRequestUserAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36",
   "EdgeEndTimestamp": "2019-11-10T09:51:27Z",
   "EdgeResponseBytes": 4570,
   "EdgeResponseStatus": 200,
   "EdgeStartTimestamp": "2019-11-10T09:51:27Z",
   "RayID": "yzrCqUhRd6DVz72a"
   "RequestHeaders":{"cf-access-user":"srhea"},
}

En el ejemplo anterior, el usuario visitó inicialmente la página de presentación de una instancia de prueba de Jira. La siguiente solicitud se hizo para un ticket específico de Jira, EXP-12, aproximadamente un minuto después de la primera solicitud. Con el registro por solicitud, los administradores de Access pueden revisar cada solicitud que un usuario haya enviado luego de la autenticación en caso de que una cuenta se vea comprometida o se haya robado un dispositivo.

Los registros son uniformes en todas las aplicaciones y con todos los proveedores de identidad. Se registran los mismos campos estándar cuando los contratistas inician sesión con su instancia de AzureAD en la herramienta de la cadena de suministro como cuando los usuarios internos se autentican con Okta en su Jira. También puedes agregar datos a los anteriores con otros detalles de la solicitud como el cifrado TLS que se utilizó y los resultados WAF.

¿Cómo se pueden utilizar estos datos?

Las capacidades de registro originarias de las aplicaciones alojadas varían mucho. Algunas herramientas ofrecen registros más sólidos de la actividad del usuario, pero otras requerirían cambios en el código del lado del servidor o soluciones alternativas para agregar este nivel de registro. Cloudflare Access le ofrece a tu equipo la capacidad de omitir ese trabajo e introducir el registro en una única puerta de enlace que se aplica a todos los recursos que protege.

Los registros de auditoría se pueden exportar a herramientas SIEM de terceros o buckets de S3 para análisis y detección de anomalías. Los datos también se pueden utilizar con fines de auditoría en caso de pérdida o robo de un dispositivo corporativo. Luego, los equipos de seguridad pueden usar esto para volver a crear sesiones de usuario a partir de registros a medida que avanza la investigación.

¿Qué sigue?

Los clientes empresariales que tienen la plataforma Logpush habilitada ahora pueden usar esta función sin costo adicional. Aquí puedes consultar las instrucciones para configurar Logpush y aquí puedes consultar la documentación adicional para habilitar los registros por solicitud de Access.