Operazioni di mitigazione - AWS IoT Device Defender

Operazioni di mitigazione

Puoi utilizzare AWS IoT Device Defender per eseguire operazioni per mitigare i problemi rilevati in un avviso di audit o un Detect allarmi.

Nota

Le operazioni di mitigazione non verranno eseguite sui risultati di audit soppressi. Per ulteriori informazioni sulle soppressioni dei risultati di audit, consulta Soppressioni della ricerca di audit.

Operazioni di mitigazione di verifica

AWS IoT Device Defender fornisce operazioni predefinite per i diversi controlli di audit. Puoi configurare queste operazioni nel tuo Account AWS, e quindi applicarle a un set di risultati. Questi risultati possono essere:

  • Tutti i risultati di un audit. Questa opzione è disponibile sia nella console AWS IoT, sia utilizzando AWS CLI.

  • Un elenco dei singoli risultati. Questa opzione è disponibile solo utilizzando AWS CLI.

  • Un set filtrato di risultati di un audit.

La tabella seguente elenca i tipi di controlli di auditing e le operazione di mitigazione supportate per ognuno:

Mapping dai controlli di auditing alle operazioni di mitigazione
Controllo di auditing Operazioni di mitigazione supportate
REVOKED_CA_CERT_CHECK PUBLISH_FINDING_TO_SNS, UPDATE_CA_CERTIFICATE
INTERMEDIATE_CA_REVOKED_FOR_ACTIVE_DEVICE_CERTIFICATES_CHECK PUBLISH_FINDING_TO_SNS, UPDATE_DEVICE_CERTIFICATE, ADD_THINGS_TO_THING_GROUP
DEVICE_CERTIFICATE_SHARED_CHECK PUBLISH_FINDING_TO_SNS, UPDATE_DEVICE_CERTIFICATE, ADD_THINGS_TO_THING_GROUP
UNAUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK PUBLISH_FINDING_TO_SNS
AUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK PUBLISH_FINDING_TO_SNS
IOT_POLICY_OVERLY_PERMISSIVE_CHECK PUBLISH_FINDING_TO_SNS, REPLACE_DEFAULT_POLICY_VERSION
IOT_POLICY_POTENTIAL_MISCONFIGURATION_CHECK PUBLISH_FINDING_TO_SNS, REPLACE_DEFAULT_POLICY_VERSION
CA_CERTIFICATE_EXPIRING_CHECK PUBLISH_FINDING_TO_SNS, UPDATE_CA_CERTIFICATE
CONFLICTING_CLIENT_IDS_CHECK PUBLISH_FINDING_TO_SNS
DEVICE_CERTIFICATE_EXPIRING_CHECK PUBLISH_FINDING_TO_SNS, UPDATE_DEVICE_CERTIFICATE, ADD_THINGS_TO_THING_GROUP
REVOKED_DEVICE_CERTIFICATE_STILL_ACTIVE_CHECK PUBLISH_FINDING_TO_SNS, UPDATE_DEVICE_CERTIFICATE, ADD_THINGS_TO_THING_GROUP
LOGGING_DISABLED_CHECK PUBLISH_FINDING_TO_SNS, ENABLE_IOT_LOGGING
DEVICE_CERTIFICATE_KEY_QUALITY_CHECK PUBLISH_FINDING_TO_SNS, UPDATE_DEVICE_CERTIFICATE, ADD_THINGS_TO_THING_GROUP
CA_CERTIFICATE_KEY_QUALITY_CHECK PUBLISH_FINDING_TO_SNS, UPDATE_CA_CERTIFICATE
IOT_ROLE_ALIAS_OVERLY_PERMISSIVE_CHECK PUBLISH_FINDING_TO_SNS
IOT_ROLE_ALIAS_ALLOWS_ACCESS_TO_UNUSED_SERVICES_CHECK PUBLISH_FINDING_TO_SNS

Tutti i controlli di audit supportano la pubblicazione dei risultati di audit in Amazon SNS per consentirti di effettuare operazioni personalizzate in risposta alla notifica. Ogni tipo di controllo di auditing può supportare altre operazioni di mitigazione:

REVOKED_CA_CERT_CHECK
  • Cambiare lo stato del certificato per contrassegnarlo come inattivo in AWS IoT.

