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:
|
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:
|
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:
|
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:
|