Proteggere Sophos Firewall WAF con MFA
Con Sophos Firewall WAF MFA è possibile proteggere ulteriormente le applicazioni web pubblicate tramite la Web Application Firewall con l’autenticazione multifattoriale. Questo è particolarmente utile per portali interni, interfacce amministrative, aree clienti o accessi partner che devono essere raggiungibili tramite HTTPS, ma non dovrebbero essere protetti solo dall’applicazione stessa.
WAF-MFA non sostituisce un’applicazione sicura, una gestione delle patch o un concetto di autorizzazione pulito. È uno strato di protezione preliminare sul firewall. Il firewall verifica prima il login e il secondo fattore, prima di inoltrare l’accesso al server web protetto.
Per la pubblicazione di base di un server web tramite WAF, si adatta prima la guida Sophos Firewall WAF: Pubblicare in modo sicuro un server web. Questo articolo si concentra sull’autenticazione preliminare e MFA.
Quando è utile WAF-MFA
WAF-MFA è particolarmente efficace quando un’applicazione web deve essere raggiungibile da Internet, ma non è destinata a tutti i visitatori.
Casi d’uso tipici:
- portali interni con accesso esterno
- interfacce amministrative di applicazioni specialistiche
- portali partner o clienti con un numero limitato di utenti
- applicazioni web legacy senza MFA forte propria
- applicazioni in cui è desiderata una protezione di accesso aggiuntiva prima del backend
Per siti web pubblici, negozi o pagine informative, WAF-MFA di solito non è adatto, poiché ogni visitatore vedrebbe prima un login del firewall. Per applicazioni private complesse, ZTNA, SSE o un proxy inverso dedicato possono essere più adatti di WAF-MFA. Se è necessario WebDAV, bisogna essere particolarmente cauti: Sophos WAF non supporta correttamente WebDAV, il che può essere rilevante per applicazioni come Nextcloud.
Quando WAF-MFA non è sufficiente
WAF-MFA è uno strato di accesso preliminare. Tuttavia, questo strato non risponde a tutte le domande architetturali. Soprattutto per portali critici, bisogna decidere consapevolmente se l’applicazione debba essere raggiungibile pubblicamente.
| Situazione | Migliore verifica |
|---|---|
| L’applicazione è destinata solo a pochi utenti interni | Verificare VPN, ZTNA, reti sorgente fisse o una pubblicazione non pubblica |
| L’applicazione contiene dati particolarmente sensibili | Verificare autorizzazioni backend, logging, audit trail e sessioni applicative aggiuntive |
| L’applicazione necessita di WebDAV o protocolli speciali | Testare la compatibilità WAF prima del rollout o scegliere un’altra architettura |
| I partner esterni accedono raramente | Documentare chiaramente il rollout dei token, il processo di supporto e il fallback |
| Il backend ha un proprio login e ruoli | Considerare WAF-MFA solo come uno strato aggiuntivo, non come sostituto dei ruoli backend |
Se un portale rimane accessibile a livello mondiale, MFA non dovrebbe essere l’unica misura. Reti sorgente fisse, limitazioni geografiche, Threat Feeds, profili di protezione e patch backend pulite riducono ulteriormente il rischio.
Prerequisiti
Prima della configurazione, dovrebbero essere chiariti questi punti:
- L’applicazione web è già pianificata o pubblicata tramite una regola WAF.
- Gli utenti o i gruppi sono presenti sul firewall, ad esempio localmente, tramite AD, LDAP o RADIUS.
- Gli utenti possono configurare il loro token OTP.
- L’ora di sistema del firewall è corretta e NTP funziona.
- Per la regola WAF viene utilizzato HTTPS con un certificato appropriato.
- È chiaro se il server web backend necessita di autenticazione propria o se il firewall deve gestire completamente il login.
- Sono disponibili un utente di test e un accesso amministrativo di fallback.
⚠️ MFA per WAF dovrebbe essere testato prima con un gruppo pilota. Una combinazione errata di gruppo MFA, politica di autenticazione WAF e autenticazione backend può escludere utenti legittimi o far sembrare “rotto” un’applicazione.
Pianificare pilota, fallback e responsabilità
WAF-MFA agisce prima dell’applicazione vera e propria. Pertanto, il rollout non dovrebbe essere trattato come una normale regola del firewall, ma come una modifica al processo di login dell’applicazione. Gli utenti vedono prima il login di Sophos Firewall e solo successivamente, a seconda del backend, l’applicazione vera e propria.
Prima dell’attivazione, dovrebbero essere definiti questi punti:
- Quale gruppo di utenti testerà per primo?
- Chi può disattivare l’accesso se il login fallisce?
- Esiste un secondo accesso amministrativo che non dipende dalla stessa regola WAF, dallo stesso portale o dallo stesso utente di test?
- Quali parti dell’applicazione devono essere testate dopo un login riuscito?
- Chi controlla
reverseproxy.log, Log Viewer e log backend in caso di errori? - Come vengono informati gli utenti su token, scadenza della sessione e possibile secondo login backend?
Un errore di pianificazione comune è la confusione tra autenticazione del firewall e autenticazione backend. WAF può verificare gli utenti prima del backend. Tuttavia, ciò non significa automaticamente che l’applicazione stessa non abbia più bisogno di un proprio login, verifica dei ruoli o gestione delle sessioni. Soprattutto per portali amministrativi e dati dei clienti, l’autorizzazione backend dovrebbe essere mantenuta consapevolmente.
Se il servizio pubblicato è destinato solo a poche persone, oltre a MFA, si dovrebbe limitare le fonti. Per la pubblicazione di base e la limitazione delle fonti, si adatta Sophos Firewall WAF: Pubblicare in modo sicuro un server web. Se sono pianificati diritti utente o MFA per accesso remoto in generale, aiuta Abilitare MFA per Sophos Firewall WebAdmin, VPN Portal e Accesso Remoto.
Un rollback dovrebbe essere preparato prima dell’attivazione. Praticamente significa: documentare il vecchio metodo di accesso funzionante, nominare la regola WAF e la politica di autenticazione, designare la persona responsabile e scegliere un momento in cui è possibile il feedback degli utenti e la verifica dei log. Se l’applicazione è critica per il business, WAF-MFA dovrebbe essere attivato prima per un dominio di test, un gruppo pilota o una finestra di manutenzione.
Componenti della configurazione
Per WAF-MFA devono essere allineate diverse impostazioni:
| Componente | Scopo |
|---|---|
| Impostazione MFA | Definisce quali utenti utilizzano MFA e se Web application firewall è protetto |
| Politica di autenticazione WAF | Definisce modalità di login, utenti/gruppi, modello e comportamento delle sessioni |
| Regola WAF | Collega il server web pubblicato alla politica di autenticazione |
| Inoltro autenticazione backend | Definisce se il firewall trasmette le credenziali di accesso al server web |
| Rollout dei token | Garantisce che gli utenti possano effettivamente generare il loro codice OTP |
La differenza principale: MFA non viene attivato solo globalmente. La regola WAF interessata deve anche utilizzare una politica di autenticazione appropriata.
Attivare MFA per WAF
Il percorso del menu è:
Authentication > Multi-factor authentication
Procedura:
- Sotto One-time password (OTP) selezionare All users o Specific users and groups.
- In Specific users and groups aggiungere gli utenti o i gruppi interessati.
- Attivare Generate OTP token with next sign-in se gli utenti devono configurare il loro token al prossimo login.
- Sotto Require MFA for attivare l’opzione Web application firewall.
- Salvare la configurazione.
Se gli utenti devono configurare il loro token autonomamente, devono avere accesso a un portale in cui viene visualizzato il codice QR. In molti ambienti, per questo è rilevante il User Portal o il VPN Portal. La pianificazione generale di MFA è descritta in Abilitare MFA per Sophos Firewall WebAdmin, VPN Portal e Accesso Remoto.
Preparare il rollout dei token e la comunicazione agli utenti
WAF-MFA spesso fallisce in operatività non a causa della regola WAF stessa, ma del rollout dei token. Gli utenti devono sapere dove appare il codice QR, quale app utilizzare, quanto dura una sessione e se dopo il login al firewall segue un secondo login all’applicazione.
Prima dell’attivazione della regola WAF produttiva, si dovrebbe stabilire:
| Punto | Verifica |
|---|---|
| Creazione del token | Dove l’utente configura il token OTP? |
| Accesso al portale | Il User Portal o il VPN Portal sono accessibili per gli utenti interessati? |
| App Authenticator | Quale app è autorizzata e testata con l’algoritmo scelto? |
| Fallback | Chi può reimpostare un token perso o difettoso? |
| Caso di supporto | Quali informazioni necessita l’helpdesk in caso di problemi di login? |
| Comunicazione | Quale sequenza di login vedono gli utenti dal go-live? |
Se si utilizza Generate OTP token with next sign-in, il primo login dovrebbe essere testato in modo controllato. È importante verificare se gli utenti vedono il codice QR nel portale previsto e se possono accedere con successo all’applicazione WAF con password più OTP. I portali stessi sono descritti in Sophos Firewall Portali: WebAdmin, User Portal e VPN Portal.
Per l’helpdesk e l’operatività dovrebbe essere documentato almeno:
- nome host pubblicato dell’applicazione WAF
- gruppo di utenti interessato
- politica di autenticazione utilizzata
- algoritmo OTP utilizzato
- app Authenticator consentita
- procedura per il reset del token
- messaggio previsto in caso di password errata o OTP errato
- punti di log per la prima verifica: Log Viewer e
reverseproxy.log
Soprattutto con partner esterni o portali utilizzati raramente, il primo login non dovrebbe avvenire solo in caso di emergenza produttiva. Un breve pilota con utenti normali spesso rivela problemi che gli amministratori non vedono nei propri test: app Authenticator diversa, accesso al portale mancante, secondo login backend non chiaro o timeout delle sessioni troppo brevi per l’applicazione.
Creare una politica di autenticazione WAF
Il percorso del menu è:
Web server > Authentication policies
Per WAF-MFA, la modalità client dovrebbe essere impostata su Form. Con l’autenticazione basata su form, il firewall può gestire il login tramite un modulo e le sessioni.
Procedura:
- Aprire Add.
- Assegnare un nome significativo, ad esempio
WAF_MFA_Portal_Users. - In Mode selezionare l’opzione Form.
- Selezionare un Authentication template appropriato.
- Selezionare gli utenti o i gruppi che avranno accesso a questa pubblicazione WAF.
- Scegliere consapevolmente la modalità di Authentication forwarding.
- Impostare Session timeout e Session lifetime in base all’applicazione.
- Salvare.
Scegliere correttamente l’inoltro dell’autenticazione
La modalità di Authentication forwarding decide cosa succede tra il firewall e il backend.
| Modalità | Utilizzo |
|---|---|
None | Il firewall autentica l’utente, il server web non riceve credenziali di accesso |
Basic | Il firewall trasmette nome utente e password tramite HTTP Basic Authentication al backend |
Se l’applicazione non necessita di autenticazione propria o se il login preliminare del firewall è sufficiente, None è spesso più pulito. Se il backend stesso si aspetta HTTP Basic Authentication, la modalità di inoltro deve adattarsi all’applicazione.
⚠️ Basic Authentication dovrebbe essere utilizzata solo con HTTPS. Inoltre, deve essere chiaro se il backend deve effettivamente elaborare le credenziali di accesso trasmesse dal firewall.
Utilizzare la politica di autenticazione nella regola WAF
La regola WAF viene modificata sotto Rules and policies > Firewall rules. L’azione è Protect with web server protection.
Nella regola WAF interessata, questi punti devono essere allineati:
- Indirizzo Hosted address e porta di ascolto corretti.
- Dominio corretto e certificato HTTPS appropriato.
- Server web protetto corretto.
- Politica di Authentication desiderata selezionata.
- Il gruppo di utenti nella politica di autenticazione corrisponde al gruppo MFA.
- Le restrizioni di accesso tramite Allowed client networks, paesi o Threat Feeds sono impostate consapevolmente.
Per portali pubblici o fortemente esposti, MFA non dovrebbe essere l’unica misura di protezione. La limitazione di paesi e fonti è descritta in Sophos Firewall: Bloccare paesi e IP malevoli. Per le liste di blocco dinamiche si adatta Sophos Firewall Threat Feeds.
Pianificare sessioni e timeout
Con l’autenticazione WAF basata su form, il firewall lavora con le sessioni. Nella politica di autenticazione si definisce:
- Session timeout: dopo quale inattività gli utenti devono autenticarsi nuovamente
- Session lifetime: quanto tempo rimane valida una sessione al massimo
Inoltre, sotto Web server > General settings c’è il numero massimo di sessioni simultanee per l’autenticazione del reverse proxy basata su form. Il valore predefinito è 25,000, l’intervallo supportato è 100 a 100,000.
Sessioni brevi aumentano la sicurezza, ma possono disturbare gli utenti. Sessioni molto lunghe sono più comode, ma aumentano il rischio che un accesso al browser rubato o condiviso rimanga utilizzabile più a lungo. Per i portali amministrativi, si dovrebbe iniziare in modo conservativo e osservare il comportamento in operatività.
Algoritmo OTP e app Authenticator
SFOS 22 supporta, oltre a SHA1, anche SHA256 e SHA512 per i token OTP. Questo è sensato dal punto di vista della sicurezza, ma funziona solo se l’app Authenticator utilizzata supporta l’algoritmo scelto.
Punti importanti:
- SHA256 o SHA512 sono più sicuri di SHA1.
- Non tutte le app Authenticator supportano questi algoritmi in questo contesto.
- Microsoft Authenticator può scansionare il codice QR con SHA256 o SHA512, ma il login può fallire successivamente.
- Se l’algoritmo viene modificato, i vecchi token devono essere eliminati e riscanalizzati.
Per i rollout produttivi, si dovrebbe testare l’app desiderata e l’algoritmo con un piccolo gruppo pilota. Solo successivamente gli utenti esistenti dovrebbero essere migrati ampiamente.
Piano di test dopo la configurazione
Dopo la configurazione, non si dovrebbe solo verificare se appare la pagina di login. È importante testare l’intero percorso di accesso.
- Utilizzare un browser esterno o una rete di test esterna.
- Aprire l’URL WAF con un utente del gruppo consentito.
- Testare il login con password corretta e OTP.
- Testare il login con OTP errato.
- Testare utenti al di fuori del gruppo consentito.
- Verificare la scadenza della sessione dopo inattività.
- Verificare la funzione backend dell’applicazione.
- Controllare Log Viewer e
reverseproxy.logper anomalie.
Per i file di log aiuta Sophos Firewall Troubleshooting: Servizi e Log. Gli eventi WAF sono tipicamente collegati al Reverse Proxy e appaiono anche nel Log Viewer.
Per l’accettazione, ogni caso di test dovrebbe essere associato a un risultato visibile:
| Vista | Cosa dovrebbe essere visibile |
|---|---|
| Utente | Appare il login del firewall, viene richiesto OTP, successivamente si apre l’applicazione prevista |
| Sophos Firewall | Log Viewer e reverseproxy.log mostrano autenticazione WAF consentita o rifiutata |
| Fonte di autenticazione | AD, LDAP, RADIUS o fonte utente locale mostra il login riuscito o fallito previsto |
| Backend | L’applicazione raggiunge lo stato utente o ospite corretto e non mostra una seconda pagina di errore inaspettata |
Se solo il browser sembra funzionare correttamente, ma non sono visibili log appropriati, l’accettazione è incompleta. Si dovrebbe quindi verificare se la regola WAF corretta corrisponde, se la politica di autenticazione è effettivamente attiva e se i log finiscono nel luogo previsto.
Go-live e operatività dopo l’attivazione
Dopo un test riuscito, WAF-MFA non dovrebbe essere semplicemente attivato ampiamente e poi dimenticato. Le prime ore dopo il go-live sono importanti, poiché gli utenti reali portano browser diversi, app Authenticator diverse, password salvate, vecchi segnalibri e altri stati di sessione rispetto a un test amministrativo.
Per il go-live è utile un piccolo piano operativo:
| Punto | Raccomandazione |
|---|---|
| Gruppo di rollout | prima gruppo pilota, poi altri gruppi di utenti |
| Finestra di supporto | Tenere l’helpdesk o gli amministratori responsabili disponibili durante i primi login |
| Monitoraggio | Osservare Log Viewer, reverseproxy.log e fonte di autenticazione |
| Reset del token | Procedura chiara per token OTP persi o configurati erroneamente |
| Comportamento della sessione | Verificare timeout della sessione e durata della sessione in base all’uso reale |
| Percorso di fallback | Tenere documentati regola WAF, politica di autenticazione e passaggi di modifica |
Per applicazioni critiche per il business, non si dovrebbe programmare il go-live in un momento in cui nessuno può verificare correttamente i problemi di login. È meglio una finestra controllata con utenti di test di diversi gruppi, poi una breve revisione dei log e solo successivamente l’espansione ad altri utenti.
Dopo alcuni giorni, la configurazione dovrebbe essere nuovamente verificata:
- Ci sono utenti che aggirano MFA perché accedono tramite un’altra regola WAF o un altro URL?
- L’accesso è ancora consentito solo per i gruppi pianificati?
- La durata della sessione e il timeout di inattività si adattano all’applicazione?
- I login rifiutati e i problemi con i token vengono effettivamente rilevati in operatività?
- Ci sono casi di supporto che indicano una comunicazione utente poco chiara o un’app Authenticator errata?
- Sono state rimosse vecchie regole di test, domini di test o eccezioni temporanee?
Questo follow-up è particolarmente importante se più nomi host, percorsi o regole WAF puntano alla stessa applicazione. Altrimenti, può succedere che un percorso sia protetto correttamente con MFA, ma un secondo percorso rimanga accessibile senza autenticazione preliminare.
Errori tipici
| Errore | Effetto |
|---|---|
| Web application firewall non attivato sotto Require MFA for | Il login WAF non richiede un secondo fattore |
| La politica di autenticazione non utilizza Form | Il comportamento MFA non corrisponde alla configurazione WAF prevista |
| La regola WAF non utilizza una politica di autenticazione | Gli utenti accedono all’applicazione senza login preliminare |
| Il gruppo MFA e il gruppo della politica WAF sono diversi | Gli utenti non vengono richiesti o rifiutati come previsto |
Il backend si aspetta Basic Authentication, l’inoltro è impostato su None | Il login del firewall funziona, il backend rifiuta l’accesso |
L’inoltro è impostato su Basic, il backend non si aspetta autenticazione | L’applicazione reagisce in modo inaspettato o vede intestazioni inutili |
| L’app OTP non supporta l’algoritmo hash scelto | Il codice QR viene scansionato, ma il login fallisce comunque |
| Durata della sessione troppo lunga | Gli utenti rimangono connessi più a lungo di quanto desiderato operativamente |
| L’accesso di fallback dipende dalla stessa regola WAF | Gli amministratori non possono annullare correttamente la modifica in caso di errore |
| Il rollout del token non è stato testato | Gli utenti falliscono al primo login, anche se la regola WAF è tecnicamente corretta |
| Un secondo URL o una seconda regola WAF rimane attiva senza MFA | Gli utenti aggirano involontariamente MFA preliminare |
| Le eccezioni temporanee del pilota non vengono rimosse | La protezione produttiva è incoerente e difficile da auditare |
Risoluzione dei problemi
MFA non viene richiesto
Verificare prima se Web application firewall è attivato sotto Require MFA for. Poi controllare se la regola WAF utilizza effettivamente una politica di autenticazione e se questa politica contiene gli utenti o i gruppi previsti.
Il login funziona, ma l’applicazione non si apre
In tal caso, il problema si trova spesso dopo il login del firewall. Verificare raggiungibilità del backend, certificato, intestazione host, percorso, politica di protezione e inoltro dell’autenticazione. Se il backend si aspetta autenticazione propria, la modalità di inoltro deve adattarsi.
L’utente non può accedere dopo il cambio di algoritmo
Se si è passati da SHA1 a SHA256 o SHA512, i token esistenti devono essere eliminati e riscanalizzati. Inoltre, l’app Authenticator deve supportare il nuovo algoritmo.
Password e OTP vengono trasmessi al backend
Con WAF-MFA, si dovrebbe verificare se la versione del firewall è aggiornata. Nelle Note di rilascio di SFOS-22.0 è documentato un errore WAF risolto, in cui il codice OTP non veniva rimosso dalla password prima che i dati fossero trasmessi al backend.
Troppe o vecchie sessioni
Verificare timeout della sessione, durata della sessione e impostazioni globali delle sessioni WAF. In ambienti produttivi dovrebbe essere chiaro se sono desiderate sessioni lunghe o se gli utenti devono autenticarsi nuovamente rapidamente dopo inattività.
Checklist
- La regola WAF è documentata e testata esternamente.
- Il certificato HTTPS corrisponde al nome host pubblicato.
- MFA si applica al gruppo di utenti corretto.
- Require MFA for > Web application firewall è attivato.
- La politica di autenticazione WAF utilizza Form.
- L’inoltro dell’autenticazione si adatta all’applicazione backend.
- Rollout del token, accesso al portale e procedura dell’helpdesk sono preparati.
- Timeout della sessione e durata della sessione sono impostati consapevolmente.
- App OTP e algoritmo hash sono stati testati.
- L’accesso amministrativo di fallback è disponibile.
- Rollback e persona responsabile sono documentati.
- Fonte di autenticazione e login backend sono stati verificati separatamente.
- Log Viewer e
reverseproxy.logsono stati controllati dopo il test. - Finestra di supporto per il go-live e procedura di reset del token sono stabiliti.
- Nomi host alternativi, percorsi e regole WAF sono stati controllati per l’aggiramento di MFA.
- Le eccezioni temporanee del pilota sono state rimosse dopo il rollout.
Domande frequenti
Sophos Firewall può posizionare MFA davanti a un'applicazione web?
La politica di autenticazione WAF deve utilizzare Form?
WAF-MFA è sufficiente come protezione per un portale pubblico?
Quale app Authenticator dovrebbe essere utilizzata?
Dove configurano gli utenti il token OTP?
Dove si vedono i problemi di WAF-MFA nei log?
reverseproxy.log. A seconda della fonte di autenticazione, possono essere importanti anche i log di autenticazione o RADIUS.