DEVICE_CERTIFICATE_SHARED_CHECK
  • Cambiare lo stato del certificato del dispositivo per contrassegnarlo come inattivo in AWS IoT.

  • Aggiungere i dispositivi che utilizzano il certificato a un gruppo di oggetti.

UNAUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK
  • Nessun'altra operazione supportata.

AUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK
  • Nessun'altra operazione supportata.

IOT_POLICY_OVERLY_PERMISSIVE_CHECK
  • Aggiungere una versione della policy AWS IoT vuota per limitare le autorizzazioni.

IOT_POLICY_POTENTIAL_MISCONFIGURATION_CHECK
  • Identificare potenziali errori di configurazione nelle policy AWS IoT.

CA_CERT_APPROACHING_EXPIRATION_CHECK
  • Cambiare lo stato del certificato per contrassegnarlo come inattivo in AWS IoT.

CONFLICTING_CLIENT_IDS_CHECK
  • Nessun'altra operazione supportata.

DEVICE_CERT_APPROACHING_EXPIRATION_CHECK
  • Cambiare lo stato del certificato del dispositivo per contrassegnarlo come inattivo in AWS IoT.

  • Aggiungere i dispositivi che utilizzano il certificato a un gruppo di oggetti.

DEVICE_CERTIFICATE_KEY_QUALITY_CHECK
  • Cambiare lo stato del certificato del dispositivo per contrassegnarlo come inattivo in AWS IoT.

  • Aggiungere i dispositivi che utilizzano il certificato a un gruppo di oggetti.

CA_CERTIFICATE_KEY_QUALITY_CHECK
  • Cambiare lo stato del certificato per contrassegnarlo come inattivo in AWS IoT.

REVOKED_DEVICE_CERT_CHECK
  • Cambiare lo stato del certificato del dispositivo per contrassegnarlo come inattivo in AWS IoT.

  • Aggiungere i dispositivi che utilizzano il certificato a un gruppo di oggetti.

LOGGING_DISABLED_CHECK
  • Attivare la registrazione nel log.

AWS IoT Device Defender supporta i seguenti tipi di operazioni di mitigazione sui risultati di controllo audit:

Tipo di operazione

Note
ADD_THINGS_TO_THING_GROUP Specifica il gruppo a cui aggiungere i dispositivi. Specifica anche se l'appartenenza a uno o più gruppi dinamici deve essere ignorata se supererebbe il numero massimo di gruppi a cui l'oggetto può appartenere.
ENABLE_IOT_LOGGING Specifica il livello di logging e il ruolo con le autorizzazioni per il logging. Non è possibile specificare un livello di logging DISABLED.
PUBLISH_FINDING_TO_SNS Specifica l'argomento in cui deve essere pubblicato il risultato.
REPLACE_DEFAULT_POLICY_VERSION Specifica il nome del modello. Sostituisce la versione della policy con una policy predefinita o vuota. Al momento è supportato solo un valore BLANK_POLICY.
UPDATE_CA_CERTIFICATE Specifica il nuovo stato per il certificato CA. Al momento è supportato solo un valore DEACTIVATE.
UPDATE_DEVICE_CERTIFICATE Specifica il nuovo stato per il certificato del dispositivo. Al momento è supportato solo un valore DEACTIVATE.

Configurando operazioni standard quando vengono rilevati problemi durante un audit, puoi rispondere a quei problemi in maniera coerente. Con queste operazioni di mitigazione definite, inoltre, puoi risolvere i problemi più rapidamente e con meno probabilità di errore umano.

Importante

L'applicazione di operazioni di mitigazione che modificano i certificati, aggiungono oggetti a un nuovo gruppo di oggetti o sostituiscono la policy possono avere un impatto sui tuoi dispositivi e sulle tue applicazioni. Ad esempio, i dispositivi potrebbero non riuscire a connettersi. Valuta le implicazioni delle operazioni di mitigazione prima di applicarle. Potrebbe essere necessario eseguire altre operazioni per correggere i problemi prima che i tuoi dispositivi e le tue applicazioni possano funzionare normalmente. Ad esempio, potrebbe essere necessario fornire certificati dei dispositivi aggiornati. Le operazioni di mitigazione possono essere utili per limitare rapidamente il rischio, ma devi comunque attuare misure correttive per risolvere i problemi sottostanti.

