AWS IoT Device DefenderAnleitung zur Fehlerbehebung in - AWS IoT Device Defender

AWS IoT Device DefenderAnleitung zur Fehlerbehebung in

Allgemeines
F: Gibt es Voraussetzungen für die Verwendung von AWS IoT Device Defender?

A: Wenn Sie von Geräten gemeldete Metriken nutzen möchten, müssen Sie zunächst einen Agenten auf Ihren über AWS IoT verbundenen Geräten oder Geräte-Gateways bereitstellen. Die Geräte müssen eine konsistente Client-ID oder einen konsistenten Objektnamen bereitstellen.

Audit
F: Ich habe eine Prüfung aktiviert und für meinen Audit wird für längere Zeit "In Bearbeitung" angezeigt. Ist etwas falsch? Wann kann ich Ergebnisse erwarten?

A: Wenn eine Prüfung aktiviert ist, beginnt die Datenerfassung unverzüglich. Wenn in Ihrem Konto eine große Datenmenge erhoben werden muss (Zertifikate, Objekte, Richtlinien usw.), sind die Ergebnisse der Prüfung jedoch möglicherweise nicht gleich nach der Aktivierung verfügbar.

Detect
F: Wie kann ich wissen, welche Schwellenwerte für Verhaltensweisen in einem AWS IoT Device Defender-Sicherheitsprofil festzulegen sind?

A: Erstellen Sie eine Verhaltensweise im Sicherheitsprofil zunächst mit niedrigen Schwellenwerten und weisen Sie sie einer Objektgruppe mit einer repräsentativen Reihe von Geräten zu. Sie können mit AWS IoT Device Defender die aktuellen Metriken anzeigen und die Schwellenwerte des Geräteverhaltens dann entsprechend Ihrem Anwendungsfall anpassen.

F: Ich habe eine Verhaltenweise erstellt, sie löst wider Erwarten aber keinen Verstoß aus. Wie lässt sich dies beheben?

A: Wenn Sie eine Verhaltensweise definieren, geben Sie an, wie sich Ihr Gerät erwartungsgemäß normal verhält. Beispiel: Sie haben eine Überwachungskamera, die nur über TCP-Port 8888 eine Verbindung mit einem zentralen Server herstellt. In diesem Fall erwarten Sie von ihr nicht, dass sie andere Verbindungen herstellt. Um benachrichtigt zu werden, wenn die Kamera eine Verbindung über einen anderen Port herstellt, können Sie z. B. die folgende Verhaltensweise definieren:

{ "name": "Listening TCP Ports", "metric": "aws:listening-tcp-ports", "criteria": { "comparisonOperator": "in-port-set", "value": { "ports": [ 8888 ] } } }

Wenn die Kamera eine TCP-Verbindung auf TCP-Port 443 herstellt, wäre dies ein Verstoß gegen das Geräteverhalten und würde eine Warnung auslösen.

F: Es wird gegen eine oder mehrere meiner Verhaltensweisen verstoßen. Wie hebe ich den Verstoß auf?

A: Warnungen werden gelöscht, nachdem das Gerät sich wieder, wie in den Verhaltensprofilen definiert, wie erwartet verhält. Die Verhaltensprofile werden bei dem Eingang von Metrikdaten für Ihr Gerät ausgewertet. Wenn das Gerät länger als zwei Tage keine Metriken veröffentlicht, wird das Verletzungsereignis automatisch auf alarm-invalidated gesetzt.

F: Ich habe die Verhaltensweise, gegen die verstoßen wurde, gelöscht. Wie stoppe ich die Warnungen?

A: Durch das Löschen einer Verhaltensweise werden alle zukünftigen Verstöße und Warnungen für diese Verhaltensweise gelöscht. Frühere Warnungen müssen aus Ihrem Benachrichtigungsmechanismus entfernt werden. Wenn Sie eine Verhaltensweise löschen, wird die Aufzeichnung der Verstöße gegen die betreffende Verhaltensweise jedoch genauso lange wie alle anderen Verstöße in Ihrem Konto beibehalten.

