Vai al contenuto
Avanet

Creare e testare in sicurezza le Web Exceptions di Sophos Firewall

Una Web Exception si crea rapidamente, ma il suo effetto può essere molto più ampio del previsto. A seconda della selezione, Sophos Firewall non ignora soltanto la decrittazione HTTPS, ma anche la convalida dei certificati, la scansione di malware e contenuti, l’analisi Zero-Day o tutti i controlli della Web Policy.

La sequenza sicura consiste quindi nell’individuare prima il flusso interessato e il controllo che causa realmente il problema, poi restringere il match e solo a quel punto attivare l’eccezione minima necessaria. Un test positivo da solo non basta. Nel test negativo, una destinazione simile non esclusa deve continuare a essere controllata normalmente.

Web Exception in sette passaggi

  1. Documentare client interessato, host di destinazione, percorso URL, protocollo e orario.
  2. Verificare se viene usato DPI Mode o Web Proxy Mode e quali firewall rule e Web Policy si applicano realmente.
  3. Stabilire se il problema riguarda solo la decrittazione TLS o uno specifico controllo di Web Protection.
  4. In Web > Exceptions > Add an exception, definire criteri URL, categoria, sorgente o destinazione ristretti.
  5. In Skip the selected checks or actions, selezionare solo l’opzione minima necessaria.
  6. Attivare l’eccezione e ripetere il test dello stesso flusso con un nuovo processo del browser o dell’applicazione.
  7. Eseguire un test negativo verso una destinazione simile non esclusa e documentare match, effetto, responsabile e data di revisione.

⚠️ HTTPS decryption non è un’opzione di compatibilità innocua. Per il traffico corrispondente vengono meno anche i controlli dipendenti e il firewall consente certificati server non validi. Malware and content scanning ignora automaticamente anche l’analisi Zero-Day. Un’eccezione ampia non deve quindi essere il primo passaggio di troubleshooting.

Scegliere Web Exception o TLS Exclusion

Entrambi gli strumenti possono impedire la decrittazione del traffico HTTPS, ma non risolvono lo stesso problema.

Una SSL/TLS inspection rule con Action: Don’t decrypt è adatta quando in DPI Mode si deve escludere soltanto la decrittazione per destinazioni chiaramente definite. Un URL Group nella Local TLS exclusion list è particolarmente efficiente, perché il firewall confronta come testo il Server Name Indication, o SNI.

Creare e usare in sicurezza gli URL Groups mostra come creare un elenco di domini di questo tipo, inserirlo in una regola Don't decrypt e verificarlo con una destinazione negativa.

Una Web Exception è adatta quando, in aggiunta o in alternativa, deve essere ignorato un controllo di Web Protection:

  • HTTPS decryption
  • HTTPS certificate validation
  • Malware and content scanning
  • Zero-day protection
  • Policy checks

In DPI Mode, una Web Exception si applica solo se per il flusso è attiva almeno una Web Policy, Malware and content scanning o ATP. In Web Proxy Mode, la Web Exception appartiene direttamente al percorso di Web Protection basato sul proxy.

La configurazione pianificata di DPI o Web Proxy, Decryption Rules e distribuzione della CA è descritta in Introdurre correttamente TLS Inspection. La logica di filtro è spiegata in Configurare Web Protection con Web Policies.

Pianificare un match ristretto e tracciabile

Un’eccezione non deve iniziare con un dominio qualsiasi del vendor. Prima si registra la richiesta concreta nel browser, nel Log Viewer o nei log dell’applicazione. Poi si decide se hostname, percorso, categoria, IP sorgente o IP di destinazione rappresenta il criterio più stabile.

AND tra tipi, OR all’interno di un tipo

Sophos Firewall collega i diversi tipi di criteri con AND. Se, ad esempio, sono specificati pattern URL e Source IP addresses, entrambi i tipi devono corrispondere.

Più valori dello stesso tipo vengono valutati con OR. Con due pattern URL può quindi bastare uno dei due. Con due Source IP addresses può bastare una delle due sorgenti.

Questa logica è importante nel troubleshooting. Un’eccezione può sembrare corretta e non applicarsi perché un tipo di criterio aggiuntivo non corrisponde al flusso reale.

Ancorare in sicurezza l’espressione regolare

In URL pattern matches sono consentite espressioni regolari. Un pattern semplice come vendor.example non è adatto. Il testo può corrispondere anche in una posizione inattesa dell’URL ed escludere troppe richieste.

Per il dominio di esempio riservato updates.vendor.example, un pattern host volutamente ancorato può essere:

^([A-Za-z0-9.-]*\.)?updates\.vendor\.example/

Il valore è solo un esempio. vendor.example è un dominio riservato alla documentazione e viene sostituito con il vero host di destinazione confermato nel log o nella richiesta. Il prefisso opzionale consente i sottodomini. Se si deve escludere un solo host esatto, non viene usato un wildcard di sottodominio non necessario.

I caratteri non ASCII vengono indicati nel pattern come Punycode. Dopo ogni modifica della regex, il test include un match atteso e almeno un non-match volutamente simile.

Distinguere hostname e percorso URL

Le eccezioni per HTTPS decryption e HTTPS certificate validation possono valutare l’hostname dal contesto TLS. Un pattern che punta soltanto a un percorso URL, invece, funziona per HTTPS solo se la connessione è già decrittata.

Questo stabilisce un limite importante: un’eccezione non può disattivare la decrittazione e poi usare in modo affidabile come criterio una parte visibile solo nel percorso HTTP cifrato. In questo caso serve un ambito basato sull’host o un altro design.

Creare la Web Exception

L’esempio esclude dalla decrittazione HTTPS un singolo client pilota per un host vendor confermato. Non è una regola di eccezione universale.

  1. Aprire Web > Exceptions.
  2. Selezionare Add an exception.
  3. Impostare un nome descrittivo, ad esempio Vendor API no decrypt.
  4. Attivare URL pattern matches.
  5. Inserire il pattern testato e ancorato in Search/Add e confermarlo con Add.
  6. Per il pilota, attivare anche Source IP addresses e inserire l’IP specifico del client.
  7. In Skip the selected checks or actions, selezionare esclusivamente HTTPS decryption.
  8. Selezionare Save.
  9. Nell’elenco, attivare l’interruttore della nuova eccezione.
  10. Ricontrollare nome, Matching URLs, sorgenti e controllo ignorato.

Nell’esempio l’IP sorgente è impostato volutamente. Senza di esso, l’eccezione si applicherebbe subito a tutti i client la cui richiesta corrisponde al pattern URL. Dopo un pilota riuscito, l’ambito può essere esteso in modo controllato alle sorgenti che ne hanno realmente bisogno.

Per una pura TLS Exclusion su molte destinazioni, un URL Group in una regola Don't decrypt è generalmente più facile da mantenere ed efficiente. Molti FQDN Host Objects nella sorgente o destinazione di una SSL/TLS inspection rule sono sfavorevoli, perché possono causare numerose query DNS per le nuove connessioni TLS.

Comprendere l’effetto delle opzioni di esclusione

Prima di salvare deve essere chiaro quale protezione viene persa.

HTTPS decryption

Il firewall non decritta il traffico HTTPS corrispondente. Di conseguenza, non può eseguire neppure i controlli che richiedono il contenuto decrittato. Sophos documenta inoltre che, per questo match, viene consentito il traffico con un certificato server non valido.

Se il problema riguarda soltanto una particolarità del certificato, questa opzione è spesso troppo ampia. Prima si verifica se HTTPS certificate validation rappresenta l’eccezione più precisa.

HTTPS certificate validation

Il firewall ignora il controllo di validità del certificato server. La decrittazione configurata può continuare. Questa eccezione è adatta solo a una destinazione nota con un problema di certificato accettato consapevolmente e richiede una data di revisione ravvicinata.

Un certificato scaduto, con nome errato o non attendibile dovrebbe essere corretto sul sistema di destinazione, se possibile. La distribuzione della corretta Inspection CA risolve un altro problema ed è descritta in Distribuire il certificato CA per TLS Inspection.

Malware and content scanning

Il firewall ignora la scansione di malware e contenuti per il match. In questo modo viene automaticamente ignorato anche Zero-day protection. Una singola selezione rimuove quindi due livelli di protezione dal percorso dati.

Prima di questa eccezione si controllano tipo di file, limite di scansione, cifratura, azione in caso di errore e download che corrisponde realmente. La procedura completa è in Configurare e testare la scansione malware.

Zero-day protection

L’analisi Zero-Day viene ignorata. Non vengono creati report di analisi per i file corrispondenti, anche se la scansione malware classica segnala un rilevamento. Questa opzione è più limitata rispetto a ignorare completamente Malware and content scanning.

Policy checks

I controlli della Web Policy vengono ignorati per la richiesta corrispondente. Un’eccezione di questo tipo può rendere inefficaci categorie, logica di utenti o gruppi e altre decisioni di policy. Deve essere usata soltanto per un problema di policy chiaramente dimostrato, non come soluzione generica per un sito web bloccato.

Verificare l’effetto con test positivi e negativi

Il caricamento riuscito di una pagina dimostra soltanto che qualcosa è cambiato. Non dimostra ancora che l’eccezione sia precisa.

  1. Registrare orario, client pilota, host di destinazione ed effetto previsto.
  2. Chiudere la sessione esistente del browser o dell’applicazione e creare una nuova connessione.
  3. Ripetere la richiesta interessata.
  4. Nel Log Viewer, confrontare IP sorgente, host di destinazione, Web Policy, Firewall Rule ID e Action.
  5. Per un’eccezione di decrittazione, confrontare il certificato server visibile al client con lo stato precedente alla modifica.
  6. Aprire una destinazione simile che non è stata esclusa.
  7. Verificare che tale destinazione continui a essere coperta da Web Policy, Decryption Rule e catena di scansione normali.
  8. Disattivare brevemente l’eccezione e riprodurre l’errore originale, se è sicuro farlo nella finestra di manutenzione.
  9. Riattivare l’eccezione e confermare nuovamente il risultato.

Se QUIC o HTTP/3 evita il percorso TLS su TCP previsto, il test può essere fuorviante. La distinzione è descritta in Bloccare correttamente QUIC e HTTP/3. Log Viewer, Policy Tester e Packet Capture mostrano quale regola e quale policy corrispondono realmente.

Delimitare sistematicamente gli errori

L’eccezione non si applica

  • L’interruttore in Web > Exceptions non è attivo.
  • Un tipo di criterio aggiuntivo non corrisponde a causa della logica AND.
  • La regex non è ancorata all’inizio o non rappresenta l’hostname reale.
  • Per un’eccezione di percorso HTTPS il traffico non viene decrittato, quindi il percorso non è visibile.
  • In DPI Mode non è attiva per il flusso né una Web Policy, né Malware and content scanning, né ATP.
  • Si applica una firewall rule, Web Policy o modalità operativa diversa da quella prevista.
  • La sessione esistente del browser o dell’applicazione non è stata ricreata.

L’eccezione si applica in modo troppo ampio

  • Il pattern contiene un wildcard non controllato o soltanto il testo nudo di un root domain.
  • Mancano Source IP addresses o un altro ambito pilota.
  • Più pattern URL dello stesso tipo hanno un effetto più ampio del previsto a causa di OR.
  • È stata esclusa un’intera Web category invece dell’host specifico.
  • Sono state attivate più opzioni di esclusione anche se il problema riguarda un solo controllo.

Il sito funziona, ma l’effetto sulla protezione non è chiaro

L’eccezione non viene ulteriormente estesa. Prima si confrontano certificato del browser, log Web e SSL/TLS Inspection, Firewall Rule ID, Web Policy e un download controllato. Senza queste prove, l’eccezione è soltanto un workaround funzionale, non ancora una decisione di sicurezza accettata.

Revisione e rollback

Ogni Web Exception di produzione include almeno:

  • motivazione tecnica e ticket
  • responsabile dell’applicazione e del firewall
  • host, percorsi, sorgenti e gruppi di utenti interessati
  • controlli esatti ignorati
  • data dei test positivi e negativi
  • data di revisione o scadenza
  • stato precedente documentato

Per il rollback, prima si disattiva l’eccezione invece di eliminarla subito. Poi si testano nuovamente l’errore originale, il normale percorso di protezione e le destinazioni non interessate. L’eccezione viene rimossa solo quando non rimane più alcuna dipendenza.

Le eccezioni predefinite e del vendor non vengono modificate senza controllo. Per un’eccezione personalizzata deve rimanere chiaro perché esiste e chi la rivaluterà in seguito.

Checklist operativa

  • DPI Mode o Web Proxy Mode identificato.
  • Firewall rule e Web Policy che corrispondono realmente confermate.
  • Hostname e, se applicabile, percorso URL acquisiti dal traffico reale.
  • Regex ancorata all’inizio e testata contro non-match.
  • Considerati AND tra tipi di criteri e OR all’interno di un tipo.
  • Selezionata solo l’opzione minima necessaria.
  • Considerata l’esclusione automatica di Zero-Day con Malware and content scanning.
  • Sorgente pilota limitata.
  • Test positivi e negativi eseguiti.
  • Log Viewer, certificato ed effetto sulla protezione verificati insieme.
  • Responsabile, ticket, data di revisione e rollback documentati.

Domande frequenti

È opportuno usare una Web Exception per il Certificate Pinning?

Se il problema riguarda solo la decrittazione TLS, una SSL/TLS inspection rule ristretta con Don’t decrypt e un URL Group è generalmente la soluzione più chiara ed efficiente in DPI Mode. Una Web Exception è adatta quando deve essere ignorato anche un controllo di Web Protection.

Perché un percorso URL non funziona insieme a Skip HTTPS decryption?

Il percorso si trova all’interno della richiesta HTTPS cifrata. Se la decrittazione viene ignorata, il firewall può valutare principalmente l’hostname dal contesto TLS. Un pattern basato solo sul percorso richiede traffico già decrittato.

Una Web Exception può valere solo per un client pilota?

Sì. Il pattern URL può essere combinato con Source IP addresses. Poiché diversi tipi di criteri sono collegati con AND, il pattern di destinazione e la sorgente pilota devono corrispondere contemporaneamente.