Vai al contenuto
Avanet

Usare in sicurezza le impostazioni VPN globali di Sophos Firewall

La Device Console di Sophos Firewall offre sotto set vpn impostazioni globali per il failover VPN, l’elaborazione IPsec e i protocolli legacy L2TP e PPTP. Non riguardano solo la connessione che si sta analizzando. Un test non mirato può influire su altri tunnel, eliminare sessioni esistenti o indebolire una funzione di protezione.

Non è una ricetta generale per le prestazioni: ipsec-max-workqueue-items, la finestra anti-replay e use-resolved-ip-address non vanno impostati preventivamente su valori maggiori o su enable. Sophos li definisce impostazioni avanzate da usare per una specifica esigenza di rete o su indicazione di Sophos Support.

Per i normali problemi di tunnel si parte dal troubleshooting VPN IPsec, che verifica IKE, Child SA, routing, NAT, regole e flusso reale dei pacchetti. Gli switch globali descritti qui diventano rilevanti solo quando il sintomo corrisponde esattamente al loro scopo.

Registrare lo stato iniziale prima di ogni modifica

I comandi vengono eseguiti in 4. Device Console. Prima di impostare un valore si documentano versione e build SFOS, orario, tunnel interessati, flusso di test previsto e un accesso di gestione indipendente. I valori esistenti si interrogano separatamente:

show vpn conn-remove-on-failover
show vpn conn-remove-tunnel-up
show vpn ipsec-performance
show vpn configuration

show vpn ipsec-performance mostra, tra l’altro, i valori workqueue e replay. show vpn configuration riguarda la configurazione L2TP e PPTP corrente. Se un valore non compare nell’output della build installata, non viene dedotto da un default presunto. Prima di modificare un’impostazione avanzata globale, il change deve includere un backup della configurazione e Sophos Support.

Il rollback utilizza sempre il valore effettivamente letto sull’appliance. default non è documentato come rollback universale per questi comandi VPN e non va usato per supposizione.

Sessioni durante le transizioni di tunnel e WAN

conn-remove-tunnel-up stabilisce se rimuovere le connessioni esistenti quando si attiva un tunnel IPsec. Può servire quando un flusso è iniziato su un altro percorso e vi rimane bloccato dopo l’attivazione del tunnel. La rimozione può però interrompere sessioni produttive. Le nuove configurazioni usano disable per default da SFOS 19.0, mentre i sistemi migrati possono conservare un valore precedente.

set vpn conn-remove-tunnel-up enable
set vpn conn-remove-tunnel-up disable

conn-remove-on-failover controlla la pulizia globale durante failover e failback. all riguarda tutte le connessioni, mentre non-tcp limita la pulizia al traffico non TCP come UDP o ICMP. Il valore appropriato non è quindi una decisione solo VPN: VoIP, videoconferenze, DNS e altre applicazioni UDP devono essere osservati nella stessa finestra di test.

set vpn conn-remove-on-failover all
set vpn conn-remove-on-failover non-tcp

Sophos ha modificato questi default in SFOS 19.0 per le nuove configurazioni, riducendo il flapping delle connessioni non TCP quando i tunnel IPsec si attivano o cadono. La modifica non è stata applicata globalmente durante upgrade e migrazioni. Su SFOS 22 conta quindi l’output corrente del dispositivo, non un presunto valore di fabbrica.

In HA va inoltre considerato che Sophos Firewall non trasferisce al peer le sessioni VPN e non TCP come le normali sessioni TCP inoltrate. I due switch conn-remove-* non sostituiscono né il design HA né un test di failover controllato.

Prestazioni IPsec e funzioni di protezione

Il gruppo ipsec-performance contiene quattro funzioni molto diverse. Il nome può indurre a esperimenti di tuning, anche se solo una funzione definisce direttamente la dimensione di una coda di lavoro.

Modificare la workqueue solo per un collo di bottiglia dimostrato

ipsec-max-workqueue-items accetta valori da 1024 a 10240. La coda contiene il lavoro per l’elaborazione IPsec. Un valore maggiore non garantisce più throughput e non risolve Packet Loss, problemi MTU, risultati scarsi con un singolo stream o una linea WAN satura.

set vpn ipsec-performance ipsec-max-workqueue-items <1024-10240>

Una modifica ha senso solo quando un test di carico riproducibile, l’utilizzo del sistema e la diagnostica Sophos indicano esattamente questo collo di bottiglia. Prima si verificano separatamente MTU e MSS, latenza, Packet Loss, profilo di cifratura, IPsec Acceleration e stream paralleli. Se non migliora, si ripristina il valore iniziale registrato.

La finestra anti-replay è una funzione di sicurezza

IPsec registra nella finestra replay quali pacchetti ha già visto durante la decifratura. Può così rilevare e scartare pacchetti ripetuti. SFOS 22 accetta 0, 32, 64, 128, 256, 512, 1024, 2048 e 4096; il default documentato è 1024.

set vpn ipsec-performance anti-replay window-size <valore>

Una finestra più ampia può essere rilevante quando i pacchetti vengono fortemente riordinati su percorsi paralleli. Non è uno switch generale per il throughput. Il valore 0 elimina la protezione anti-replay e non è consigliato come soluzione. Un test simile richiede una finestra isolata, un’indicazione esplicita di Sophos Support e un rollback subito disponibile.

Secondo Sophos, la validazione dei cookie è sempre attiva ed è disponibile solo per IKEv2. cookie_threshold non la attiva o disattiva. Quando il numero di IKE SA simultaneamente semiaperte supera la soglia, il responder chiede un cookie all’initiator. Lo stato di creazione viene così protetto dal carico DoS. Il default documentato è 30.

set vpn ipsec-performance cookie_threshold <numero>

Un valore più basso o più alto va scelto solo in base al carico IKE reale e alla diagnostica del supporto. Non corregge Child SA mancanti, proposals incompatibili o errori di autenticazione. Durante la validazione si osservano nuove connessioni IKEv2, strongswan.log, carico CPU e accessi simultanei legittimi.

Usare l’indirizzo risolto del peer solo per il caso Charon documentato

use-resolved-ip-address è destinato a molti tunnel IPsec site-to-site con peer FQDN e risoluzione DNS lenta. Secondo Sophos, proprio questa combinazione può bloccare un thread charon. Con enable, il firewall usa l’indirizzo già risolto invece di avviare il tunnel risolvendo di nuovo il FQDN remoto.

set vpn ipsec-performance use-resolved-ip-address enable
set vpn ipsec-performance use-resolved-ip-address disable

L’FQDN deve essere già stato risolto correttamente. Il default documentato è Off. L’opzione non sostituisce quindi un DNS funzionante, TTL adeguati o resolver raggiungibili. Prima dell’attivazione si correlano tempo di risoluzione, risposte A e AAAA correnti, numero di tunnel e charon.log. Dopo un cambio DNS o provider si conferma che il firewall utilizzi il nuovo indirizzo peer nei tempi previsti. Senza il caso Charon descritto, l’impostazione resta disattivata.

Compatibilità L2TP, MTU e PPTP

set vpn include anche i protocolli di autenticazione per L2TP e PPTP e la MTU L2TP globale. Ciò non rende PPTP adatto a nuovi ambienti. PPTP è obsoleto e non dovrebbe essere introdotto. Anche L2TP Remote Access rimane una soluzione di compatibilità controllata, non lo standard preferito per nuovi client gestiti.

Prima si legge la configurazione corrente con show vpn configuration. Per L2TP e PPTP sono disponibili ANY, CHAP, MS_CHAPv2 e PAP:

set vpn l2tp authentication <ANY|CHAP|MS_CHAPv2|PAP>
set vpn pptp authentication <ANY|CHAP|MS_CHAPv2|PAP>

Il valore non si sceglie solo in base al nome che sembra più forte. Client, server di autenticazione e metodo VPN configurato in Authentication > Services devono supportare lo stesso protocollo. Con Active Directory, la combinazione supportata può differire da un percorso RADIUS. ANY non migliora la sicurezza: amplia i metodi accettati e richiede una decisione di rischio consapevole.

La MTU L2TP può essere impostata da 576 a 1460; il default documentato è 1410:

set vpn l2tp mtu <576-1460>

La MTU L2TP non modifica un’interfaccia IPsec site-to-site route-based o policy-based. Viene regolata gradualmente solo per un problema di frammentazione L2TP riproducibile. Dopo la modifica devono continuare a funzionare trasferimenti grandi e piccoli, DNS, autenticazione e riconnessione.

Testare e ripristinare in modo controllato

In ogni finestra di manutenzione si modifica esattamente un valore globale. Prima e dopo si usano gli stessi tunnel, flusso di test e transizione WAN o HA. Per IPsec si registrano stato del tunnel, Child SA, contatori, strongswan.log, charon.log, CPU e Packet Loss. Per la pulizia delle sessioni si includono VoIP, DNS e altri flussi UDP.

Un ping riuscito non è un collaudo completo. Si verificano almeno un flusso esistente, una nuova connessione, entrambe le direzioni e un test negativo controllato. Poi si rilegge lo stato con il comando show vpn ... appropriato.

Se il miglioramento previsto non compare o si verificano nuove interruzioni, si imposta esattamente il valore annotato prima del test. Quindi si ricontrollano tunnel e traffico. Senza stato iniziale noto, accesso di gestione indipendente e sintomo fondato, non si esegue alcuna modifica set vpn.

FAQ

È opportuno impostare ipsec-max-workqueue-items a 10240 per ottenere più throughput VPN?

No. Il massimo non è una Best Practice. Una coda maggiore può solo bufferizzare diversamente il carico e non risolve molte cause comuni di throughput. Prima si misurano latenza, Packet Loss, MTU/MSS, stream singoli e paralleli, CPU, profilo e Acceleration. La workqueue si cambia solo con una diagnosi corrispondente e un rollback.

Si può disattivare anti-replay se i pacchetti arrivano fuori ordine?

SFOS accetta una finestra 0, ma così si perde la protezione anti-replay. Prima vanno dimostrati il riordinamento, i percorsi paralleli e la finestra necessaria. La disattivazione non è un normale passo di troubleshooting e appartiene solo a un test di supporto isolato.

use-resolved-ip-address aiuta ogni tunnel IPsec basato su FQDN?

No. Sophos limita l’opzione a molti tunnel site-to-site con risoluzione DNS lenta e possibile blocco di un thread charon. L’FQDN deve essere già risolto. Per un singolo tunnel stabile o come sostituto di un DNS difettoso, lo switch rimane disattivato.