Comparteix a través de


Marco de seguridad: Auditoría y registro | Mitigaciones

Producto o servicio Artículo
Dynamics CRM
Aplicación web
Base de datos
Almacenamiento de Azure
WCF
API web
Puerta de enlace de campo de IoT
Puerta de enlace de nube de IoT

Identificación de las entidades confidenciales de la solución e implementación de la auditoría de cambios

Título Detalles
Componente Dynamics CRM
Fase de SDL Build
Tecnologías aplicables Genérico
Atributos N/D
Referencias N/D
Pasos Identificación de las entidades de la solución que contienen datos confidenciales e implementación de la auditoría de cambios en esas entidades y campos

Comprobación de que la auditoría y el registro se aplican en la aplicación

Título Detalles
Componente Aplicación web
Fase de SDL Build
Tecnologías aplicables Genérico
Atributos N/D
Referencias N/D
Pasos Habilite la auditoría y el registro en todos los componentes. Los registros de auditoría deben reflejar el contexto de usuario. Identifique todos los eventos importantes y regístrelos. Implemente el registro centralizado.

Comprobación de que la rotación de registros y la separación están en funcionamiento

Título Detalles
Componente Aplicación web
Fase de SDL Build
Tecnologías aplicables Genérico
Atributos N/D
Referencias N/D
Pasos

La rotación de registros es un proceso automatizado que se usa en la administración del sistema en el que se archivan los archivos de registro con fecha. Los servidores que ejecutan aplicaciones grandes a menudo registran todas las solicitudes: en el caso de registros voluminosos, la rotación de registros es una forma de limitar el tamaño total de estos al tiempo que se permite el análisis de eventos recientes.

La separación de registros significa básicamente que se deben almacenar los archivos de registro en una partición diferente a aquella en la que se ejecuta la aplicación o el SO con el fin de evitar un ataque de denegación de servicio o la disminución del rendimiento de la aplicación

Comprobación de que la aplicación no registra datos confidenciales del usuario

Título Detalles
Componente Aplicación web
Fase de SDL Build
Tecnologías aplicables Genérico
Atributos N/D
Referencias N/D
Pasos

Compruebe que no se registra ningún dato confidencial que un usuario envía a su sitio. Compruebe para ver si hay algún registro intencionado, o efectos secundarios causados por problemas de diseño. Ejemplos de datos confidenciales incluyen:

  • Credenciales de usuario
  • Número del seguro social u otra información de identificación
  • Números de tarjeta de crédito u otra información financiera
  • Información relacionada con la salud
  • Claves privadas u otros datos que se pudieron usar para descifrar información cifrada
  • Información del sistema o de la aplicación que se puede usar para atacar la aplicación de forma más eficaz

Comprobación de que los archivos de registro y auditoría tienen acceso restringido

Título Detalles
Componente Aplicación web
Fase de SDL Build
Tecnologías aplicables Genérico
Atributos N/D
Referencias N/D
Pasos

Compruebe que los derechos de acceso a los archivos de registro se han establecido correctamente. Las cuentas de la aplicación deben tener operadores y acceso de solo escritura y el personal de soporte técnico debe tener acceso de solo lectura según sea necesario.

Las cuentas de los administradores son las únicas cuentas que deben tener un acceso total. Compruebe la ACL de Windows en los archivos de registro para garantizar que estén correctamente restringidos:

  • Las cuentas de la aplicación deben tener acceso de solo escritura
  • Los operadores y el personal de soporte técnico deben tener acceso de solo lectura según sea necesario
  • Los administradores tienen las únicas cuentas que deben tener acceso total

Comprobación de que se registran los eventos de administración de usuario

Título Detalles
Componente Aplicación web
Fase de SDL Build
Tecnologías aplicables Genérico
Atributos N/D
Referencias N/D
Pasos

Compruebe que la aplicación supervisa los eventos de administración de usuario como los inicios de sesión de usuario correctos e incorrectos, el restablecimiento de contraseñas, los cambios de contraseña, el bloqueo de cuenta y el registro de usuario. Si hace esto ayuda a detectar y a reaccionar ante comportamientos potencialmente sospechosos. También permite recopilar datos de las operaciones. Por ejemplo, para realizar un seguimiento de quién tiene acceso a la aplicación

Comprobación de que el sistema tiene defensas integradas contra usos indebidos

Título Detalles
Componente Aplicación web
Fase de SDL Build
Tecnologías aplicables Genérico
Atributos N/D
Referencias N/D
Pasos

