Creación de estándares y recomendaciones de seguridad personalizados en Microsoft Defender for Cloud

Las recomendaciones de seguridad de Microsoft Defender for Cloud le ayudan a mejorar y reforzar su posición de seguridad. Las recomendaciones se basan en las evaluaciones con los estándares de seguridad definidas en Defender for Cloud, las cuentas de AWS y los proyectos de GCP en los que Defender for Cloud está habilitado.

En este artículo se describe cómo:

  • Crea recomendaciones personalizadas para todas las nubes (Azure, AWS y GCP) con una consulta KQL.
  • Asigne recomendaciones personalizadas a un estándar de seguridad personalizado.

Antes de comenzar

  • Para crear un estándar de seguridad necesita permisos de propietario en la suscripción.
  • Para crear recomendaciones personalizadas necesitas permisos de administrador de seguridad.
  • Para crear recomendaciones personalizadas basadas en KQL, el plan Defender CSPM debe estar habilitado. Todos los clientes pueden crear recomendaciones personalizadas basadas en Azure Policy.
  • Para obtener recomendaciones personalizadas, consulte la compatibilidad con las nubes de Azure.

Para obtener más información sobre la característica y profundizar en la creación de consultas KQL, se recomienda ver este episodio de Defender for Cloud en el campo.

Crear una recomendación personalizada

Cree recomendaciones personalizadas, entre las que se incluyen los pasos necesarios para la corrección, la gravedad y los estándares a los que se debe asignar la recomendación. Agregue lógica de recomendación con KQL. Puede usar un editor de consultas simple con una plantilla de consulta integrada que puede ajustar según sea necesario, o bien puede escribir la consulta de KQL desde cero.

  1. En el portal de Defender for Cloud >Configuración del entorno, selecciona el ámbito correspondiente.

  2. Seleccione Directivas de seguridad>+ Crear>Recomendación personalizada.

  3. En Detalles de recomendación, rellene los detalles de la recomendación (por ejemplo: nombre y gravedad) y seleccione los estándares a los que desea agregar la recomendación.

    Captura de pantalla que muestra dónde rellenar los detalles que describen la recomendación.

  4. Seleccione Siguiente.

  5. En Consulta de recomendación, escriba una consulta KQL o seleccione Abrir editor de consultas para estructurar la consulta. Si desea usar el editor de consultas, siga las instrucciones que encontrará a continuación.

  6. Cuando la consulta esté lista, seleccione Siguiente.

  7. En Estándares, seleccione los estándares personalizados a los que desea agregar la recomendación personalizada.

  8. y en Revisar y crear, examine los detalles de las recomendaciones.

    Captura de pantalla que muestra dónde revisar los detalles de la recomendación.

Uso del editor de consultas

Para crear una consulta de recomendación, es aconsejable usar el editor de consultas.

  • El uso del editor le ayuda a compilar y probar la consulta antes de empezar a usarla.
  • Seleccione Cómo para obtener ayuda sobre cómo estructurar la consulta, así como instrucciones y vínculos adicionales.
  • El editor contiene ejemplos de consultas de recomendaciones integradas que puede usar para ayudarle a crear su propia consulta. Los datos aparecen con la misma estructura que en la API.
  1. En el editor de consultas, seleccione Nueva consulta crear una consulta.

  2. Para empezar, use la plantilla de consulta de ejemplo con sus instrucciones o seleccione una consulta de recomendación integrada de ejemplo.

    Captura de pantalla que muestra cómo usar el editor de consultas.

  3. Selecciona Ejecutar consulta para probar la consulta que has creado.

  4. Cuando la consulta esté lista, córtela del editor y péguela en el panel Consulta de recomendaciones.

Crear un estándar personalizado

Las recomendaciones personalizadas se pueden asignar a uno o varios estándares personalizados.

  1. Inicie sesión en Azure Portal.

  2. Vaya a Microsoft Defender for Cloud>Configuración del entorno.

  3. Seleccione el ámbito pertinente.

  4. Seleccione Directivas de seguridad>+ Crear>Estándar.

  5. En Recomendaciones, seleccione las recomendaciones que desea agregar al estándar personalizado. En el caso de las suscripciones de Azure, también puedes ver el origen.

    Captura de pantalla que muestra la lista de todas las recomendaciones que están disponibles a fin de seleccionar para el estándar personalizado.

  6. Seleccione Crear.

Creación y mejora de recomendaciones personalizadas con Azure Policy (heredado)

En el caso de las suscripciones de Azure, puedes crear recomendaciones y estándares personalizados, así como mejorarlas mediante Azure Policy. Se trata de una característica heredada y se recomienda usar la nueva característica de recomendaciones personalizadas.

