Pubblica i log di flusso su Logs CloudWatch - Amazon Virtual Private Cloud

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à.

Pubblica i log di flusso su Logs CloudWatch

I log di flusso possono pubblicare i dati dei log di flusso direttamente su Amazon CloudWatch.

Quando vengono pubblicati su CloudWatch Logs, i dati del log di flusso vengono pubblicati in un gruppo di log e ogni interfaccia di rete ha un flusso di log unico nel gruppo di log. I flussi di log contengono record del log di flusso. Puoi creare più log di flusso che pubblicano dati nello stesso gruppo di log. Se la stessa interfaccia di rete è presente in uno o più log di flusso nello stesso gruppo di log, dispone di un flusso di log combinato. Se è stato specificato che un log di flusso deve acquisire traffico rifiutato e l'altro log di flusso deve acquisire traffico accettato, il flusso di log combinato acquisisce tutto il traffico.

In CloudWatch Logs, il campo timestamp corrisponde all'ora di inizio acquisita nel record del log di flusso. Il campo IngestionTime indica la data e l'ora in cui il record del log di flusso è stato ricevuto da Logs. CloudWatch Questo timestamp è successivo all'ora di fine acquisita nel record di log di flusso.

Per ulteriori informazioni sui CloudWatch log, consulta Logs sent to Logs nella Amazon CloudWatch CloudWatch Logs User Guide.

Prezzi

I costi di ingestione e archiviazione dei dati per i log venduti si applicano quando pubblichi i log di flusso su Logs. CloudWatch Per ulteriori informazioni, apri Amazon CloudWatch Pricing, seleziona Logs e trova Vending Logs.

Ruolo IAM per la pubblicazione dei log di flusso su Logs CloudWatch

Il ruolo IAM associato al log di flusso deve disporre di autorizzazioni sufficienti per pubblicare i log di flusso nel gruppo di log specificato in Logs. CloudWatch Il ruolo IAM deve appartenere al tuo account. AWS

La policy IAM collegata al ruolo IAM deve includere almeno le autorizzazioni seguenti:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": "*" } ] }

Verificare che il ruolo abbia la seguente policy di attendibilità che consente al servizio dei log di flusso di assumere il ruolo.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "vpc-flow-logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Si consiglia di utilizzare il le chiavi di condizione aws:SourceAccount e aws:SourceArn per proteggersi dal problema del "confused deputy". Ad esempio, è possibile aggiungere il seguente blocco di condizione alla policy di attendibilità precedente. L'account di origine è il proprietario del flusso di log e l'ARN di origine è l'ARN del flusso di log. Se non si conosce l'ID del flusso di log, è possibile sostituire quella parte dell'ARN con un carattere jolly (*) e quindi aggiornare la policy dopo aver creato il flusso di log.

"Condition": { "StringEquals": { "aws:SourceAccount": "account_id" }, "ArnLike": { "aws:SourceArn": "arn:aws:ec2:region:account_id:vpc-flow-log/flow-log-id" } }

Creazione di un ruolo IAM per i log di flusso

È possibile aggiornare un ruolo esistente come descritto in precedenza. In alternativa, puoi utilizzare la seguente procedura per creare un nuovo ruolo per l'utilizzo con log di flusso. Questo ruolo dovrà essere specificato quando crei il log del flusso.

Per creare un ruolo IAM per i log di flusso
  1. Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione, selezionare Policies (Policy).

  3. Scegli Create Policy (Crea policy).

  4. Nella pagina Create policy (Crea policy), eseguire le operazioni seguenti:

    1. Scegli JSON.

    2. Sostituisci il contenuto di questa finestra con la policy delle autorizzazioni all'inizio di questa sezione.

    3. Seleziona Avanti.

    4. Inserisci un nome per la policy e una descrizione e dei tag opzionali, quindi scegli Crea policy.

  5. Nel pannello di navigazione, seleziona Roles (Ruoli).

  6. Selezionare Create role (Crea ruolo).

  7. Per Trusted entity type (Tipo di entità attendibile), scegli Custom trust policy (Policy di attendibilità personalizzata). Per Custom trust policy (Policy di attendibilità personalizzata), sostituisci "Principal": {}, con quanto segue, quindi seleziona Next (Successivo).

    "Principal": { "Service": "vpc-flow-logs.amazonaws.com" },
  8. Sulla pagina Add permissions (Aggiungi autorizzazioni), seleziona la casella di controllo relativa alla policy creata in precedenza in questa procedura, quindi scegli Next (Successivo).

  9. Immetti un nome per il ruolo e fornisci una descrizione facoltativa.

  10. Seleziona Create role (Crea ruolo).

Autorizzazioni per i principali IAM che pubblicano i log di flusso su Logs CloudWatch

