AWS IoT Device DefenderGuia de solução de problemas do
Ajude-nos a melhorar este tópico
Geral
- P: Há algum pré-requisito para usar o AWS IoT Device Defender?
-
R: Se você quiser usar as métricas relatadas de dispositivo, você deve primeiro implantar um atendente em seus dispositivos conectados da AWS IoT ou gateways do dispositivo. Os dispositivos devem fornecer um identificador de cliente consistente ou o nome do objeto.
Auditoria
- P: Eu habilitei uma verificação e minha auditoria está exibindo "Em andamento" por muito tempo. Há algo de errado? Quando posso esperar resultados?
-
R: Quando a verificação é habilitada, a coleta de dados é iniciada imediatamente. No entanto, se sua conta tiver uma grande quantidade de dados para coletar (por exemplo, certificados, itens ou políticas), os resultados da verificação poderão não estar disponíveis por algum tempo após você ativá-la.
Detectar
- P: Como faço para saber quais limites definir em um comportamento do perfil de segurança do AWS IoT Device Defender?
-
R: Comece criando um comportamento do perfil de segurança com limites baixos e anexe-os a um grupo de objetos composto por um conjunto representativo de dispositivos. Você pode usar o AWS IoT Device Defender para visualizar as métricas atuais e, em seguida, ajustar detalhadamente os limites de comportamento do dispositivo conforme o seu caso de uso.
- P: Eu criei um comportamento, mas ele não está acionando uma violação quando eu espero. Como devo corrigir isso?
-
R: Ao definir um comportamento, você está especificando como espera que o dispositivo se comporte normalmente. Por exemplo, se você tiver uma câmera de segurança que apenas se conecta a um servidor central na porta TCP 8888, você não espera que ela faça nenhuma outra conexão. Para ser avisado se a câmera fizer uma conexão em outra porta, defina um comportamento como:
{ "name": "Listening TCP Ports", "metric": "aws:listening-tcp-ports", "criteria": { "comparisonOperator": "in-port-set", "value": { "ports": [ 8888 ] } } }Se a câmera fizer uma conexão TCP na porta TCP 443, o comportamento do dispositivo será violado e acionará um alerta.
- P: Um ou mais dos meus comportamentos estão em violação. Como faço para limpar a violação?
-
R: Os alarmes são limpos assim que o dispositivo retornar para o comportamento esperado, conforme definido pelos perfis de comportamento. Os perfis de comportamento são avaliados após o recebimento de dados de métricas para o dispositivo. Se o dispositivo não publicar nenhuma métrica por mais de dois dias, o evento de violação será definido automaticamente como
alarm-invalidated. - P: Eu excluí um comportamento que estava em violação, mas como faço para interromper os alertas?
-
R: Excluir um comportamento interrompe todas as violações futuras e alertas para esse comportamento. Alertas anteriores devem ser drenados do mecanismo de notificação. Quando você exclui um comportamento, o registro de violações desse comportamento é retido durante o mesmo período como todas as outras violações na sua conta.
Métricas do dispositivo
- P: Estou enviando relatórios de métricas que sei que violam meus comportamentos, mas nenhuma violação é acionada. O que está errado?
-
R: Verifique se os relatórios de métricas estão sendo aceitos assinando os seguintes tópicos MQTT:
$aws/things/THING_NAME/defender/metrics/FORMAT/rejected $aws/things/THING_NAME/defender/metrics/FORMAT/acceptedTHING_NAMEé o nome do objeto que relata a métrica eFORMATé “JSON” ou “CBOR” dependendo do formato do relatório de métricas enviado pelo objeto.Depois da assinatura, você receberá mensagens sobre esses tópicos para cada relatório de métricas enviado. A mensagem
rejectedindica que houve um problema ao analisar o relatório de métricas. Uma mensagem de erro é incluída na carga da mensagem para ajudá-lo a corrigir os erros no seu relatório da métricas. Uma mensagemacceptedindica que o relatório de métricas foi analisado corretamente. - P: O que acontece se eu enviar uma métrica vazia no meu relatório de métricas?
-
R: Uma lista vazia de portas ou endereços IP é sempre considerada em conformidade com o comportamento correspondente. Se o comportamento correspondente estava em violação, a violação será apagada.
- P: Por que os relatórios de métrica do meu dispositivo contêm mensagens para dispositivos que não estão no registro da AWS IoT?
-
Se você tiver um ou mais perfis de segurança anexados a todas as objetos ou a todas as objetos não registradas, o AWS IoT Device Defender incluirá métricas de objetos não registradas. Se você quiser excluir métricas de objetos não registradas, poderá anexar os perfis a todos os dispositivos registrados em vez de todos os dispositivos.
- P: Não consigo visualizar mensagens de um ou mais dispositivos não registrados, embora tenha aplicado um perfil de segurança a todos os dispositivos não registrados ou a todos os dispositivos. Como posso corrigir isso?
-
Verifique se você está enviando um relatório de métricas bem formado usando um dos formatos compatíveis. Para mais informações, consulte Especificação da documentação de métricas do dispositivo. Verifique se os dispositivos não registrados estão usando um identificador de cliente ou um nome de objeto consistentes. Se o nome do objeto contiver caracteres de controle ou tiver mais de 128 bytes de caracteres codificados em UTF-8, as mensagens relatadas pelos dispositivos serão rejeitadas.
- P: O que acontece se um dispositivo não registrado for adicionado ao registro ou um dispositivo registrado for cancelado?
-
R: Se um dispositivo for adicionado ou removido do registro:
-
Você verá duas violações diferentes para o dispositivo (uma com o nome do objeto registrada, uma sob sua identidade não registrada) se continuar a publicar métricas para violações. As violações ativas da identidade antiga param de aparecer após dois dias, mas estão disponíveis no histórico de violações por até 14 dias.
-
- P: Qual valor devo fornecer no campo ID do relatório no relatório de métricas do dispositivo?
-
R: Use um valor único para cada relatório de métricas, expresso como um inteiro positivo. Uma prática comum é usar um timestamp epoch Unix
. - P: Devo criar uma conexão MQTT dedicada para métricas do AWS IoT Device Defender?
-
R: Não é necessária uma conexão MQTT separada.
- P: Qual ID de cliente devo usar ao conectar para publicar métricas do dispositivo?
-
Para dispositivos (objetos) que estão no registro da AWS IoT, use o nome de objeto registrado. Para dispositivos que não estão no registro da AWS IoT, use um identificador consistente quando você se conectar à AWS IoT. Essa prática ajuda a corresponder as violações ao nome do objeto.
- P: Posso publicar métricas para um dispositivo com outro client ID?
-
É possível publicar métricas em nome de outro objeto. Você pode fazer isso publicando as métricas no tópico reservado do AWS IoT Device Defender desse dispositivo. Por exemplo,
Thing-1gostaria de publicar métricas para si mesmo e também em nome deThing-2.Thing-1coleta suas próprias métricas e as publica no tópico MQTT:$aws/things/Thing-1/defender/metrics/jsonThing-1obtém métricas doThing-2e publica essas métricas no tópico MQTT:$aws/things/Thing-2/defender/metrics/json - P: Quantos perfis de segurança e comportamentos posso ter na minha conta?
-
R: Consulte Endpoints e cotas AWS IoT Device Defender.
- P: Qual a aparência de uma função de destino prototípica para um destino de alerta?
-
R: Uma função que permite que o AWS IoT Device Defender publique alertas em um destino de alerta (tópico do SNS) exige duas objetos:
-
Uma relação de confiança que especifica iot.amazonaws.com como a entidade confiável.
-
Uma política anexada que concede à AWS IoT permissão para publicar em um tópico do SNS especificado. Por exemplo:
-
Se o tópico do SNS usado para publicar alertas for um tópico criptografado, junto com a permissão para publicar no tópico do SNS, a AWS IoT deverá receber mais duas permissões. Por exemplo:
-
- P: O envio do meu relatório de métricas com uma métrica personalizada do tipo
numberfalha com a mensagem de erroMalformed metrics report. O que está errado? -
R: O tipo
numberaceita apenas um único valor de métrica como entrada, mas ao enviar o valor da métrica no relatório DeviceMetrics, ele deve ser passado como uma matriz com um único valor. Verifique se você está enviando o valor da métrica como uma matriz.Carga útil de erro:
{"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}}}Mensagem de erro:
{"thingName":"myThing","status":"REJECTED","statusDetails":{"ErrorCode":"InvalidPayload","ErrorMessage":"Malformed metrics report"},"timestamp":1635802047699}Carga útil sem erros:
{"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}]}}Resposta:
{"thingName":"myThing","12334567":1635800375,"status":"ACCEPTED","timestamp":1635801636023}