AWS IoT Device DefenderGuía para solucionar problemas de
Ayúdenos a mejorar este tema
General
- P: ¿Hay algún requisito previo para usar AWS IoT Device Defender?
-
R: Si desea utilizar métricas registradas por el dispositivo, primero debe implementar un agente en sus dispositivos AWS IoT conectados o en las gateways de dispositivos. Los dispositivos deben proporcionar un identificador de cliente o nombre de objeto coherentes.
Auditoría
- P: Permití una comprobación y mi auditoría ha estado mostrando "En curso" durante mucho tiempo. ¿Hay algún problema? ¿Cuándo recibiré los resultados?
-
R: Cuando se habilita una comprobación, la recopilación de datos comienza inmediatamente. Sin embargo, si la cuenta tiene una gran cantidad de datos por recopilar (certificados, objetos, políticas, etc.), es posible que los resultados de la comprobación tarden algo de tiempo en estar disponibles después de la habilitación.
Detect
- P: ¿Cómo puedo conocer los umbrales que se establecen en un comportamiento del perfil de seguridad de AWS IoT Device Defender?
-
R: Comience por crear un comportamiento del perfil de seguridad con umbrales bajos y asócielo a un grupo de objetos que conste de un conjunto representativo de dispositivos. Puede utilizar AWS IoT Device Defender para ver las métricas actuales y después ajustar el comportamiento de los umbrales para que coincidan con su caso de uso.
- P: He creado un comportamiento, pero no activa una vulneración cuando la espero. ¿Cómo debo solucionarlo?
-
R: Cuando define un comportamiento, especifica la forma en que espera que el dispositivo se comporte con normalidad. Por ejemplo, si tiene una cámara de seguridad que se conecta exclusivamente a un servidor central en el puerto TCP 8888, no espere que se realicen otras conexiones. Para recibir una alerta si la cámara hace una conexión en otro puerto, puede definir un comportamiento como este:
{ "name": "Listening TCP Ports", "metric": "aws:listening-tcp-ports", "criteria": { "comparisonOperator": "in-port-set", "value": { "ports": [ 8888 ] } } }Si la cámara realiza una conexión TCP en el puerto TCP 443, el comportamiento del dispositivo se infringiría y se activaría una alerta.
- P: Se están vulnerando uno o más de mis comportamientos. ¿Cómo elimino la vulneración?
-
R: Las alarmas se desactivan después de que el dispositivo retoma un comportamiento esperado, tal y como se define en los perfiles de comportamiento. Los perfiles de comportamiento se evalúan al recibir los datos de las métricas de su dispositivo. Si el dispositivo no publica ninguna métrica durante más de dos días, el evento de vulneración se establece en
alarm-invalidatedautomáticamente. - P: Eliminé un comportamiento que generaba una vulneración; ¿cómo puedo detener las alertas?
-
R: Al eliminar un comportamiento se detienen todas las vulneraciones y alertas futuras de dicho comportamiento. Las alertas anteriores deben eliminarse del mecanismo de notificación. Cuando se elimina un comportamiento, el registro de vulneraciones de ese comportamiento se conserva durante el mismo período de tiempo que todas las demás vulneraciones en su cuenta.
Métricas de dispositivo
- P: Estoy enviando informes de métricas que sé que vulneran mis comportamientos, pero no se activa ninguna vulneración. ¿Por qué?
-
R: Verifique que sus informes de métricas se estén aceptando suscribiéndose a los siguientes temas de MQTT:
$aws/things/THING_NAME/defender/metrics/FORMAT/rejected $aws/things/THING_NAME/defender/metrics/FORMAT/acceptedTHING_NAMEes el nombre del objeto que informa de la métrica yFORMATes “JSON” o “CBOR”, según el formato del informe de métricas que envía el objeto.Una vez que se haya suscrito, debe recibir mensajes sobre estos temas para cada informe de métrica enviado. Un mensaje
rejectedindica que hubo un problema al analizar el informe de métrica. Se incluye un mensaje de error en la carga del mensaje para ayudarle a corregir cualquier error en su informe de métrica. Un mensajeacceptedindica que se ha analizado correctamente el informe de métrica. - P: ¿Qué sucede si envío una métrica vacía en mi informe de métrica?
-
R: Una lista vacía de puertos o direcciones IP se considera siempre que está en conformidad con el comportamiento correspondiente. Si el comportamiento correspondiente supusiera una vulneración, la vulneración se eliminaría.
- P: ¿Por qué los informes de métricas de mi dispositivo contienen mensajes para dispositivos que no están en el registro de AWS IoT?
-
Si tiene uno o varios perfiles de seguridad asociados a todos los objetos o a todos los objetos no registrados, AWS IoT Device Defender incluye métricas de los objetos no registrados. Si desea excluir las métricas de objetos no registrados, puede asociar los perfiles a todos los dispositivos registrados en lugar de a todos los dispositivos.
- P: No veo los mensajes de uno o varios dispositivos no registrados a pesar de que puedo aplicar un perfil de seguridad a todos los dispositivos no registrados o a todos los dispositivos. ¿Cómo puedo solucionarlo?
-
Compruebe que está enviando un informe de métricas con el formato adecuado, en uno de los formatos compatibles. Para obtener más información, consulte Especificación de documentos de métricas de dispositivos. Compruebe que los dispositivos no registrados utilizan un identificador de cliente o nombre de objeto coherentes. Si el nombre del objeto contiene caracteres de control o tiene más de 128 bytes de caracteres con codificación UTF-8, los mensajes notificados por los dispositivos se rechazarán.
- P: ¿Qué sucede si un dispositivo no registrado se añade al registro o si un dispositivo registrado deja de estarlo?
-
R: Si un dispositivo se añade o se elimina del registro:
-
Verá dos vulneraciones independientes para el dispositivo (una en su nombre de objeto registrado y otra en su identidad no registrada) si se siguen publicando métricas para las vulneraciones. Las vulneraciones activas de la identidad antigua dejan de aparecer al cabo de dos días, pero están disponibles en el historial de vulneraciones durante un máximo de 14 días.
-
- P: ¿Qué valor debo proporcionar en el campo de ID del informe de métricas de mi dispositivo?
-
R: Utilice un valor único para cada informe de métrica, expresado como un número entero positivo. Una práctica común es utilizar una marca de tiempo Epoch de Unix
. - P: ¿Debo crear una conexión con MQTT dedicada para las métricas de AWS IoT Device Defender?
-
R: No se requiere una conexión con MQTT independiente.
- P: ¿Qué ID de cliente debería usar al conectarme para publicar métricas de dispositivos?
-
Para dispositivos (objetos) que estén el registro de AWS IoT registro, utilice el nombre del objeto registrado. Para los productos que no estén en el registro de AWS IoT, utilice un identificador coherente al conectarse a AWS IoT. Esta práctica le permite crear una correspondencia entre las vulneraciones y el nombre de objeto.
- P: ¿Puedo publicar métricas para un dispositivo con un ID de cliente diferente?
-
Es posible publicar métricas en nombre de otro objeto. Para ello, publique las métricas en el tema de AWS IoT Device Defender reservado para dicho dispositivo. Por ejemplo,
Thing-1desea publicar métricas de sí mismo y también en nombre deThing-2.Thing-1recopila sus propias métricas y las publica en el tema de MQTT:$aws/things/Thing-1/defender/metrics/jsonThing-1obtiene las métricas deThing-2y publica dichas métricas en el tema de MQTT:$aws/things/Thing-2/defender/metrics/json - P: ¿Cuántos comportamientos y perfiles de seguridad puedo tener en mi cuenta?
-
R: Consulte AWS IoT Device Defender Endpoints and Quotas.
- P: ¿Qué aspecto tiene un rol de destino prototípico para un destino de alerta?
-
R: Un rol que permite a AWS IoT Device Defender publicar alertas en un destino de alerta (tema de SNS) requiere dos cosas:
-
Una relación de confianza que especifique iot.amazonaws.com como la entidad de confianza y
-
Una política asociada que conceda a AWS IoT permiso para publicar en un tema de SNS especificado. Por ejemplo:
-
Si el tema SNS utilizado para publicar las alertas es un tema cifrado, es necesario otorgarle a AWS IoT dos permisos más, además del permiso para publicar un tema SNS. Por ejemplo:
-
- P: El envío del informe de métricas con un tipo de métrica
numberpersonalizado da el mensaje de errorMalformed metrics report. ¿Por qué? -
R: El tipo
numbersolo toma un valor único de métrica como entrada, pero, cuando envía el valor de métrica en el informe DeviceMetrics, debe pasarlo como una matriz con un solo valor. Envíe el valor de la métrica como una matriz.Carga útil del error:
{"header":{"report_id":12334567,"version":"1.0"},"metrics":{"network_stats":{"bytes_in":30680,"bytes_out":10652,"packets_in":113,"packets_out":118}},"custom_metrics":{"my_custom_metric":{"number":0}}}Mensaje de error:
{"thingName":"myThing","status":"REJECTED","statusDetails":{"ErrorCode":"InvalidPayload","ErrorMessage":"Malformed metrics report"},"timestamp":1635802047699}Carga sin errores:
{"header":{"report_id":12334567,"version":"1.0"},"metrics":{"network_stats":{"bytes_in":30680,"bytes_out":10652,"packets_in":113,"packets_out":118}},"custom_metrics":{"my_custom_metric":[{"number":0}]}}Respuesta:
{"thingName":"myThing","12334567":1635800375,"status":"ACCEPTED","timestamp":1635801636023}