Los controles deben funcionar de forma que generen excepciones de seguridad en caso de uso incorrecto de una aplicación. Por ejemplo, si la validación de entrada está en funcionamiento y un atacante intenta insertar código malicioso que no coincide con la expresión regular, se generará una excepción de seguridad que puede ser un indicativo de uso indebido del sistema

Por ejemplo, se recomienda registrar las excepciones de seguridad y realizar acciones para los siguientes problemas:

  • Validación de entradas
  • Infracciones de CSRF
  • Fuerza bruta (límite superior en relación con el número de solicitudes por usuario y recurso)
  • Infracciones de carga de archivos

    Habilitación del registro de diagnóstico para aplicaciones web en Azure App Service

    Título Detalles
    Componente Aplicación web
    Fase de SDL Build
    Tecnologías aplicables Genérico
    Atributos EnvironmentType: Azure
    Referencias N/D
    Pasos

    Azure integra diagnósticos para ayudar a depurar Aplicaciones web de App Service. También se aplica a aplicaciones móviles y aplicaciones de API. Aplicaciones web de App Service ofrece la funcionalidad de diagnóstico para registrar información del servidor web y de la aplicación web.

    De forma lógica, estos diagnósticos se dividen en diagnósticos del servidor web y diagnósticos de aplicaciones.

    Comprobación de que está habilitada la auditoría de inicio de sesión en SQL Server

    Título Detalles
    Componente Base de datos
    Fase de SDL Build
    Tecnologías aplicables Genérico
    Atributos N/D
    Referencias Configuración de la auditoría de inicio de sesión
    Pasos

    La auditoría de inicio de sesión del servidor de base de datos debe estar habilitada para detectar y confirmar ataques para averiguar la contraseña. Es importante capturar los intentos de inicio de sesión incorrectos. Capturar los intentos de inicio de sesión correctos e incorrectos proporciona una ventaja adicional durante las investigaciones

    Habilitamiento de la detección de amenazas en Azure SQL

    Título Detalles
    Componente Base de datos
    Fase de SDL Build
    Tecnologías aplicables SQL Azure
    Atributos Versión de SQL: V12
    Referencias Introducción a Detección de amenazas de SQL Database
    Pasos

    Detección de amenazas detecta actividades anómalas en la base de datos que indican posibles amenazas de seguridad a la base de datos. La detección de amenazas ofrece un nuevo nivel de seguridad, que permite a los clientes detectar amenazas potenciales y responder a ellas a medida que se producen, gracias a las alertas de seguridad sobre actividades anómalas que se proporcionan.

    Los usuarios pueden explorar los eventos sospechosos mediante la auditoría de Azure SQL Database para determinar si proceden de un intento de acceder a los datos en la base de datos, infringir su seguridad o aprovecharlos.

    Detección de amenazas facilita la solución de las posibles amenazas a la base de datos sin necesidad de ser un experto en seguridad ni administrar sistemas de supervisión de seguridad avanzada.

    Uso de Análisis de Azure Storage para auditar el acceso de Azure Storage

    Título Detalles
    Componente Azure Storage
    Fase de SDL Implementación
    Tecnologías aplicables Genérico
    Atributos N/D
    Referencias Uso de Análisis de Storage para supervisar el tipo de autorización
    Pasos

    Para cada cuenta de almacenamiento, se puede habilitar el Análisis de Azure Storage para realizar el registro y almacenar datos de métricas. Los registros de análisis de almacenamiento proporcionan información importante como, por ejemplo, el método de autenticación utilizado por un usuario al acceder al almacenamiento.

    Esto puede resultar muy útil si se está esforzando por proteger el acceso al almacenamiento. Por ejemplo, en Blob Storage puede configurar todos los contenedores para que sean privados e implementar el uso de un servicio de Firma de acceso compartido en sus aplicaciones. Luego puede comprobar los registros periódicamente para ver si se ha accedido a los blobs mediante las claves de la cuenta de almacenamiento, lo que podría indicar una infracción de seguridad, o si los blobs son públicos pero no deberían serlo.

    Implementación de suficientes registros

    Título Detalles
    Componente WCF
    Fase de SDL Build
    Tecnologías aplicables .NET Framework
    Atributos N/D
    Referencias MSDN, Fortify Kingdom
    Pasos

    La falta de una traza de auditoría después de un incidente de seguridad, puede dificultar los esfuerzos de investigación. Windows Communication Foundation (WCF) ofrece la capacidad de registrar los intentos de autenticación correctos e incorrectos.

    Si registra los intentos de autenticación incorrectos puede advertir a los administradores de posibles ataques de fuerza bruta. Del mismo modo, el registro de eventos de autenticación correctos puede proporcionar una traza de auditoría útil cuando está en peligro una cuenta legítima. Habilite la característica de auditoría de seguridad del servicio de WCF.

    Ejemplo

    El siguiente es un ejemplo de configuración con la auditoría habilitada

    <system.serviceModel>
        <behaviors>
            <serviceBehaviors>
                <behavior name=""NewBehavior"">
                    <serviceSecurityAudit auditLogLocation=""Default""
                    suppressAuditFailure=""false"" 
                    serviceAuthorizationAuditLevel=""SuccessAndFailure""
                    messageAuthenticationAuditLevel=""SuccessAndFailure"" />
                    ...
                </behavior>
            </servicebehaviors>
        </behaviors>
    </system.serviceModel>
    

    Implementación de un control suficiente de errores de auditoría

    Título Detalles
    Componente WCF
    Fase de SDL Build
    Tecnologías aplicables .NET Framework
    Atributos N/D
    Referencias MSDN, Fortify Kingdom
    Pasos

    La solución desarrollada se ha configurado para que no genere una excepción cuando se produce un error al escribir en un registro de auditoría. Si WCF está configurado para que no genere una excepción cuando no puede escribir en un registro de auditoría, el programa no recibirá la notificación del error y puede que no se produzca la auditoría de eventos de seguridad críticos.

    Ejemplo

    El elemento <behavior/> del archivo de configuración de WCF que aparece a continuación, indica a WCF que no notifique a la aplicación cuando WCF no pueda escribir en un registro de auditoría.

    <behaviors>
        <serviceBehaviors>
            <behavior name="NewBehavior">
                <serviceSecurityAudit auditLogLocation="Application"
                suppressAuditFailure="true"
                serviceAuthorizationAuditLevel="Success"
                messageAuthenticationAuditLevel="Success" />
            </behavior>
        </serviceBehaviors>
    </behaviors>
    

    Configure WCF para que informe al programa siempre que no pueda escribir en un registro de auditoría. El programa debe tener un esquema de notificación alternativo en funcionamiento para alertar a la organización de que no se están conservando las trazas de auditoría.

    Comprobación de que la auditoría y el registro se aplican en Web API

    Título Detalles
    Componente API Web
    Fase de SDL Build
    Tecnologías aplicables Genérico
    Atributos N/D
    Referencias N/D
    Pasos Habilite la auditoría y el registro en las Web API. Los registros de auditoría deben reflejar el contexto de usuario. Identifique todos los eventos importantes y regístrelos. Implemente el registro centralizado.

    Comprobación de que se aplican la auditoría y registro adecuados en la puerta de enlace de campo

    Título Detalles
    Componente Puerta de enlace de campo de IoT
    Fase de SDL Build
    Tecnologías aplicables Genérico
    Atributos N/D
    Referencias N/D
    Pasos

    Cuando varios dispositivos se conectan a una puerta de enlace de campo, asegúrese de que los intentos de conexión y el estado de autenticación (correcto o incorrecto) de los dispositivos individuales se registra y conserva en la puerta de enlace de campo.

    Además, en los casos en los que la puerta de enlace de campo conserva las credenciales de IoT Hub de los dispositivos individuales, asegúrese de que la auditoría se realiza cuando se recuperan estas credenciales. Desarrolle un proceso para cargar periódicamente los registros en Azure IoT Hub o Storage para su retención a largo plazo.

    Comprobación de que se aplican la auditoría y registro adecuados en la puerta de enlace de nube

    Título Detalles
    Componente Puerta de enlace de la nube de IoT
    Fase de SDL Build
    Tecnologías aplicables Genérico
    Atributos N/D
    Referencias Introducción a la supervisión de operaciones de IoT Hub
    Pasos

    Diseño para recopilar y almacenar datos de auditoría recopilados mediante la supervisión de operaciones de IoT Hub. Habilite las siguientes categorías de supervisión:

    • Operaciones de identidad de dispositivos
    • Comunicaciones de dispositivo a nube
    • Comunicaciones de nube a dispositivo
    • Conexiones
    • Cargas de archivos