Gli utenti devono disporre delle autorizzazioni per utilizzare l'operazione iam:PassRole per il ruolo IAM associato al log di flusso.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["iam:PassRole"], "Resource": "arn:aws:iam::account-id:role/flow-log-role-name" } ] }

Crea un log di flusso da pubblicare su Logs CloudWatch

È possibile creare log di flusso per VPC, sottoreti o interfacce di rete. Se esegui questa procedura come utente che utilizza un particolare ruolo IAM, assicurati che il ruolo disponga delle autorizzazioni per utilizzare l'operazione iam:PassRole. Per ulteriori informazioni, consulta Autorizzazioni per i principali IAM che pubblicano i log di flusso su Logs CloudWatch .

Prerequisito
Creazione di un flusso di log tramite la console
  1. Esegui una di queste operazioni:

    • Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/. Nel riquadro di navigazione, selezionare Network Interfaces (Interfacce di rete). Seleziona la casella di controllo relativa all'interfaccia di rete.

    • Accedere alla console Amazon VPC all'indirizzo https://console.aws.amazon.com/vpc/. Nel pannello di navigazione scegliere Your VPCs (I tuoi VPC). Selezionare la casella di controllo relativa al VPC.

    • Accedi alla console Amazon VPC all'indirizzo https://console.aws.amazon.com/vpc/. Nel riquadro di navigazione, scegliere Subnets (Sottoreti). Seleziona la casella di controllo della sottorete.

  2. Scegli Actions (Operazioni), Create flow log (Crea flusso di log).

  3. Per Filtra, specifica il tipo di traffico di cui eseguire il log. Seleziona All (Tutti) per registrare il traffico accettato e rifiutato, Reject (Rifiutato) per eseguire il log solo del traffico rifiutato oppure Accept (Accettato) per eseguirlo solo sul traffico accettato.

  4. Per Maximum aggregation interval (Intervallo di aggregazione massimo), scegliere il periodo di tempo massimo durante il quale un flusso viene acquisito e aggregato in un record di log di flusso.

  5. Per Destinazione, scegli Invia ai registri. CloudWatch

  6. Per Gruppo di log di destinazione, scegli il nome di un gruppo di log esistente o inserisci il nome di un nuovo gruppo di log che verrà creato quando crei questo log di flusso.

  7. Per il ruolo IAM, specifica il nome del ruolo che dispone delle autorizzazioni per pubblicare i log in Logs. CloudWatch

  8. Per Formato record di log, seleziona il formato per il record del log di flusso.

    • Per utilizzare il formato del record di log di flusso predefinito, seleziona Formato predefinito AWS .

    • Per utilizzare un formato personalizzato, scegli Formato personalizzato, quindi seleziona i campi da Formato di log .

  9. (Facoltativo) Seleziona Aggiungi tag per applicare i tag al log di flusso.

  10. Selezionare Create flow log (Crea log di flusso).

Per creare un log di flusso utilizzando la riga di comando

Utilizzare uno dei seguenti comandi.

L' AWS CLI esempio seguente crea un log di flusso che acquisisce tutto il traffico accettato per la sottorete specificata. I log di flusso vengono consegnati al gruppo di log specificato. Il --deliver-logs-permission-arn parametro specifica il ruolo IAM richiesto per la pubblicazione su Logs. CloudWatch

aws ec2 create-flow-logs --resource-type Subnet --resource-ids subnet-1a2b3c4d --traffic-type ACCEPT --log-group-name my-flow-logs --deliver-logs-permission-arn arn:aws:iam::123456789101:role/publishFlowLogs

Visualizzazione dei record dei log di flusso

È possibile visualizzare i record del log di flusso utilizzando la console CloudWatch Logs. Dopo che il flusso di log è stato creato, potrebbero essere necessari alcuni minuti prima che sia visibile nella console.

Per visualizzare i record del log di flusso pubblicati su CloudWatch Logs utilizzando la console
  1. Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/.

  2. Nel pannello di navigazione a sinistra, scegli Log, Gruppi di log.

  3. Seleziona il nome del gruppo di log contenente i log di flusso per aprirne la pagina dei dettagli.

  4. Seleziona il nome del flusso di log contenente i record del log di flusso. Per ulteriori informazioni, consulta Record di log di flusso.

Per visualizzare i record dei log di flusso pubblicati su CloudWatch Logs utilizzando la riga di comando

Ricerca dei record dei log di flusso

È possibile cercare i record del log di flusso pubblicati su CloudWatch Logs utilizzando la console Logs. CloudWatch È possibile utilizzare filtri metrici per filtrare i record del log di flusso. I record del log di flusso sono delimitati da spazio.