Alcune operazioni, ad esempio la riattivazione di un certificato di dispositivo, possono essere eseguite solo manualmente. AWS IoT Device Defender non fornisce un meccanismo per eseguire automaticamente il rollback delle operazioni di mitigazione applicate.

Rilevare operazioni di mitigazione

AWS IoT Device Defender supporta i seguenti tipi di operazioni di mitigazione sul Detect allarmi:

Tipo di operazione

Note
ADD_THINGS_TO_THING_GROUP Specifica il gruppo a cui aggiungere i dispositivi. Specifica anche se l'appartenenza a uno o più gruppi dinamici deve essere ignorata se supererebbe il numero massimo di gruppi a cui l'oggetto può appartenere.

Come definire e gestire le operazioni di mitigazione

Puoi utilizzare la console AWS IoT o la AWS CLI per definire e gestire le operazioni di mitigazione per il tuo Account AWS.

Creare operazioni di mitigazione

Ogni operazione di mitigazione personalizzata è una combinazione di un tipo di operazione predefinito e di parametri specifici del tuo account.

Per utilizzare la console AWS IoT per creare operazioni di mitigazione

  1. Apri la pagina Mitigation actions (Operazioni di mitigazione) nella console AWS IoT.

  2. Nella pagina Mitigation actions (Operazioni di mitigazione) scegli Create (Crea).

  3. Nella pagina Create a new mitigation action (Crea una nuova operazione di mitigazione), in Action name (Nome operazione), immetti un nome univoco per l'operazione di mitigazione.

  4. In Action type (Tipo di operazione) specificare il tipo di operazione da definire.

  5. In Permissions (Autorizzazioni), scegli il ruolo IAM con le cui autorizzazioni viene applicata l'operazione.

  6. Ogni tipo di operazione richiede un diverso set di parametri. Inserire i parametri per l'operazione. Ad esempio, se si sceglie il tipo di operazione Add things to thing group (Aggiungi oggetti a un gruppo di oggetti), scegliere il gruppo di destinazione e selezionare o deselezionare Override dynamic groups (Ignora gruppi dinamici).

  7. Scegli Save (Salva) per salvare l'operazione di mitigazione per l'account AWS.

Per utilizzare AWS CLI per creare operazioni di mitigazione
  • Utilizza il comando CreateMitigationAction per creare un'operazione di mitigazione. Il nome univoco assegnato all'operazione viene utilizzato quando si applica quell'operazione ai risultati di audit. Scegliere un nome significativo.

Per utilizzare la console AWS IoT per visualizzare e modificare le operazioni di mitigazione
  1. Apri la pagina Mitigation actions (Operazioni di mitigazione) nella console AWS IoT.

    Nella pagina Mitigation Actions (Operazioni di mitigazione) viene riportato un elenco di tutte le operazioni di mitigazione definite per il tuo Account AWS.

  2. Scegliere il link con il nome dell'operazione per l'operazione di mitigazione da modificare.

  3. Scegli Edit (Modifica) per apportare modifiche all'operazione di mitigazione. Non è possibile modificare il nome perché il nome dell'operazione di mitigazione viene utilizzato per identificarla.

  4. Scegli Update (Aggiorna) per salvare le modifiche apportate all'operazione di mitigazione nel tuo Account AWS.

Per utilizzare AWS CLI per elencare un'operazione di mitigazione
  • Utilizza il comando ListMitigationAction per elencare le operazioni di mitigazione. Se si intende modificare o eliminare un'operazione di mitigazione, prendere nota del nome.

Per utilizzare AWS CLI per aggiornare un'operazione di mitigazione
Per utilizzare la console AWS IoT per eliminare un'operazione di mitigazione
  1. Apri la pagina Mitigation actions (Operazioni di mitigazione) nella console AWS IoT.

    Nella pagina Mitigation Actions (Operazioni di mitigazione) sono riportate tutte le operazioni di mitigazione definite per il tuo Account AWS.

  2. Scegli l'operazione di mitigazione che desideri eliminare e quindi seleziona Delete (Elimina).

  3. Nella finestra Are you sure you want to delete (Eliminare), scegli Delete (Elimina).

