¿Está bien escribir el token de OidC Bearer en el registro?

4

Durante el desarrollo, agregamos a los registros de errores los detalles de las solicitudes http, incluidos los encabezados, para comprender mejor la investigación de errores. Nuestro arquitecto señaló que no debemos colocar información confidencial en los registros. Mi pregunta fue si deberíamos considerar el token de portador como información altamente sensible teniendo en cuenta que el token de acceso es un objeto de corta duración.

Las recomendaciones de El marco de autorización de OAuth 2.0: uso del token de portador :

  

Si se pasan tokens de portador en las URL de la página, los atacantes podrían ser capaces de   robarlos de los datos históricos, registros u otras ubicaciones no seguras.

Supongo que tampoco se recomienda registrar los tokens en los registros de errores.

Sin embargo, Asp.Net Core genera mensajes de información, que incluyen el token de soporte (ambos codificados y en JSON)

  

2017-09-15 08: 32: 42.571 +00: 00 [Información] Error al validar el   simbólico   "eyJ0eXAiOiJKV1QiLCJhb (he   truncado el token pero el token completo se puede decodificar en JWT.io) ".   Microsoft.IdentityModel.Tokens.SecurityTokenSignatureKeyNotFoundException:   IDX10501: Falló la validación de la firma. No se puede hacer coincidir 'niño':   'HHByKU-0DqAxxx', token:   '{"alg": "RS256", "typ": "JWT", "x5t": "HHByKU-0DqAxxx", "kid": "HHByKU-0DqAxxx"}. {"aud": " enlace ", "iss": " enlace ", "iat": 1505464062, "nbf": 1505464062, "exp": 1505467962, "acr": "1", "aio": "ASQAxxx", "amr": ["pwd", "appid": "cc9aa533 -xxx "," appidacr ":" 1 "," e_exp ": 262800," family_name ":" Freidgeim "," given_name ":" Michael "," groups ": [xxx]", "2d62738a-xxx"], "in_corp": "true", "ipaddr": "121.1.1.1", "name": "Michael   Freidgeim "," oid ":" 138f5eca-xxx "," onprem_sid ":" S-1-5-21-xxx "," roles ": [" UATAdmin "]," scp ":" user_impersonation "," sub " : "vTFBQRxxx", "tid": "5de0e68c-xxx", "unique_name": "Michael.Freidgeim@xxx", "upn": "Michael.Freidgeim@xxx", "ver": "1.0"} '.   a   System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateSignature (String   token, TokenValidationParameters validationParameters) en   System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateToken (String   token, TokenValidationParameters validationParameters, SecurityToken &   validadoToken)          en Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler. < HandleAuthenticateAsync > d__1.MoveNext ()

¿Significa que el riesgo no es tan grande porque Microsoft considera aceptable incluirlo en los registros?

¿O deberíamos excluir Microsoft / System Information LogLevel de los registros? Será bastante restrictivo, ya que estamos utilizando los registros de información para la investigación, así como para algunos monitores / estadísticas (como el número de inicios de sesión).

¿Cuál es el enfoque recomendado con respecto al almacenamiento de tokens en registros si queremos satisfacer los requisitos de seguridad e investigación?

    
pregunta Michael Freidgeim 17.09.2017 - 14:33
fuente

2 respuestas

0

Si parte del marco está registrando mensajes INFO, los suprimiría en un entorno de producción. Lo más probable es que en el ejemplo dado anteriormente también se registre una entrada de nivel ERROR menos verbosa.

    
respondido por el mackie 17.09.2018 - 23:11
fuente
0

Puede ser una buena idea dividir los datos en registros operativos y SIEM, con diferentes restricciones de acceso. De esa manera, puede investigar la mayoría de los problemas sin riesgo de filtrar información de seguridad o de PII. Porque esas son tus dos preocupaciones; que el registro revele bastante información personal a sus usuarios y que los tokens sean contraseñas válidas (autorizaciones de portador) hasta que caduquen. Solo registramos el ID de token (jit) en los registros operativos, pero mantenemos el token completo en un almacén de eventos seguro en caso de que el token completo sea necesario para la investigación.

    
respondido por el Geir Emblemsvag 18.10.2018 - 06:52
fuente

Lea otras preguntas en las etiquetas