Connecteur Device Defender - AWS IoT Greengrass

AWS IoT Greengrass Version 1 est entré dans la phase de durée de vie prolongée le 30 juin 2023. Pour plus d'informations, consultez la politique de AWS IoT Greengrass V1 maintenance. Après cette date, AWS IoT Greengrass V1 ne publiera pas de mises à jour fournissant des fonctionnalités, des améliorations, des corrections de bogues ou des correctifs de sécurité. Les appareils qui fonctionnent AWS IoT Greengrass V1 sous tension ne seront pas perturbés et continueront à fonctionner et à se connecter au cloud. Nous vous recommandons vivement de migrer vers AWS IoT Greengrass Version 2, qui ajoute de nouvelles fonctionnalités importantes et prend en charge des plateformes supplémentaires.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Connecteur Device Defender

Le Device DefenderconnecteurInforme les administrateurs des modifications intervenues dans l'état d'un appareil Greengrass principal. Cela peut permettre d'identifier un comportement inhabituel qui pourrait indiquer un appareil compromis.

Ce connecteur lit les métriques du système à partir du répertoire /proc sur l'appareil principal, puis publie les métriques dans AWS IoT Device Defender. Pour plus d'informations sur les rapports de métriques, consultezSpécifications des métriques d'appareildans leAWS IoTManuel du développeur.

Ce connecteur possède les versions suivantes.

Version

ARN

3

arn:aws:greengrass:region::/connectors/DeviceDefender/versions/3

2

arn:aws:greengrass:region::/connectors/DeviceDefender/versions/2

1

arn:aws:greengrass:region::/connectors/DeviceDefender/versions/1

Pour obtenir des informations sur les changements apportés aux versions, veuillez consulter le Journal des modifications.

Prérequis

Ce connecteur possède les critères suivants :

Version 3
  • Logiciel AWS IoT Greengrass Core 1.9.3 ou version ultérieure.

  • PythonVersion 3.7 ou 3.8 installée sur le périphérique principal et ajoutée à la variable d'environnement PATH.

    Note

    Pour utiliser Python 3.8, exécutez la commande suivante pour créer un lien symbolique à partir du dossier d'installation Python 3.7 par défaut vers les binaires Python 3.8 installés.

    sudo ln -s path-to-python-3.8/python3.8 /usr/bin/python3.7

    Ceci configure votre appareil de sorte qu'il réponde aux exigence de Python pour AWS IoT Greengrass.

  • AWS IoT Device Defender configuré pour utiliser la fonction Detect pour suivre les violations. Pour de plus amples informations, veuillez consulterDétecterdans leAWS IoTManuel du développeur.

  • UNRessource de volume localedans le groupe Greengrass qui pointe vers le/procrépertoire. La ressource doit utiliser les propriétés suivantes :

    • Chemin source : /proc

    • Chemin de destination : /host_proc (ou une valeur qui correspond au modèle valide)

    • AutoAddGroupOwner : true

  • La bibliothèque psutil installée sur le noyau Greengrass. La version 5.7.0 est la dernière version vérifiée pour fonctionner avec le connecteur.

  • La bibliothèque cbor installée sur le noyau Greengrass. La version 1.0.0 est la dernière version vérifiée pour fonctionner avec le connecteur.

Versions 1 - 2
  • AWS IoT GreengrassLogiciel Core v1.7 ou version ultérieure.

  • PythonVersion 2.7 installée sur le périphérique principal et ajoutée à la variable d'environnement PATH.

  • AWS IoT Device Defender configuré pour utiliser la fonction Detect pour suivre les violations. Pour de plus amples informations, veuillez consulterDétecterdans leAWS IoTManuel du développeur.

  • UNRessource de volume localedans le groupe Greengrass qui pointe vers le/procrépertoire. La ressource doit utiliser les propriétés suivantes :

    • Chemin source : /proc

    • Chemin de destination : /host_proc (ou une valeur qui correspond au modèle valide)

    • AutoAddGroupOwner : true

  • La bibliothèque psutil installée sur le noyau Greengrass.

  • La bibliothèque cbor installée sur le noyau Greengrass.

Paramètres de connecteur