Per utilizzare AWS CLI per eliminare operazioni di mitigazione
Per utilizzare la console AWS IoT per visualizzare i dettagli delle operazioni di mitigazione
  1. Apri la pagina Mitigation actions (Operazioni di mitigazione) nella console AWS IoT.

    Nella pagina Mitigation Actions (Operazioni di mitigazione) sono riportate tutte le operazioni di mitigazione definite per il tuo Account AWS.

  2. Scegli il link con il nome dell'operazione per l'operazione di mitigazione da visualizzare.

Per utilizzare AWS CLI per visualizzare i dettagli delle operazioni di mitigazione

Applicare le operazioni di mitigazione

Dopo aver definito un set di operazioni di mitigazione, è possibile applicarle ai risultati di un audit. Quando si applicano le operazioni, si avvia un'attività di operazioni di mitigazione di audit. Questa operazione potrebbe richiedere alcuni minuti, a seconda del set di risultati e delle operazioni applicate. Ad esempio, in presenza di un ampio pool di dispositivi con certificati scaduti, potrebbero essere necessari alcuni minuti per disattivare tutti i certificati o spostare i dispositivi in un gruppo di quarantena. Altre operazioni, come l'abilitazione del logging, possono essere completate rapidamente.

Puoi visualizzare l'elenco delle esecuzioni di operazioni e annullare un'esecuzione non ancora completata. Non viene effettuato il rollback delle operazioni già eseguite nell'ambito dell'esecuzione di operazioni annullata. Se stai applicando più operazioni a un set di risultati e una di tali operazioni non è riuscita, le operazioni successive vengono ignorate per quel risultato (ma vengono comunque applicate agli altri risultati). Lo stato attività per il risultato è FAILED. taskStatus è impostato su non riuscito se una o più operazioni hanno avuto esito negativo durante l'applicazione ai risultati. Le operazioni vengono applicate in base all'ordine in cui vengono definite.

Ogni esecuzione di operazioni applica un set di operazioni a un target. Questo target può essere un elenco di risultati oppure tutti i risultati di un audit.

Il seguente diagramma mostra come definire un'attività di mitigazione di audit che acquisisce tutti i risultati di un audit e applica un set di operazioni a tali risultati. Una singola esecuzione applica un'operazione a un risultato. L'output dell'attività di operazioni di mitigazione di audit è un riepilogo di esecuzione.

Immagine concettuale che mostra un'attività di operazioni di mitigazione di audit.

Il seguente diagramma mostra come definire un'attività di mitigazione di audit che acquisisce un elenco di singoli risultati da uno o più audit e applica un set di operazioni a tali risultati. Una singola esecuzione applica un'operazione a un risultato. L'output dell'attività di operazioni di mitigazione di audit è un riepilogo di esecuzione.

Immagine concettuale che mostra un'attività di operazioni di mitigazione di audit.

Puoi utilizzare la console AWS IoT o AWS CLI per applicare le operazioni di mitigazione.

Per utilizzare la console AWS IoT per applicare le operazioni di mitigazione avviando l'esecuzione di un'operazione
  1. Apri la pagina Audit results (Risultati della revisione) nella console AWS IoT.

  2. Scegliere il nome per l'audit a cui applicare le operazioni.

  3. Scegli Start mitigation actions (Avvia operazioni di mitigazione). Questo pulsante non è disponibile se tutti i tuoi controlli sono conformi.

  4. In Start a new mitigation action (Avvia una nuova operazione di mitigazione), il nome predefinito dell'attività è l'ID audit, ma è possibile modificarlo per usarne uno più significativo.

  5. Per ogni tipo di controllo con uno o più risultati non conformi nell'audit, è possibile scegliere una o più operazioni da applicare. Vengono visualizzate solo le operazioni valide per il tipo di controllo.

    Nota

    Se non sono state configurate operazioni per il tuo Account AWS, l'elenco di operazioni sarà vuoto. Puoi scegliere il link Create mitigation action (Crea operazione di mitigazione) per creare una o più operazioni di mitigazione.

  6. Una volta specificate tutte le operazioni da applicare, scegli Start task (Avvia attività).