Geräte-Metriken
F: Ich sende Metrikberichte, von denen ich weiß, dass sie gegen meine Verhaltensweisen verstoßen, es werden aber keine Verstöße ausgelöst. Was ist los?

A: Stellen Sie sicher, dass Ihre Metrikberichte akzeptiert werden; dazu dient das Abonnement der folgenden MQTT-Themen:

$aws/things/THING_NAME/defender/metrics/FORMAT/rejected $aws/things/THING_NAME/defender/metrics/FORMAT/accepted

Dabei ist THING_NAME der Name des Objekts, das die Metrik meldet, FORMAT ist entweder „JSON“ oder „CBOR“. Dies ist vom Format des Metrikberichts abhängig, den das Objekt sendet.

Nachdem Sie sich angemeldet haben, sollten Sie für jeden gesendeten Metrikbericht Nachrichten zu diesen Tehmen erhalten. Die Nachricht rejected weist auf ein Problem bei der Analyse des Metrikberichts hin. In der Nutzlast der Nachricht ist eine Fehlermeldung enthalten, um Ihnen die Korrektur von Fehlern in Ihrem Metrikbericht zu erleichtern. Die Nachricht accepted weist darauf hin, dass der Metrikbericht ordnungsgemäß analysiert wurde.

F: Was geschieht, wenn ich in meinem Metrikbericht eine leere Metrik sende?

A: Eine leere Liste von Ports oder IP-Adressen wird immer als in Übereinstimmung mit der entsprechenden Verhaltenweise gedeutet. Wenn die entsprechende Verhaltenweise verletzt wurde, wird der Verstoß gelöscht.

F: Warum können meine Gerätemetrikberichte Meldungen für Geräte enthalten, die sich nicht in der AWS IoT-Registrierung befinden?

Wenn Sie allen Objekten oder allen nicht registrierten Objekten ein oder mehrere Sicherheitsprofile zugewiesen haben, schließt AWS IoT Device Defender Metriken von nicht registrierten Objekten ein. Wenn Metriken von nicht registrierten Objekten ausgeschlossen werden sollen, können Sie die Profile anstatt allen Geräten nur allen registrierten Geräten zuweisen.

F: Ich sehe keine Meldungen von einem oder mehreren nicht registrierten Geräten, obwohl ich ein Sicherheitsprofil auf alle nicht registrierten Geräte oder alle Geräte angewendet habe. Wie lässt sich dies beheben?

Vergewissern Sie sich, dass der gesendete Metrikbericht mit einem der unterstützten Formate richtig formatiert ist. Weitere Informationen finden Sie unter Spezifikationen für Gerätemetriken. Vergewissern Sie sich, dass für die nicht registrierten Geräte eine konsistente Client-ID oder ein konsistenter Objektname verwendet wird. Wenn der Objektname Steuerzeichen enthält oder wenn der Objektname länger als 128 Byte an UTF-8-codierten Zeichen ist, werden von Geräten gemeldete Nachrichten zurückgewiesen.

F: Was geschieht, wenn ein nicht registriertes Gerät zur Registrierung hinzugefügt oder die Registrierung eines registrierten Geräts aufgehoben wird?

A: Wenn ein Gerät zur Registrierung hinzugefügt oder daraus entfernt wird:

  • Sie sehen zwei separate Verstöße für das Gerät (einen unter seinem registrierten Objektnamen, einen unter seiner nicht registrierten Identität), wenn es mit dem Veröffentlichen von Metriken für Verstöße fortfährt. Nach zwei Tagen erscheinen keine aktiven Verstöße für die alte Identität mehr, sie bleiben aber bis zu 14 Tage im Verlauf der Verstöße verfügbar.

F: Welchen Wert sollte ich in dem Berichts-ID-Feld in meinem Geräte-Metrikbericht angeben?