Creación de una recomendación o estándar personalizada (heredada)

Puede crear recomendaciones y estándares personalizados en Defender for Cloud mediante la creación de definiciones de directivas e iniciativas en Azure Policy y su incorporación en Defender for Cloud.

Así es cómo debe hacerlo:

  1. Cree una o varias definiciones de directiva en Azure Policy Portalo mediante programación.
  2. Cree una iniciativa de directiva que contenga las definiciones de directiva personalizadas.

Incorporación de la iniciativa como estándar personalizado (heredado)

Azure Policy usa asignaciones de directivas para asignar recursos de Azure a una directiva o iniciativa.

Para incorporar una iniciativa a un estándar de seguridad personalizado en Defender, debe incluir "ASC":"true" en el cuerpo de la solicitud, como se muestra aquí. El campo ASC incorpora la iniciativa en Microsoft Defender for Cloud.

Este es un ejemplo de cómo hacerlo.

Ejemplo para incorporar una iniciativa personalizada

  PUT  
  PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}?api-version=2021-06-01

  Request Body (JSON) 

  {
    "properties": {
      "displayName": "Cost Management",
      "description": "Policies to enforce low cost storage SKUs",
      "metadata": {
        "category": "Cost Management"
        "ASC":"true"
      },
      "parameters": {
        "namePrefix": {
          "type": "String",
          "defaultValue": "myPrefix",
          "metadata": {
            "displayName": "Prefix to enforce on resource names"
          }
        }
      },
      "policyDefinitions": [
        {
          "policyDefinitionId": "/subscriptions/<Subscription ID>/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1",
          "policyDefinitionReferenceId": "Limit_Skus",
          "parameters": {
            "listOfAllowedSKUs": {
              "value": [
                "Standard_GRS",
                "Standard_LRS"
              ]
            }
          }
        },
        {
          "policyDefinitionId": "/subscriptions/<Subscription ID>/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
          "policyDefinitionReferenceId": "Resource_Naming",
          "parameters": {
            "prefix": {
              "value": "[parameters('namePrefix')]"
            },
            "suffix": {
              "value": "-LC"
            }
          }
        }
      ]
    }
  }

Ejemplo para quitar una asignación

En este ejemplo se muestra cómo quitar una asignación:

  DELETE   
  https://management.azure.com/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}?api-version=2018-05-01 

Mejora de las recomendaciones personalizadas (heredadas)

Las recomendaciones integradas que se suministran con Microsoft Defender for Cloud incluyen detalles como los niveles de gravedad y las instrucciones de corrección. Si desea agregar este tipo de información a recomendaciones personalizadas para Azure, use la API de REST.

Los dos tipos de información que puede agregar son:

  • RemediationDescription, cadena
  • Severity, enumeración [Low, Medium, High]

Los metadatos deben agregarse a la definición de la directiva para una directiva que forme parte de la iniciativa personalizada. Debe estar en la propiedad "securityCenter", como se muestra a continuación:

 "metadata": {
  "securityCenter": {
    "RemediationDescription": "Custom description goes here",
    "Severity": "High"
    },

Aquí se muestra otro ejemplo de una directiva personalizada que incluye la propiedad metadata/securityCenter:

{
"properties": {
"displayName": "Security - ERvNet - AuditRGLock",
"policyType": "Custom",
"mode": "All",
"description": "Audit required resource groups lock",
"metadata": {
  "securityCenter": {
    "RemediationDescription": "Resource Group locks can be set via Azure Portal -> Resource Group -> Locks",
    "Severity": "High"
 }
},
"parameters": {
  "expressRouteLockLevel": {
    "type": "String",
    "metadata": {
      "displayName": "Lock level",
      "description": "Required lock level for ExpressRoute resource groups."
    },
    "allowedValues": [
      "CanNotDelete",
      "ReadOnly"
    ]
  }
},
"policyRule": {
  "if": {
    "field": "type",
    "equals": "Microsoft.Resources/subscriptions/resourceGroups"
  },
  "then": {
    "effect": "auditIfNotExists",
    "details": {
      "type": "Microsoft.Authorization/locks",
      "existenceCondition": {
        "field": "Microsoft.Authorization/locks/level",
        "equals": "[parameters('expressRouteLockLevel')]"
      }
    }
  }
}
}
}

Para obtener otro ejemplo para usar la propiedad securityCenter, consulte esta sección de la documentación de la API de REST.

En los siguientes vínculos encontrará más información sobre las consultas de Kusto: