Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

AWS Network Firewall ora supporta la decrittazione SSL/TLS in uscita

By Devanshu KhannaMar 14, 20246 min read

Questa pagina è disponibile anche in English, Deutsch, Español, Français, 日本語 e Português.

AWS Network Firewall è un firewall di rete stateful gestito, con funzioni di rilevamento e prevenzione delle intrusioni per il vostro Amazon Virtual Private Cloud (VPC). Grazie all'ispezione stateful, è in grado di valutare il contesto del traffico di rete e prendere decisioni più accurate. Il sistema di prevenzione delle intrusioni (IPS) di AWS Network Firewall esegue un'ispezione attiva del flusso di traffico, offrendo protezioni in tempo reale a livello di rete e applicativo contro lo sfruttamento delle vulnerabilità e gli attacchi brute force.

AWS amplia continuamente le proprie funzionalità ed è probabile che continui a evolversi integrando ulteriori caratteristiche, fino ad allinearsi alle capacità avanzate dei tradizionali NGFW.

Lo scorso 19 dicembre, il supporto di AWS Network Firewall per l'ispezione del traffico Transport Layer Security (TLS) in uscita è diventato disponibile a livello generale in tutte le regioni AWS. Questa funzionalità consente ai clienti di decrittare, ispezionare e ricrittare il traffico TLS in uscita destinato a Internet, a un altro VPC o a un'altra subnet. Ricordiamo che l'ispezione TLS in ingresso su Network Firewall è già disponibile in tutte le regioni AWS.

Perché le organizzazioni hanno bisogno della decrittazione SSL/TLS in uscita

L'ispezione TLS in uscita è il processo che permette alle organizzazioni di monitorare e analizzare il traffico crittografato in uscita. Aiuta a rilevare e prevenire l'esfiltrazione di dati, malware e altre minacce alla sicurezza. La crittografia TLS nasce per veicolare in modo sicuro il traffico su Internet, ma può essere sfruttata anche per nascondere traffico malevolo. Ispezionando le connessioni TLS in uscita, le organizzazioni possono intercettare e filtrare il traffico a rischio: un'attività utile per individuare e prevenire violazioni dei dati e per garantire la conformità ai requisiti normativi.

Diagramma dell'architettura di riferimento e flusso del traffico

Senza Network Firewall, qualsiasi richiesta SSL crittografata verso un sito web viaggia direttamente tra il client e il server del sito. Una volta abilitata l'ispezione TLS sul firewall, quest'ultimo si interpone come middlebox (dispositivo di intercettazione SSL) tra il browser e il server.

Vale la pena ricordare che l'ispezione TLS è disponibile non solo per il traffico HTTPS, ma anche per altri protocolli applicativi basati su TCP che utilizzano TLS, come SMTP e POP3s.

Esempio di flusso del traffico — [traffico HTTPS]

  1. Richiesta del client: il client avvia una connessione sicura verso un server tramite protocollo HTTPS.
  2. Server hello e certificato: il server risponde inviando al client i cifrari SSL e il certificato.
  3. Ispezione SSL di Network Firewall: il firewall intercetta il certificato e lo sostituisce con uno generato dinamicamente. Stabilisce così una propria connessione SSL con il client, comportandosi come se fosse il server, e apre poi una connessione sicura separata con il server reale per conto del client.
  4. Ispezione del contenuto: i dati crittografati provenienti dal client vengono decrittati da Network Firewall per individuare potenziali rischi di sicurezza, come malware, virus o dati non autorizzati, in base alle regole stateful della firewall policy. Il firewall può autorizzare o interrompere la connessione. Se autorizzata, i dati vengono ricrittati e inoltrati al server per l'elaborazione.
  5. Risposta del server: il server risponde alla richiesta del client con dati crittografati, che ripercorrono lo stesso tragitto attraverso il dispositivo di ispezione SSL.

**Procedura di configurazione**

Prerequisiti

Creare la configurazione di ispezione TLS

Accedere alla console AWS e individuare le configurazioni di ispezione TLS all'interno del servizio VPC. Cliccare su "Create TLS inspection configuration" —

Nella pagina Associate certificates, scegliere il certificato CA per l'ispezione SSL in uscita e cliccare su "Next".

I requisiti generali per i certificati CA utilizzati per l'ispezione SSL/TLS in uscita sono disponibili qui.

Inserire "Name" e, facoltativamente, "Description" —

Nella pagina successiva, definire l'ambito del traffico che si vuole far decrittare a Network Firewall. Network Firewall decritta il traffico corrispondente alla 5-tupla definita nella configurazione dello scope. Di seguito un esempio di configurazione per ispezionare tutto il traffico destinato alla porta 443. Cliccare su "Add scope configuration" —

Verificare la configurazione e cliccare su "Next" —

