

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

# Personalizza CloudWatch gli avvisi Amazon per AWS Network Firewall
<a name="customize-amazon-cloudwatch-alerts-for-aws-network-firewall"></a>

*Jason Owens, Amazon Web Services*

## Riepilogo
<a name="customize-amazon-cloudwatch-alerts-for-aws-network-firewall-summary"></a>

Il modello ti aiuta a personalizzare gli CloudWatch avvisi Amazon generati da AWS Network Firewall. Puoi utilizzare regole predefinite o creare regole personalizzate che determinano il messaggio, i metadati e la gravità degli avvisi. Puoi quindi agire in base a questi avvisi o automatizzare le risposte di altri servizi Amazon, come Amazon. EventBridge

In questo modello, si generano regole firewall compatibili con Suricata. [Suricata](https://suricata.io/) è un motore di rilevamento delle minacce open source. Per prima cosa devi creare regole semplici e poi testarle per confermare che CloudWatch gli avvisi vengano generati e registrati. Dopo aver testato con successo le regole, le modifichi per definire messaggi, metadati e livelli di severità personalizzati, quindi esegui nuovamente il test per confermare gli aggiornamenti.

## Prerequisiti e limitazioni
<a name="customize-amazon-cloudwatch-alerts-for-aws-network-firewall-prereqs"></a>

**Prerequisiti**
+ Un attivo. Account AWS
+ AWS Command Line Interface (AWS CLI) installato e configurato sulla tua workstation Linux, macOS o Windows. Per ulteriori informazioni, consulta [Installare o aggiornare la versione più recente della AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).
+ AWS Network Firewall installato e configurato per utilizzare CloudWatch Logs. Per ulteriori informazioni, vedere [Registrazione del traffico di rete](https://docs.aws.amazon.com/network-firewall/latest/developerguide/firewall-logging.html) da. AWS Network Firewall
+ Un'istanza Amazon Elastic Compute Cloud (Amazon EC2) in una sottorete privata di un cloud privato virtuale (VPC) protetto da Network Firewall.

**Versioni del prodotto**
+ Per la versione 1 di AWS CLI, usa 1.18.180 o successiva. Per la versione 2 di AWS CLI, usa 2.1.2 o successiva.
+ Il file classification.config della versione 5.0.2 di Suricata. [Per una copia di questo file di configurazione, vedere la sezione Informazioni aggiuntive.](#customize-amazon-cloudwatch-alerts-for-aws-network-firewall-additional)

## Architecture
<a name="customize-amazon-cloudwatch-alerts-for-aws-network-firewall-architecture"></a>

![Una richiesta di EC2 istanza genera un avviso in Network Firewall, che inoltra l'avviso a CloudWatch](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/da6087a9-e942-4cfe-85e3-3b08de6f3ba5/images/778d85cd-bc87-4ed0-a161-d35eb5daa694.png)


Il diagramma dell'architettura mostra il seguente flusso di lavoro:

1. [Un' EC2 istanza Amazon in una sottorete privata effettua una richiesta utilizzando [curl](https://curl.se/) o Wget.](https://www.gnu.org/software/wget/)

1. Network Firewall elabora il traffico e genera un avviso.

1. Network Firewall invia gli avvisi registrati ai CloudWatch registri.

## Tools (Strumenti)
<a name="customize-amazon-cloudwatch-alerts-for-aws-network-firewall-tools"></a>

**Servizi AWS**
+ [Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) ti CloudWatch aiuta a monitorare i parametri delle tue AWS risorse e delle applicazioni su cui esegui AWS in tempo reale.
+ [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) ti aiuta a centralizzare i log di tutti i tuoi sistemi e applicazioni, Servizi AWS così puoi monitorarli e archiviarli in modo sicuro.
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) è uno strumento open source che ti aiuta a interagire Servizi AWS tramite comandi nella shell della riga di comando.
+ [AWS Network Firewall](https://docs.aws.amazon.com/network-firewall/latest/developerguide/what-is-aws-network-firewall.html)è un firewall di rete a stato gestito e un servizio di rilevamento e prevenzione delle intrusioni per cloud privati virtuali () in. VPCs Cloud AWS 

**Altri strumenti**
+ [curl](https://curl.se/) è uno strumento e una libreria a riga di comando open source.
+ [GNU Wget è uno strumento da](https://www.gnu.org/software/wget/) riga di comando gratuito.

## Epiche
<a name="customize-amazon-cloudwatch-alerts-for-aws-network-firewall-epics"></a>

### Crea le regole del firewall e il gruppo di regole
<a name="create-the-firewall-rules-and-rule-group"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creare regole. | 1. In un editor di testo, create un elenco di regole da aggiungere al firewall. Ogni regola deve trovarsi su una riga distinta. Il valore del `classtype` parametro proviene dal file di configurazione di classificazione Suricata predefinito. Per il contenuto completo del file di configurazione, vedere la sezione [Informazioni aggiuntive](#customize-amazon-cloudwatch-alerts-for-aws-network-firewall-additional). Di seguito sono riportati due esempi di regole.<pre>alert http any any -> any any (content:"badstuff"; classtype:misc-activity; sid:3; rev:1;)<br />alert http any any -> any any (content:"morebadstuff"; classtype:bad-unknown; sid:4; rev:1;)</pre><br />2. Salva le regole in un file denominato`custom.rules`. | Amministratore di sistema AWS, amministratore di rete | 
| Crea il gruppo di regole. | Nel AWS CLI, immettere il seguente comando. Questo crea il gruppo di regole.<pre>❯ aws network-firewall create-rule-group \<br />        --rule-group-name custom --type STATEFUL \<br />        --capacity 10 --rules file://custom.rules \<br />        --tags Key=environment,Value=development</pre><br />Di seguito è riportato un esempio di output. Prendi nota di`RuleGroupArn`, che ti servirà in un passaggio successivo.<pre>{<br />    "UpdateToken": "4f998d72-973c-490a-bed2-fc3460547e23",<br />    "RuleGroupResponse": {<br />        "RuleGroupArn": "arn:aws:network-firewall:us-east-2:1234567890:stateful-rulegroup/custom",<br />        "RuleGroupName": "custom",<br />        "RuleGroupId": "238a8259-9eaf-48bb-90af-5e690cf8c48b",<br />        "Type": "STATEFUL",<br />        "Capacity": 10,<br />        "RuleGroupStatus": "ACTIVE",<br />        "Tags": [<br />            {<br />                "Key": "environment",<br />                "Value": "development"<br />            }<br />        ]<br />    }</pre> | Amministratore di sistema AWS | 

### Aggiorna la politica del firewall
<a name="update-the-firewall-policy"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Ottieni l'ARN della politica del firewall. | Nel AWS CLI, immettere il seguente comando. Ciò restituisce l'Amazon Resource Name (ARN) della policy del firewall. Registra l'ARN per utilizzarlo più avanti in questo schema.<pre>❯ aws network-firewall describe-firewall \<br />    --firewall-name aws-network-firewall-anfw \<br />    --query 'Firewall.FirewallPolicyArn'</pre><br />Di seguito è riportato un esempio di ARN restituito da questo comando.<pre>"arn:aws:network-firewall:us-east-2:1234567890:firewall-policy/firewall-policy-anfw"</pre> | Amministratore di sistema AWS | 
| Aggiorna la politica del firewall. | In un editor di testo, copia o incolla il seguente codice. Sostituiscilo `<RuleGroupArn>` con il valore che hai registrato nell'epopea precedente. Salva il file con nome `firewall-policy-anfw.json`.<pre>{<br />    "StatelessDefaultActions": [<br />        "aws:forward_to_sfe"<br />    ],<br />    "StatelessFragmentDefaultActions": [<br />        "aws:forward_to_sfe"<br />    ],<br />    "StatefulRuleGroupReferences": [<br />        {<br />            "ResourceArn": "<RuleGroupArn>"<br />        }<br />    ]<br />}</pre><br />Inserisci il seguente comando in. AWS CLI Questo comando richiede un [token di aggiornamento](https://docs.aws.amazon.com/cli/latest/reference/network-firewall/update-firewall-policy.html) per aggiungere le nuove regole. Il token viene utilizzato per confermare che la politica non è cambiata dall'ultima volta che l'hai recuperata.<pre>UPDATETOKEN=(`aws network-firewall describe-firewall-policy \<br />              --firewall-policy-name firewall-policy-anfw \<br />              --output text --query UpdateToken`)<br /> <br /> aws network-firewall update-firewall-policy \<br /> --update-token $UPDATETOKEN \<br /> --firewall-policy-name firewall-policy-anfw \<br /> --firewall-policy file://firewall-policy-anfw.json</pre> | Amministratore di sistema AWS | 
| Conferma gli aggiornamenti delle policy. | (Facoltativo) Se desideri confermare che le regole sono state aggiunte e visualizzare il formato della politica, inserisci il seguente comando in AWS CLI.<pre>❯ aws network-firewall describe-firewall-policy \<br />  --firewall-policy-name firewall-policy-anfw \<br />  --query FirewallPolicy</pre><br />Di seguito è riportato un esempio di output.<pre>{<br />    "StatelessDefaultActions": [<br />        "aws:forward_to_sfe"<br />    ],<br />    "StatelessFragmentDefaultActions": [<br />        "aws:forward_to_sfe"<br />    ],<br />    "StatefulRuleGroupReferences": [<br />        {<br />            "ResourceArn": "arn:aws:network-firewall:us-east-2:1234567890:stateful-rulegroup/custom"<br />        }<br />    ]<br />}</pre> | Amministratore di sistema AWS | 

### Verifica la funzionalità degli avvisi
<a name="test-alert-functionality"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Genera avvisi per i test. | 1. Accedi a una workstation di prova all'interno della sottorete del firewall.<br />2. Immettete i comandi che dovrebbero generare avvisi. Ad esempio, puoi usare `wget` o`curl`.<pre>wget -U "badstuff" http://www.amazon.com -o /dev/null</pre><pre>curl -A "morebadstuff" http://www.amazon.com -o /dev/null</pre> | Amministratore di sistema AWS | 
| Verifica che gli avvisi siano registrati. | 1. Apri la [CloudWatch console](https://console.aws.amazon.com/cloudwatch/).<br />2. Passa al gruppo di log e allo stream corretti. Per ulteriori informazioni, consulta [Visualizza i dati di registro inviati ai CloudWatch registri](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#ViewingLogData) (documentazione CloudWatch sui registri).<br />3. Verifica che gli eventi registrati siano simili agli esempi seguenti. Gli esempi mostrano solo la parte rilevante dell'avviso.<br />**Esempio 1**<pre>        "alert": {<br />            "action": "allowed",<br />            "signature_id": 3,<br />            "rev": 1,<br />            "signature": "",<br />            "category": "Misc activity",<br />            "severity": 3<br />        }</pre><br />**Esempio 2**<pre>        "alert": {<br />            "action": "allowed",<br />            "signature_id": 4,<br />            "rev": 1,<br />            "signature": "",<br />            "category": "Potentially Bad Traffic",<br />            "severity": 2<br />        }</pre> | Amministratore di sistema AWS | 

### Aggiorna le regole e il gruppo di regole del firewall
<a name="update-the-firewall-rules-and-rule-group"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Aggiorna le regole del firewall. | 1. In un editor di testo, aprire il file `custom.rules`.<br />2. Modificate la prima regola in modo che sia simile alla seguente. Questa regola deve essere inserita su una sola riga del file.<pre>alert http any any -> any any (msg:"Watch out - Bad Stuff!!"; content:"badstuff"; classtype:misc-activity; priority:2; sid:3; rev:2; metadata:custom-field-2 Danger!, custom-field More Info;)</pre><br />Ciò apporta le seguenti modifiche alla regola:Aggiunge una stringa [msg](https://suricata.readthedocs.io/en/suricata-6.0.1/rules/meta.html#msg-message) (sito Web Suricata) che fornisce informazioni testuali sulla firma o sull'avviso. Nell'avviso generato, questo corrisponde alla firma. Regola la [priorità](https://suricata.readthedocs.io/en/suricata-6.0.1/rules/meta.html#priority) predefinita (sito Web Suricata) `misc-activity` da 3 a 2. Per i valori predefiniti dei vari`classtypes`, vedere la sezione [Informazioni aggiuntive](#customize-amazon-cloudwatch-alerts-for-aws-network-firewall-additional).Aggiunge [metadati](https://suricata.readthedocs.io/en/suricata-6.0.1/rules/meta.html#metadata) personalizzati (sito Web Suricata) all'avviso. Si tratta di informazioni aggiuntive che vengono aggiunte alla firma. Si consiglia di utilizzare coppie chiave-valore.Cambia la [versione (sito](https://suricata.readthedocs.io/en/suricata-6.0.1/rules/meta.html#rev-revision) web di Suricata) da 1 a 2. Rappresenta la versione della firma. | Amministratore di sistema AWS | 
| Aggiorna il gruppo di regole. | In AWS CLI, esegui i seguenti comandi. Usa l'ARN della tua politica firewall. Questi comandi ottengono un token di aggiornamento e aggiornano il gruppo di regole con le modifiche alle regole.<pre>❯ UPDATETOKEN=(`aws network-firewall \<br />                describe-rule-group \<br />--rule-group-arn arn:aws:network-firewall:us-east-2:123457890:stateful-rulegroup/custom \<br />--output text --query UpdateToken`)</pre><pre> ❯ aws network-firewall update-rule-group \<br />  --rule-group-arn arn:aws:network-firewall:us-east-2:1234567890:stateful-rulegroup/custom \<br />--rules file://custom.rules \<br />--update-token $UPDATETOKEN</pre><br />Di seguito è riportato un esempio di output.<pre>{<br />    "UpdateToken": "7536939f-6a1d-414c-96d1-bb28110996ed",<br />    "RuleGroupResponse": {<br />        "RuleGroupArn": "arn:aws:network-firewall:us-east-2:1234567890:stateful-rulegroup/custom",<br />        "RuleGroupName": "custom",<br />        "RuleGroupId": "238a8259-9eaf-48bb-90af-5e690cf8c48b",<br />        "Type": "STATEFUL",<br />        "Capacity": 10,<br />        "RuleGroupStatus": "ACTIVE",<br />        "Tags": [<br />            {<br />                "Key": "environment",<br />                "Value": "development"<br />            }<br />        ]<br />    }<br />}</pre> | Amministratore di sistema AWS | 

### Prova la funzionalità di avviso aggiornata
<a name="test-the-updated-alert-functionality"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Genera un avviso per il test. | 1. Accedere a una workstation di prova all'interno della sottorete del firewall.<br />2. Immettete un comando che dovrebbe generare un avviso. Per esempio, è possibile utilizzare `curl`.<pre>curl -A "badstuff" http://www.amazon.com -o /dev/null</pre> | Amministratore di sistema AWS | 
| Convalida l'avviso modificato. | 1. Apri la [CloudWatch console](https://console.aws.amazon.com/cloudwatch/).<br />2. Passa al gruppo di log e allo stream corretti.<br />3. Conferma che l'evento registrato è simile all'esempio seguente. L'esempio mostra solo la parte rilevante dell'avviso.<pre>"alert": {<br />    "action": "allowed",<br />    "signature_id": 3,<br />    "rev": 2,<br />    "signature": "Watch out - Bad Stuff!!",<br />    "category": "Misc activity",<br />    "severity": 2,<br />    "metadata": {<br />        "custom-field": [<br />            "More Info"<br />        ],<br />        "custom-field-2": [<br />            "Danger!"<br />        ]<br />    }<br />}</pre> | Amministratore di sistema AWS | 

## Risorse correlate
<a name="customize-amazon-cloudwatch-alerts-for-aws-network-firewall-resources"></a>

**Riferimenti**
+ [Invia avvisi da AWS Network Firewall un canale Slack](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/send-alerts-from-aws-network-firewall-to-a-slack-channel.html) (AWS Prescriptive Guidance)
+ [Proseguire la prevenzione delle minacce AWS con Suricata (post sul blog](https://aws.amazon.com/blogs/opensource/scaling-threat-prevention-on-aws-with-suricata/))AWS 
+ [Modelli di implementazione per AWS Network Firewall](https://aws.amazon.com/blogs/networking-and-content-delivery/deployment-models-for-aws-network-firewall/) (AWS post sul blog)
+ [Suricata meta keyworks (documentazione](https://suricata.readthedocs.io/en/suricata-6.0.1/rules/meta.html) Suricata)

**Tutorial e video**
+ [AWS Network Firewall officina](https://networkfirewall.workshop.aws/)

## Informazioni aggiuntive
<a name="customize-amazon-cloudwatch-alerts-for-aws-network-firewall-additional"></a>

Di seguito è riportato il file di configurazione della classificazione di Suricata 5.0.2. Queste classificazioni vengono utilizzate durante la creazione delle regole del firewall.

```
# config classification:shortname,short description,priority
 
config classification: not-suspicious,Not Suspicious Traffic,3
config classification: unknown,Unknown Traffic,3
config classification: bad-unknown,Potentially Bad Traffic, 2
config classification: attempted-recon,Attempted Information Leak,2
config classification: successful-recon-limited,Information Leak,2
config classification: successful-recon-largescale,Large Scale Information Leak,2
config classification: attempted-dos,Attempted Denial of Service,2
config classification: successful-dos,Denial of Service,2
config classification: attempted-user,Attempted User Privilege Gain,1
config classification: unsuccessful-user,Unsuccessful User Privilege Gain,1
config classification: successful-user,Successful User Privilege Gain,1
config classification: attempted-admin,Attempted Administrator Privilege Gain,1
config classification: successful-admin,Successful Administrator Privilege Gain,1
 
# NEW CLASSIFICATIONS
config classification: rpc-portmap-decode,Decode of an RPC Query,2
config classification: shellcode-detect,Executable code was detected,1
config classification: string-detect,A suspicious string was detected,3
config classification: suspicious-filename-detect,A suspicious filename was detected,2
config classification: suspicious-login,An attempted login using a suspicious username was detected,2
config classification: system-call-detect,A system call was detected,2
config classification: tcp-connection,A TCP connection was detected,4
config classification: trojan-activity,A Network Trojan was detected, 1
config classification: unusual-client-port-connection,A client was using an unusual port,2
config classification: network-scan,Detection of a Network Scan,3
config classification: denial-of-service,Detection of a Denial of Service Attack,2
config classification: non-standard-protocol,Detection of a non-standard protocol or event,2
config classification: protocol-command-decode,Generic Protocol Command Decode,3
config classification: web-application-activity,access to a potentially vulnerable web application,2
config classification: web-application-attack,Web Application Attack,1
config classification: misc-activity,Misc activity,3
config classification: misc-attack,Misc Attack,2
config classification: icmp-event,Generic ICMP event,3
config classification: inappropriate-content,Inappropriate Content was Detected,1
config classification: policy-violation,Potential Corporate Privacy Violation,1
config classification: default-login-attempt,Attempt to login by a default username and password,2
 
# Update
config classification: targeted-activity,Targeted Malicious Activity was Detected,1
config classification: exploit-kit,Exploit Kit Activity Detected,1
config classification: external-ip-check,Device Retrieving External IP Address Detected,2
config classification: domain-c2,Domain Observed Used for C2 Detected,1
config classification: pup-activity,Possibly Unwanted Program Detected,2
config classification: credential-theft,Successful Credential Theft Detected,1
config classification: social-engineering,Possible Social Engineering Attempted,2
config classification: coin-mining,Crypto Currency Mining Activity Detected,2
config classification: command-and-control,Malware Command and Control Activity Detected,1
```