Per cercare i record del log di flusso utilizzando la CloudWatch console Logs
  1. Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/.

  2. Nel pannello di navigazione a sinistra, scegli Log, Gruppi di log.

  3. Seleziona il gruppo di log contenente il log di flusso, quindi seleziona il flusso di log, se conosci l'interfaccia di rete che stai cercando. In alternativa, scegli Search log group (Cerca nel gruppo di log). Questo potrebbe richiedere del tempo se nel gruppo di log sono presenti molte interfacce di rete o in base all'intervallo di tempo selezionato.

  4. In Filtra eventi, inserisci la stringa seguente. Ciò presuppone che il record del log di flusso utilizzi il formato predefinito.

    [version, accountid, interfaceid, srcaddr, dstaddr, srcport, dstport, protocol, packets, bytes, start, end, action, logstatus]
  5. Modificare il filtro in base alle esigenze specificando i valori per i campi. Negli esempi seguenti il filtro viene applicato in base a specifici indirizzi IP di origine.

    [version, accountid, interfaceid, srcaddr = 10.0.0.1, dstaddr, srcport, dstport, protocol, packets, bytes, start, end, action, logstatus] [version, accountid, interfaceid, srcaddr = 10.0.2.*, dstaddr, srcport, dstport, protocol, packets, bytes, start, end, action, logstatus]

    Negli esempi seguenti il filtro viene applicato in base alla porta di destinazione, al numero di byte e all'eventuale rifiuto del traffico.

    [version, accountid, interfaceid, srcaddr, dstaddr, srcport, dstport = 80 || dstport = 8080, protocol, packets, bytes, start, end, action, logstatus] [version, accountid, interfaceid, srcaddr, dstaddr, srcport, dstport = 80 || dstport = 8080, protocol, packets, bytes >= 400, start, end, action = REJECT, logstatus]

Elabora i record del registro del flusso in CloudWatch Logs

È possibile utilizzare i record del log di flusso come si farebbe con qualsiasi altro evento di registro raccolto da CloudWatch Logs. Per ulteriori informazioni sul monitoraggio dei dati di log e sui filtri delle metriche, consulta Searching and Filtering Log Data nella Amazon CloudWatch User Guide.

Esempio: crea un filtro CloudWatch metrico e un allarme per un log di flusso

In questo esempio, si dispone di un log di flusso per eni-1a2b3c4d. Si desidera creare un allarme che avvisa se si sono verificati almeno 10 tentativi di connessione all'istanza sulla porta TCP 22 (SSH) entro un periodo di tempo di 1 ora. Innanzitutto, crea un filtro parametri che corrisponde al modello di traffico per il quale creare l'allarme. Quindi, puoi creare un allarme per il filtro parametri.

Per creare il filtro parametri per traffico SSH rifiutato e creare un allarme per il filtro
  1. Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/.

  2. Nel pannello di navigazione a sinistra, scegli Logs (Registri), Log groups (Gruppi di registri).

  3. Seleziona la casella di controllo per il gruppo di log e scegli Actions (Operazioni), poi Create metric filter (Crea filtri parametri).

  4. Per Filter pattern (Modello di filtro), immetti la seguente stringa.

    [version, account, eni, source, destination, srcport, destport="22", protocol="6", packets, bytes, windowstart, windowend, action="REJECT", flowlogstatus]
  5. Per Select Log Data to Test (Seleziona i dati di log per il test), seleziona il flusso di log per l'interfaccia di rete. (Facoltativo) Per visualizzare le righe di dati di log che corrispondono al modello di filtro, scegli Test Pattern (Modello di test).

  6. Al termine, scegli Next (Successivo).

  7. Inserisci un nome per il filtro, uno spazio dei nomi dei parametri e il nome del parametro. Imposta il valore del parametro su 1. Al termine, scegli Next (Successivo) e in seguito Create metric filter (Crea filtri parametri).

  8. Nel pannello di navigazione, seleziona Alarms (Allarmi), All alarms (Tutti gli allarmi).

  9. Scegli Crea allarme.

  10. Seleziona il nome della metrica che hai creato, quindi scegli Seleziona metrica.

  11. Configura l'allarme come segue, quindi scegli Next (Successivo):

    • Per Statistic (Statistica), scegliere Sum (Somma). Ciò ti garantisce di acquisire il numero totale di punti di dati per il periodo di tempo specificato.

    • Per Period (Periodo), scegli 1 Hour (1 ora).

    • Per Whenever is TimeSinceLastActive ... , scegli Maggiore/Uguale e inserisci 10 per la soglia.

    • In Additional configuration (Configurazione aggiuntiva), Datapoints to alarm (Punti dati ad allarme) lascia il valore di default 1.

  12. Seleziona Avanti.

  13. Per Notification (Notifica) scegli un argomento SNS esistente oppure Create new topic (Crea nuovo argomento), per crearne uno nuovo. Seleziona Avanti.

  14. Inserisci un nome e una descrizione per l'allarme, quindi scegli Next (Successivo).

  15. Quando hai finito di visualizzare l'anteprima dell'avviso, scegli Crea allarme.