

# La política de AWS IoT está potencialmente mal configurada
<a name="audit-chk-iot-misconfigured-policies"></a>

Se identificó una política de AWS IoT potencialmente mal configurada. Las políticas mal configuradas, incluidas las políticas demasiado permisivas, pueden provocar incidentes de seguridad, como permitir que los dispositivos accedan a recursos no deseados.

La comprobación de una **política de AWS IoT potencialmente mal configurada** es una advertencia para que se asegure de que solo se permiten las acciones previstas antes de actualizar la política.

Esta comprobación aparece como `IOT_POLICY_POTENTIAL_MISCONFIGURATION_CHECK` en la CLI y la API.

**Gravedad:** media

## Details
<a name="audit-chk-iot-misconfigured-policies-details"></a>

AWS IoT devuelve el siguiente código de motivo cuando esta comprobación encuentra una política de AWS IoT potencialmente mal configurada:
+ POLICY\$1CONTAINS\$1MQTT\$1WILDCARDS\$1IN\$1DENY\$1STATEMENT
+ TOPIC\$1FILTERS\$1INTENDED\$1TO\$1DENY\$1ALLOWED\$1USING\$1WILDCARDS

## ¿Por qué importa?
<a name="audit-chk-iot-misconfigured-policies-why-it-matters"></a>

Las políticas mal configuradas pueden tener consecuencias no deseadas, ya que proporcionan más permisos a los dispositivos de los necesarios. Recomendamos considerar detenidamente la política para limitar el acceso a los recursos y prevenir las amenazas a la seguridad.

### La política contiene caracteres comodín de MQTT en el ejemplo de la declaración de denegación
<a name="example-section-id"></a>

La **comprobación de la política de AWS IoT potencialmente mal configurada**, inspecciona los caracteres comodín (`+` o `#`) de MQTT en las declaraciones de denegación. Las políticas tratan los caracteres comodín como cadenas literales y pueden hacer que la política de AWS IoT sea demasiado permisiva.

El siguiente ejemplo tiene por objeto denegar la suscripción a temas relacionados con `building/control_room` usando el comodín de MQTT en las políticas de `#`. Sin embargo, los caracteres comodín de MQTT no tienen un significado comodín en las políticas de AWS IoT y los dispositivos se pueden suscribir a `building/control_room/data1`.

La **comprobación de la política de AWS IoT potencialmente mal configurada** marcará esta política con un código de motivo `POLICY_CONTAINS_MQTT_WILDCARDS_IN_DENY_STATEMENT`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iot:Subscribe",
            "Resource": "arn:aws:iot:us-east-1:123456789012:topicfilter/building/*"
        },
        {
            "Effect": "Deny",
            "Action": "iot:Subscribe",
            "Resource": "arn:aws:iot:us-east-1:123456789012:topicfilter/building/control_room/#"
        },
        {
            "Effect": "Allow",
            "Action": "iot:Receive",
            "Resource": "arn:aws:iot:us-east-1:123456789012:topic/building/*"
        }
    ]
}
```

------

A continuación se muestra un ejemplo de una política correctamente configurada. Los dispositivos no tienen permiso para suscribirse a subtemas de `building/control_room/` ni para recibir mensajes de subtemas de `building/control_room/`.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iot:Subscribe",
      "Resource": "arn:aws:iot:us-east-1:123456789012:topicfilter/building/*"
    },
    {
      "Effect": "Deny",
      "Action": "iot:Subscribe",
      "Resource": "arn:aws:iot:us-east-1:123456789012:topicfilter/building/control_room/*"
    },
    {
      "Effect": "Allow",
      "Action": "iot:Receive",
      "Resource": "arn:aws:iot:us-east-1:123456789012:topic/building/*"
    },
    {
      "Effect": "Deny",
      "Action": "iot:Receive",
      "Resource": "arn:aws:iot:us-east-1:123456789012:topic/building/control_room/*"
    }
  ]
}
```

------

### Ejemplo de filtros de temas destinados a denegar el uso de caracteres comodín
<a name="example-section-id2"></a>

La siguiente política de ejemplo pretende denegar la suscripción a temas relacionados con `building/control_room` denegando el recurso de `building/control_room/*`. Sin embargo, los dispositivos pueden enviar solicitudes para suscribirse a `building/#` y recibir mensajes de todos los temas relacionados con `building`, incluidos `building/control_room/data1`.