Facoltativamente, è possibile definire una customer managed key personalizzata per crittare i dati a riposo. Per il momento la lasciamo deselezionata. Si consiglia tuttavia di selezionare "Check certificate revocation status" per intervenire in caso di certificati server revocati o sconosciuti.

Aggiungere i Tag e, nella pagina "Review and create", rivedere la configurazione e cliccare su "Create TLS inspection configuration" —

Il passaggio successivo consiste nell'aggiungere la configurazione di ispezione TLS a una firewall policy.

Creare una firewall policy e aggiungere la configurazione di ispezione TLS alla policy nello "Step 4". Attenzione: la configurazione di ispezione TLS può essere aggiunta solo a una nuova policy, non a una esistente.

È invece possibile sostituire una configurazione di ispezione TLS esistente con un'altra all'interno di una firewall policy tramite la scheda "TLS inspection configuration".

Per completare la configurazione, modificare la firewall policy del firewall esistente —

Se Network Firewall non è ancora stato avviato, è possibile seguire il link qui e selezionare "associate an existing firewall policy" dal menu a tendina nello "Step 4", come mostrato di seguito —

A questo punto "qualsiasi" traffico destinato alla porta 443 (scope) e che attraversa Network Firewall viene sottoposto a ispezione TLS.

**Test**

È il momento di mettere alla prova la configurazione. Se non si dispone già di un VPC routing configurato, conviene seguire la documentazione AWS qui per le istruzioni passo passo.

Per dimostrare che il motore SSL di AWS Network Firewall vede effettivamente il traffico HTTP decrittato, ho creato una regola Suricata STATEFUL che blocca il contenuto URI "download-anti-malware-testfile"

drop http $HOME_NET any -> $EXTERNAL_NET any (content:"download-anti-malware-testfile"; http_uri; msg:"Blocking bad domain"; flow:to_server, established; sid:2; rev:1;)

Accedere all'istanza EC2 ed eseguire il comando seguente per scaricare il file di test del malware

curl -I https://www.eicar.org/download-anti-malware-testfile/ -v

L'output del comando curl è un alert TLS, segno di un'interruzione nel processo di comunicazione.

* using HTTP/1.x
> HEAD /download-anti-malware-testfile/ HTTP/1.1
> Host: www.eicar.org
> User-Agent: curl/8.5.0
> Accept: */*
>
TLS alert, close notify (256):
* Empty reply from server
* Closing connection
* TLS alert, close notify (256):
curl: (52) Empty reply from server

Se i log di CloudWatch sono abilitati, è possibile visualizzare gli header HTTP decrittati insieme alla regola corrispondente. L'azione risulta "blocked" proprio in virtù della regola.

{
    "firewall_name": "Firewall-outbound-inspection",
    "availability_zone": "eu-west-1a",
    "event_timestamp": "1708512471",
    "event": {
        "tx_id": 0,
        "app_proto": "http",
        "src_ip": "172.31.88.172",
        "src_port": 41508,
        "event_type": "alert",
        "alert": {
            "severity": 3,
            "signature_id": 2,
            "rev": 1,
            "signature": "Blocking bad domain",
            "action": "blocked",
            "category": ""
        },
        "flow_id": 817400271818255,
        "dest_ip": "89.238.73.97",
        "proto": "TCP",
        "http": {
            "hostname": "www.eicar.org",
            "url": "/download-anti-malware-testfile/",
            "http_user_agent": "curl/8.5.0",
            "http_method": "HEAD",
            "protocol": "HTTP/1.1",
            "length": 0
        },
        "dest_port": 443,
        "timestamp": "2024-02-21T10:47:51.085575+0000"
    }
}

**Prezzi**

L'utilizzo della funzionalità di ispezione TLS comporta una tariffa oraria aggiuntiva per Advanced Inspection. In alcune regioni potrebbero essere previsti anche costi aggiuntivi per l'elaborazione dei dati Advanced Inspection.

Ad esempio, la struttura tariffaria della regione Irlanda non prevede costi aggiuntivi per l'elaborazione del traffico Advanced Inspection

A Melbourne, invece, l'elaborazione del traffico costa 0,009 $/GB

Maggiori dettagli sui prezzi qui.

**Conclusioni**

In sintesi, abbiamo visto come Network Firewall possa essere configurato per consentire alle organizzazioni di ispezionare il traffico crittografato in uscita, abilitando il rilevamento e la prevenzione di minacce nascoste all'interno di connessioni SSL/TLS. Un approccio che aiuta a mitigare i rischi associati ad attività malevole come malware, esfiltrazione di dati e comunicazioni di command and control.

Nel complesso, l'ispezione SSL in uscita è una misura di sicurezza fondamentale: aiuta le organizzazioni a rafforzare le proprie difese, a proteggere i dati sensibili e a mantenere la conformità normativa nell'attuale scenario delle minacce.