A: Verwenden Sie einen für jeden Metrikbericht eindeutigen Wert, der als positive ganze Zahl ausgedrückt wird. Üblicherweise wird eine Unix-Epochen-Zeitstempel verwendet.

F: Sollte ich für AWS IoT Device Defender-Metriken eine dedizierte MQTT-Verbindung erstellen?

A: Eine separate MQTT-Verbindung ist nicht erforderlich.

F: Mit welcher Client-ID sollte eine Verbindung mit veröffentlichten Geräte-Metriken herstellen?

Verwenden Sie für Geräte (Objekte), die sich in der AWS IoT-Registrierung befinden, den registrierten Objektnamen. Verwenden Sie für Geräte, die sich nicht in der AWS IoT-Registrierung befinden, eine konsistente ID, wenn Sie eine Verbindung mit AWS IoT herstellen. Diese Vorgehensweise erleichtert die Zuordnung von Verstößen zu Objektnamen.

F: Kann ich Metriken für ein Gerät mit einer anderen Client-ID veröffentlichen?

Es ist möglich, Metriken im Namen eines anderen Objekts zu veröffentlichen. Sie können dazu die Metriken in dem von AWS IoT Device Defender für dieses Gerät reservierten Thema veröffentlichen. Beispiel: Thing-1 möchte Metriken für sich selbst und auch im Namen von Thing-2 veröffentlichen. Thing-1 sammelt seine eigenen Metriken und veröffentlicht sie im MQTT-Thema:

$aws/things/Thing-1/defender/metrics/json

Thing-1 ruft dann Metriken von Thing-2 ab und veröffentlicht sie im MQTT-Thema:

$aws/things/Thing-2/defender/metrics/json
F: Wie viele Sicherheitsprofile und Verhaltensweisen sind in meinem Konto zulässig?

A: Siehe AWS IoT Device DefenderEndpunkte und Kontingente.

F: Wie sieht eine prototypische Ziel-Rolle für ein Warnungsziel aus?

A: Für eine Rolle, die AWS IoT Device Defender zum Veröffentlichen von Warnungen an einem Warnungsziel (SNS-Thema) berechtigt, müssen zwei Voraussetzungen erfüllt sein:

  • Eine Vertrauensstellung, die iot.amazonaws.com als vertrauenswürdige Entität angibt

  • Eine angefügte Richtlinie, die AWS IoT zum Veröffentlichen in einem angegebenen SNS-Thema berechtigt Beispiel:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sns:Publish", "Resource": "arn:aws:sns:us-east-1:123456789012:example-topic" } ] }
  • Wenn es sich bei dem für die Veröffentlichung von Benachrichtigungen verwendeten SNS-Thema um ein verschlüsseltes Thema handelt, müssen AWS IoT neben der Berechtigung zur Veröffentlichung im SNS-Thema zwei weitere Berechtigungen erteilt werden. Beispiel:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:Publish", "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:sns:us-east-1:123456789012:example-topic" } ] }
F: Meine Übermittlung eines Metrikberichts mit einem benutzerdefinierten Metriktyp number schlägt mit der Fehlermeldung Malformed metrics report fehl. Was ist los?

A: Der Typ number nimmt nur einen einzelnen Metrikwert als Eingabe, aber wenn Sie den Metrikwert im DeviceMetrics-Bericht einreichen, müssen Sie ihn als Array mit einem einzelnen Wert übergeben. Stellen Sie sicher, dass Sie den Metrikwert als Array einreichen.

Fehler-Nutzlast:

{"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}}}

Fehlermeldung:

{"thingName":"myThing","status":"REJECTED","statusDetails":{"ErrorCode":"InvalidPayload","ErrorMessage":"Malformed metrics report"},"timestamp":1635802047699}

Nutzlast ohne Fehler:

{"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}]}}

Antwort:

{"thingName":"myThing","12334567":1635800375,"status":"ACCEPTED","timestamp":1635801636023}