La **comprobación de la política de AWS IoT potencialmente mal configurada** marcará esta política con un código de motivo `TOPIC_FILTERS_INTENDED_TO_DENY_ALLOWED_USING_WILDCARDS`.

El siguiente ejemplo de política tiene permisos para recibir mensajes en `building/control_room topics`:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iot:Subscribe",
            "Resource": "arn:aws:iot:us-east-1:123456789012:topicfilter/building/*"
        },
        {
            "Effect": "Deny",
            "Action": "iot:Subscribe",
            "Resource": "arn:aws:iot:us-east-1:123456789012:topicfilter/building/control_room/*"
        },
        {
            "Effect": "Allow",
            "Action": "iot:Receive",
            "Resource": "arn:aws:iot:us-east-1:123456789012:topic/building/*"
        }
    ]
}
```

------

A continuación se muestra un ejemplo de una política correctamente configurada. Los dispositivos no tienen permiso para suscribirse a subtemas de `building/control_room/` ni para recibir mensajes de subtemas de `building/control_room/`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iot:Subscribe",
            "Resource": "arn:aws:iot:us-east-1:123456789012:topicfilter/building/*"
        },
        {
            "Effect": "Deny",
            "Action": "iot:Subscribe",
            "Resource": "arn:aws:iot:us-east-1:123456789012:topicfilter/building/control_room/*"
        },
        {
            "Effect": "Allow",
            "Action": "iot:Receive",
            "Resource": "arn:aws:iot:us-east-1:123456789012:topic/building/*"
        },
        {
            "Effect": "Deny",
            "Action": "iot:Receive",
            "Resource": "arn:aws:iot:us-east-1:123456789012:topic/building/control_room/*"
        }
    ]
}
```

------

**nota**  
Esta comprobación podría arrojar falsos positivos. Le recomendamos que evalúe las políticas marcadas y seleccione los recursos con falsos positivos mediante supresiones de auditoría.

## Cómo solucionarlo
<a name="audit-chk-iot-misconfigured-policies-how-to-fix"></a>

Esta comprobación marca las políticas que potencialmente mal configuradas, por lo que podrían producirse falsos positivos. Marque los falsos positivos mediante [supresiones de auditoría](audit-finding-suppressions.md) para que no se detecten en el futuro.

También puede seguir estos pasos para corregir las políticas no conformes asociadas a objetos, grupos de objetos u otras entidades:

1. Utilice [CreatePolicyVersion](https://docs.aws.amazon.com/iot/latest/apireference/API_CreatePolicyVersion.html) para crear une nueva versión conforme de la política. Establezca la marca `setAsDefault` en true. (Esto hace que esta nueva versión funcione para todas las entidades que utilizan la política).

   Para ver ejemplos de creación de políticas de AWS IoT para casos de uso comunes, consulte los [ejemplos de políticas Publish/Subscribe](https://docs.aws.amazon.com/iot/latest/developerguide/pub-sub-policy.html) en la *Guía para desarrolladores de AWS IoT Core*.

1. Verifique que todos los dispositivos asociados puedan conectarse a AWS IoT. Si un dispositivo no puede conectarse, utilice [ SetPolicyVersion](https://docs.aws.amazon.com/iot/latest/apireference/API_SetPolicyVersion.html) para devolver la política predeterminada a la versión anterior, revisar la política e intentarlo de nuevo. 

Puede utilizar acciones de mitigación para:
+ Aplicar la acción de mitigación `REPLACE_DEFAULT_POLICY_VERSION` en los resultados de la auditoría para realizar este cambio. 
+ Aplicar la acción de mitigación `PUBLISH_FINDINGS_TO_SNS` si desea implementar una respuesta personalizada en respuesta al mensaje de Amazon SNS. 

Para obtener más información, consulte [Acciones de mitigación](dd-mitigation-actions.md). 

Utilice las [variables de política de IoT Core](https://docs.aws.amazon.com/iot/latest/developerguide/iot-policy-variables.html) en la *Guía para desarrolladores de AWS IoT Core* para hacer referencia de forma dinámica a los recursos de AWS IoT en las políticas.