Per utilizzare AWS CLI per applicare le operazioni di mitigazione avviando l'esecuzione di operazioni di mitigazione di audit
  1. Per applicare le operazioni a tutti i risultati per l'audit, utilizza il comando ListAuditTasks per trovare l'ID attività.

  2. Per applicare le operazioni solo a determinati risultati, utilizza il comando ListAuditFindings per ottenere gli lD risultato.

  3. Utilizza il comando ListMitigationActions e annota i nomi delle operazioni di mitigazione da applicare.

  4. Utilizza il comando StartAuditMitigationActionsTask per applicare le operazioni alla destinazione. Annotare l'ID attività. Questo ID consente di controllare lo stato dell'esecuzione dell'operazione, rivedere i dettagli o annullarla.

Per utilizzare la console AWS IoT per visualizzare le esecuzioni di operazioni
  1. Apri la pagina Action tasks (Attività di operazione) nella console AWS IoT.

    Un elenco di attività delle operazioni mostra quando ognuna di esse è stata inviata e lo stato corrente.

  2. Scegliere il link Name (Nome) per visualizzare i dettagli dell'attività. I dettagli includono tutte le operazioni applicate dall'attività, il relativo target e il relativo stato.

    Dettagli per l'attività di operazioni di mitigazione di audit.

    È possibile utilizzare i filtri Show executions for (Mostra esecuzioni per) per concentrarsi sui tipi di azioni o stati di azione.

  3. Per visualizzare i dettagli dell'attività, in Executions (Esecuzioni), scegliere Show (Mostra).

    Dettagli di esecuzione per l'attività di operazioni di mitigazione di audit.
Per utilizzare AWS CLI per elencare le attività avviate
  1. Utilizza ListAuditMitigationActionsTasks per visualizzare le attività delle operazioni di mitigazione di audit. È possibile specificare filtri per restringere i risultati. Se si desidera visualizzare i dettagli dell'attività, prendere nota dell'ID attività.

  2. Utilizza ListAuditMitigationActionsExecutions per visualizzare i dettagli di esecuzione per una determinata attività delle operazioni di mitigazione di audit.

  3. Utilizza DescribeAuditMitigationActionsTask per visualizzare i dettagli dell'attività, ad esempio i parametri specificati quando è stata avviata.

Per utilizzare AWS CLI per annullare un'attività di operazioni di mitigazione di audit
  1. Utilizza il comando ListAuditMitigationActionsTasks per trovare l'ID attività per l'attività di cui si vuole annullare l'esecuzione. È possibile specificare filtri per restringere i risultati.

  2. Utilizza il comando ListDetectMitigationActionsExecutions, con l'ID attività, per annullare le attività delle operazioni di mitigazione di audit. Non è possibile annullare le attività già completate. Quando si annulla un'attività, le operazioni rimanenti non vengono applicate, ma non viene eseguito il rollback delle operazioni di mitigazione già applicate.

Autorizzazioni

Per ogni operazione di mitigazione definita dall'utente, è necessario specificare il ruolo utilizzato per applicare l'operazione.

Autorizzazioni per le operazioni di mitigazione
Tipo di operazione Modello della policy di autorizzazione

UPDATE_DEVICE_CERTIFICATE

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "iot:UpdateCertificate" ], "Resource":[ "*" ] } ] }
UPDATE_CA_CERTIFICATE
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "iot:UpdateCACertificate" ], "Resource":[ "*" ] } ] }
ADD_THINGS_TO_THING_GROUP
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "iot:ListPrincipalThings", "iot:AddThingToThingGroup" ], "Resource":[ "*" ] } ] }
REPLACE_DEFAULT_POLICY_VERSION
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "iot:CreatePolicyVersion" ], "Resource":[ "*" ] } ] }
ENABLE_IOT_LOGGING
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "iot:SetV2LoggingOptions" ], "Resource":[ "*" ] }, { "Effect":"Allow", "Action":[ "iam:PassRole" ], "Resource":[ "<IAM role ARN used for setting up logging>" ] } ] }
PUBLISH_FINDING_TO_SNS
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "sns:Publish" ], "Resource":[ "<The SNS topic to which the finding is published>" ] } ] }

Per tutti i tipi di operazioni di mitigazione, utilizzare il seguente modello di policy di trust:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:iot:*:111122223333::*" }, "StringEquals": { "aws:SourceAccount": "111122223333:" } } } ] }