Ce connecteur fournit les paramètres suivants :

SampleIntervalSeconds

Le nombre de secondes entre chaque cycle de collecte et de présentation des métriques. La valeur minimale est de 300 secondes (5 minutes).

Nom d'affichage dans leAWS IoTConsole  : Intervalle de présentation des métriques

Obligatoiretrue

Type: string

Modèle valide :^[0-9]*(?:3[0-9][0-9]|[4-9][0-9]{2}|[1-9][0-9]{3,})$

ProcDestinationPath-ResourceId

ID de la ressource de volume de /proc.

Note

Ce connecteur bénéficie d'un accès en lecture seule à la ressource.

Nom d'affichage dans leAWS IoTConsole  : Ressource pour le répertoire /proc

Obligatoiretrue

Type: string

Modèle valide :[a-zA-Z0-9_-]+

ProcDestinationPath

Chemin de destination de la ressource de volume /proc.

Nom d'affichage dans leAWS IoTConsole  : Chemin de destination de la ressource /proc

Obligatoiretrue

Type: string

Modèle valide :\/[a-zA-Z0-9_-]+

Exemple de création de connecteur (AWS CLI)

La commande suivante d'CLI crée unConnectorDefinitionavec une version initiale qui contient le connecteur Device Defender.

aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{ "Connectors": [ { "Id": "MyDeviceDefenderConnector", "ConnectorArn": "arn:aws:greengrass:region::/connectors/DeviceDefender/versions/3", "Parameters": { "SampleIntervalSeconds": "600", "ProcDestinationPath": "/host_proc", "ProcDestinationPath-ResourceId": "my-proc-resource" } } ] }'
Note

La fonction Lambda de ce connecteur possède unlongue duréeCycle de vie.

DansAWS IoT Greengrass, vous pouvez ajouter un connecteur à partir duConnecteurs. Pour plus d'informations, consultez Mise en route avec les connecteurs Greengrass (console).

Données d'entrée

Ce connecteur n'accepte pas les messages MQTT comme données d'entrée.

Données de sortie

Ce connecteur publie des métriques de sécurité dans AWS IoT Device Defender comme données de sortie.

Filtre de rubrique dans l'abonnement

$aws/things/+/defender/metrics/json

Note

Il s'agit de la syntaxe de rubrique que AWS IoT Device Defender attend. Le connecteur remplace le caractère générique + par le nom du périphérique (par exemple, $aws/things/thing-name/defender/metrics/json).

Exemple de sortie

Pour plus d'informations sur les rapports de métriques, consultezSpécifications des métriques d'appareildans leAWS IoTManuel du développeur.

{ "header": { "report_id": 1529963534, "version": "1.0" }, "metrics": { "listening_tcp_ports": { "ports": [ { "interface": "eth0", "port": 24800 }, { "interface": "eth0", "port": 22 }, { "interface": "eth0", "port": 53 } ], "total": 3 }, "listening_udp_ports": { "ports": [ { "interface": "eth0", "port": 5353 }, { "interface": "eth0", "port": 67 } ], "total": 2 }, "network_stats": { "bytes_in": 1157864729406, "bytes_out": 1170821865, "packets_in": 693092175031, "packets_out": 738917180 }, "tcp_connections": { "established_connections":{ "connections": [ { "local_interface": "eth0", "local_port": 80, "remote_addr": "192.168.0.1:8000" }, { "local_interface": "eth0", "local_port": 80, "remote_addr": "192.168.0.1:8000" } ], "total": 2 } } } }

Licences

Ce connecteur est libéré sous leContrat de licence du logiciel Greengrass Core.

Journal des modifications

Le tableau suivante décrit les modifications intervenues dans chaque version du connecteur.

Version

Modifications

3

Mise à niveau de l'environnement d'exécution Lambda vers Python 3.7, ce qui modifie les exigences d'exécution.

2

Correctif pour réduire la journalisation excessive.

1

Première version.

Un groupe Greengrass ne peut contenir qu'une seule version du connecteur à la fois. Pour de plus amples informations sur la mise à niveau d'une version de connecteur, veuillez consulter Mise à niveau des versions du connecteur.

Consulter aussi