Connettore Device Defender - AWS IoT Greengrass

AWS IoT Greengrass Version 1 è entrato nella fase di estensione della vita utile il 30 giugno 2023. Per ulteriori informazioni, consulta la politica AWS IoT Greengrass V1 di manutenzione. Dopo questa data, AWS IoT Greengrass V1 non rilascerà aggiornamenti che forniscano funzionalità, miglioramenti, correzioni di bug o patch di sicurezza. I dispositivi che funzionano AWS IoT Greengrass V1 non subiranno interruzioni e continueranno a funzionare e a connettersi al cloud. Ti consigliamo vivamente di eseguire la migrazione a AWS IoT Greengrass Version 2, che aggiunge nuove importanti funzionalità e supporto per piattaforme aggiuntive.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Connettore Device Defender

Il Device Defenderconnettorenotifica agli amministratori le modifiche dello stato di un dispositivo core Greengrass. Ciò consente di identificare un comportamento anomalo che potrebbe indicare la compromissione del dispositivo.

Questo connettore legge i parametri di sistema dalla directory /proc del dispositivo core e li pubblica in AWS IoT Device Defender. Per dettagli sui report dei parametri, consultaSpecifica del documento di parametri dei dispositivinellaAWS IoTGuida per lo Sviluppatore.

Questo connettore presenta le versioni seguenti.

Versione

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

Per informazioni sulle modifiche di ogni versione, consulta Changelog.

Requisiti

Questo connettore presenta i seguenti requisiti:

Version 3
  • Software AWS IoT Greengrass Core v1.9.3 o versioni successive.

  • PitoneVersione 3.7 o 3.8 installata sul dispositivo core e aggiunta alla variabile di ambiente PATH.

    Nota

    Per utilizzare Python 3.8, eseguire il seguente comando per creare un collegamento simbolico dalla cartella di installazione predefinita di Python 3.7 ai binari Python 3.8 installati.

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

    Questo configura il dispositivo in modo che soddisfi il requisito Python per AWS IoT Greengrass.

  • AWS IoT Device Defender configurato per l'uso della funzione di rilevamento per tenere traccia delle violazioni. Per ulteriori informazioni, consultaRilevamentonellaAWS IoTGuida per lo Sviluppatore.

  • UNRisorsa del volume localenel gruppo Greengrass che punti al/procdirectory. La risorsa deve utilizzare le seguenti proprietà:

    • Percorso di origine: /proc

    • Percorso di destinazione: /host_proc (o un valore che corrisponda al modello valido)

    • AutoAddGroupOwner: true

  • La libreria psutil installata sul core Greengrass. La versione 5.7.0 è la versione più recente verificata per funzionare con il connettore.

  • La libreria cbor installata sul core Greengrass. La versione 1.0.0 è l'ultima versione verificata per il funzionamento con il connettore.

Versions 1 - 2
  • AWS IoT GreengrassSoftware Core v1.7 o versioni successive.

  • PitoneVersione 2.7 installata sul dispositivo core e aggiunta alla variabile di ambiente PATH.

  • AWS IoT Device Defender configurato per l'uso della funzione di rilevamento per tenere traccia delle violazioni. Per ulteriori informazioni, consultaRilevamentonellaAWS IoTGuida per lo Sviluppatore.

  • UNRisorsa del volume localenel gruppo Greengrass che punti al/procdirectory. La risorsa deve utilizzare le seguenti proprietà:

    • Percorso di origine: /proc

    • Percorso di destinazione: /host_proc (o un valore che corrisponda al modello valido)

    • AutoAddGroupOwner: true

  • La libreria psutil installata sul core Greengrass.

  • La libreria cbor installata sul core Greengrass.

Parametri connettore

Questo connettore fornisce i seguenti parametri:

SampleIntervalSeconds

Il numero di secondi tra ciascun ciclo di raccolta e produzione del rapporto dei parametri. Il valore minimo è di 300 secondi (5 minuti).

Nome visualizzato nellaAWS IoTConsole : Intervallo report dei parametri

campo obbligatorio:true

Tipo: string

Modello valido:^[0-9]*(?:3[0-9][0-9]|[4-9][0-9]{2}|[1-9][0-9]{3,})$

ProcDestinationPath-ResourceId

L'ID della risorsa del volume /proc.

Nota

Al connettore è concesso l'accesso in sola lettura alla risorsa.

Nome visualizzato nellaAWS IoTConsole : Risorsa per directory /proc

campo obbligatorio:true

Tipo: string

Modello valido:[a-zA-Z0-9_-]+

ProcDestinationPath

Il percorso di destinazione della risorsa del volume /proc.

Nome visualizzato nellaAWS IoTConsole : Percorso di destinazione della risorsa /proc

campo obbligatorio:true

Tipo: string

Modello valido:\/[a-zA-Z0-9_-]+

Esempio di creazione di un connettore (AWS CLI)

Il seguente comando CLI crea unConnectorDefinitioncon una versione iniziale che contiene il connettore 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" } } ] }'
Nota

La funzione Lambda in questo connettore è dotata dilongevoCiclo di vita.

NellaAWS IoT Greengrassconsole, è possibile aggiungere un connettore dal gruppoConnettori(Certificato creato). Per ulteriori informazioni, consulta la pagina Nozioni di base sui connettori Greengrass (console) .

Dati di input

Questo connettore non accetta messaggi MQTT come dati di input.

Dati di output

Questo connettore pubblica i parametri di sicurezza in AWS IoT Device Defender come dati di output.

Filtro argomento in sottoscrizione

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

Nota

Si tratta della sintassi dell'argomento prevista da AWS IoT Device Defender. Il connettore sostituisce il carattere jolly + con il nome del dispositivo (ad esempio, $aws/things/thing-name/defender/metrics/json).

Output di esempio

Per dettagli sui report dei parametri, consultaSpecifica del documento di parametri dei dispositivinellaAWS IoTGuida per lo Sviluppatore.

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

Licenze

Questo connettore viene rilasciato sottoAccordo di licenza del software Greengrass Core.

Changelog

La tabella seguente descrive le modifiche apportate a ogni versione del connettore.

Versione

Modifiche

3

Aggiornato il runtime Lambda a Python 3.7, che modifica il requisito di runtime.

2

Correggere per ridurre l'eccessiva registrazione di log.

1

Versione iniziale.

Un gruppo Greengrass può contenere una sola versione del connettore alla volta. Per informazioni sull'aggiornamento di una versione del connettore, consulta Aggiornamento delle versioni dei connettori.

Consultare anche