Pulizia del database Secure Heartbeat di Sophos Firewall in caso di supporto
Questa procedura non è un consiglio generale di ottimizzazione per Sophos Firewall. Descrive un caso di supporto ristretto: il firewall ha poco spazio libero e il supporto Sophos conferma che alcune tabelle relative a Secure Heartbeat nel database corporate sono diventate insolitamente grandi.
In questo caso, una manutenzione mirata con VACUUM FULL può recuperare spazio. Poiché si accede direttamente al database PostgreSQL interno del firewall, la procedura dovrebbe essere eseguita solo dopo una conferma attuale da parte del supporto Sophos e con una finestra di manutenzione.
Quando questa guida è rilevante
La procedura è rilevante quando lo spazio su Sophos Firewall è scarso e si sospetta che le tabelle del database relative a Secure Heartbeat occupino insolitamente molto spazio.
Indicazioni tipiche possono essere:
- Avvisi di alto consumo di memoria
- Partizioni fortemente occupate sul firewall
- Problemi con report, log o servizi a causa di capacità del disco limitata
- Un’indicazione del supporto Sophos che il database Secure Heartbeat è diventato troppo grande
Se non è chiaro perché il disco si riempie, dovrebbe essere eseguita prima l’analisi generale da Verifica dello spazio su Sophos Firewall e gestione dei report. Questa manutenzione del database è utile solo se report, log, coda di posta, quarantena, dimensione del disco virtuale e altre cause evidenti non sono la spiegazione reale o il supporto Sophos indica esplicitamente il percorso del database.
Prerequisiti
Per questa manutenzione sono necessari:
- Accesso amministrativo a Sophos Firewall
- Accesso alla Advanced Shell
- Una raccomandazione o conferma concreta da parte del supporto Sophos
- Una finestra di manutenzione
- Un backup della configurazione del firewall aggiornato
- Log salvati, nel caso in cui il caso debba essere ulteriormente analizzato
- Abbastanza spazio libero per completare la manutenzione del database
Se l’accesso alla shell non è ancora configurato, la guida Collegamento a Sophos Firewall tramite SSH spiega come stabilire una connessione SSH al firewall. Se si sta preparando un caso di supporto, sono utili anche Salvataggio dei log di Sophos Firewall per analisi esterne e Apertura di un ticket di supporto Sophos.
⚠️ Questi comandi accedono direttamente al database PostgreSQL interno di Sophos Firewall. Dovrebbero essere eseguiti solo miratamente e dopo una conferma attuale da parte del supporto Sophos per il caso di supporto specifico.
VACUUM FULLpuò bloccare le tabelle durante l’esecuzione e, a seconda delle dimensioni del database, richiedere del tempo.
Quando non eseguire i comandi
I comandi non dovrebbero essere eseguiti se c’è solo un avviso generale di memoria e la causa non è stata ancora delimitata. Spesso i problemi di memoria sono dovuti a report, log di debug, file di supporto, protezione della posta, quarantena, disco virtuale troppo piccolo o una conservazione generale dei log.
Chiari segnali di stop sono:
- Il supporto Sophos non ha confermato specificamente le due tabelle: In tal caso, l’intervento sul database sarebbe solo ipotizzato e non autorizzato per il caso specifico.
- Nessun backup attuale o nessuna finestra di manutenzione: In caso di errore, manca un percorso di ritorno pulito o l’impatto colpisce l’operatività in corso.
- SSH o Advanced Shell è instabile: Un comando del database interrotto rende difficile l’ulteriore analisi.
- Ruolo HA, numero di serie o nodo interessato non chiaro: Il comando può essere inefficace sul dispositivo sbagliato o falsare la diagnosi.
- Parallelamente vengono eliminati report, log o archivi di supporto: Successivamente non è più chiaro quale misura abbia liberato spazio.
- Il firewall sta già perdendo servizi critici: In tal caso, dovrebbe essere prima salvato lo stato attuale e valutato con il supporto Sophos.
La procedura non è adatta nemmeno come manutenzione regolare, cronjob o pulizia preventiva. Se le tabelle crescono di nuovo rapidamente, è un sintomo, non una condizione operativa normale. In tal caso, il caso di supporto dovrebbe essere continuato con log attuali, output del disco e andamento temporale.
Approvazione del supporto e criteri di interruzione
Prima dell’esecuzione, non solo dovrebbe essere presente un backup. Dovrebbe essere chiaro anche chi ha autorizzato il passaggio, quale problema viene trattato e quando interrompere la procedura.
Dati minimi sensati:
- Approvazione del supporto: Numero del ticket, referente e raccomandazione concreta.
- Firewall interessato: Numero di serie, modello, versione del firmware, ruolo HA.
- Problema: Avviso di memoria, partizione interessata, servizi interessati.
- Ora di inizio: Momento prima del primo comando.
- Valori precedenti: Output di
df -h,df -hkmesystem diagnostics show disk. - Criterio di interruzione: Messaggio di errore, durata insolitamente lunga, sessione SSH instabile o nuovi errori di sistema.
Se la connessione SSH è instabile, il firewall sta già perdendo servizi critici o il supporto Sophos non ha confermato specificamente le tabelle, non si dovrebbe sperimentare con comandi del database. In tali casi, output del disco attuali, log e un caso di supporto pulito sono più preziosi di un tentativo di manutenzione parzialmente eseguito.
Verifica dello spazio prima della manutenzione
Prima della manutenzione del database, dovrebbe essere verificato quanto sono occupate le partizioni:
df -h
Per una visualizzazione più dettagliata in megabyte, può essere utilizzato anche il seguente comando:
df -hkm
L’output dovrebbe essere documentato prima della manutenzione, in modo da poter confrontare successivamente se è stato liberato spazio. Inoltre, lo stato del disco specifico di Sophos dalla Device Console è utile:
system diagnostics show disk
Nei cluster HA, entrambi i nodi dovrebbero essere verificati separatamente. I database locali, i log e lo spazio libero possono differire tra Primary e Auxiliary.
Prima della manutenzione, dovrebbe essere chiaro anche se altre cause stanno occupando spazio parallelamente. Queste includono vecchi archivi di supporto, grandi database di report, coda di posta, quarantena, log di debug o file memorizzati manualmente. Se questi punti non sono stati verificati, il database Secure Heartbeat è solo un’ipotesi.
Esecuzione della manutenzione del database
I seguenti comandi vengono eseguiti nella Advanced Shell. Durante l’esecuzione, la sessione SSH dovrebbe rimanere stabile. Il firewall non dovrebbe essere riavviato mentre un comando è in esecuzione.
Per prima cosa, viene pulita la tabella tbleacappcache:
psql -U pgroot -d corporate -c "VACUUM FULL tbleacappcache"
Successivamente, viene pulita la tabella tblappstoeps:
psql -U pgroot -d corporate -c "VACUUM FULL tblappstoeps"
I comandi solitamente restituiscono VACUUM dopo un’esecuzione riuscita. Se un comando restituisce un messaggio di errore o si blocca insolitamente a lungo, non si dovrebbe procedere con ulteriori comandi sperimentali del database. In tal caso, l’output, il momento e lo stato attuale del disco sono rilevanti per il supporto Sophos.
Durante l’esecuzione, nessun’altra persona dovrebbe pulire parallelamente spazio, report o file di database. Altrimenti, successivamente non sarà più chiaro quale misura ha avuto quale effetto. Per i firewall produttivi, è utile un breve inserimento di modifica con ora di inizio, comando e risultato.
Verifica dello spazio dopo la manutenzione
Dopo il completamento dei comandi, lo spazio dovrebbe essere verificato nuovamente:
df -h
Se il database Secure Heartbeat era effettivamente la causa, l’occupazione della partizione interessata dovrebbe ridursi. L’entità dell’effetto dipende da quanto erano grandi le tabelle prima e da quanti dati PostgreSQL è riuscito a liberare.
Dopo la manutenzione, si dovrebbe inoltre verificare:
system diagnostics show diskmostra di nuovo valori plausibili?- Il Log Viewer, i report e i servizi interessati sono di nuovo utilizzabili?
- Ci sono nuovi errori nei Servizi e Log rilevanti?
- Il consumo di spazio cresce di nuovo rapidamente nelle ore o nei giorni successivi?
- I passaggi eseguiti sono documentati nel ticket o nella modifica?
Per il controllo successivo, un singolo confronto df -h riuscito non è sempre sufficiente. Se la partizione è solo temporaneamente alleggerita e poi si riempie di nuovo rapidamente, la manutenzione non è una conclusione, ma un’indicazione diagnostica. In tal caso, l’andamento temporale con output del disco freschi, periodo dei log e servizi interessati dovrebbe essere restituito al supporto Sophos.
Note importanti
- Questa manutenzione non risolve automaticamente la causa per cui le tabelle sono cresciute.
- Se lo spazio aumenta di nuovo rapidamente, dovrebbe essere aperto un caso di supporto Sophos.
VACUUM FULLè più intensivo di un normaleVACUUM, poiché le tabelle vengono riscritte.- I comandi non dovrebbero essere utilizzati come cronjob regolare o routine senza diagnosi.
- Per i firewall produttivi, è consigliabile una finestra di manutenzione, poiché alcune funzioni possono reagire con ritardo durante la manutenzione del database.
- Nei cluster HA, deve essere chiaro su quale nodo è necessaria la manutenzione.
- Prima di ulteriori comandi del database, il supporto Sophos dovrebbe essere nuovamente coinvolto.
Errori comuni
Eseguire comandi senza diagnosi
Una partizione piena non significa automaticamente che Secure Heartbeat sia la causa. Prima dei comandi del database, dovrebbero essere verificati gli output del disco, i log e i consumatori di spazio evidenti.
Non pianificare una finestra di manutenzione
VACUUM FULL può richiedere tempo a seconda delle dimensioni della tabella e bloccare le tabelle. Su firewall produttivi, il passaggio non dovrebbe essere eseguito durante una fase operativa critica.
Non continuare a monitorare dopo la pulizia
Se lo spazio viene liberato solo brevemente e poi cresce di nuovo rapidamente, la causa non è risolta. In tal caso, è necessaria un’ulteriore analisi con il supporto Sophos.
Confondere il nodo HA
In ambienti HA, la situazione locale dello spazio per nodo può essere diversa. Pertanto, prima di ogni comando, dovrebbe essere chiaro se si sta lavorando su Primary o Auxiliary e quale numero di serie è interessato. Un comando sul nodo sbagliato può essere inefficace e rendere l’analisi successiva inutilmente difficile.
Contestualizzazione del caso
Nel caso di supporto specifico, la causa era un database Secure Heartbeat troppo grande. I due comandi VACUUM FULL menzionati servono a pulire miratamente le tabelle interessate e liberare spazio non più necessario. Tuttavia, non si dovrebbe dedurre una manutenzione generale del database per Sophos Firewall.
L’articolo tratta solo questo caso ristretto di spazio. Se Secure Heartbeat non funziona, gli endpoint non segnalano lo stato di Heartbeat, la sincronizzazione con Central fallisce o le regole del firewall con condizioni di Heartbeat non funzionano come previsto, è un altro problema. In tal caso, la connessione a Sophos Central, lo stato degli endpoint, le regole del firewall, il Log Viewer e i log dei servizi pertinenti sono più importanti di un intervento diretto sul database.
Per problemi generali di spazio, il primo passo rimane la verifica sistematica dello spazio, dei log, dei report e dei dati di supporto. Per l’operatività intorno a Sophos Central, è utile anche Collegare Sophos Firewall a Sophos Central, per i file di log Risoluzione dei problemi di Sophos Firewall: Servizi e Log.
FAQ
Dovrei pulire regolarmente il database Secure Heartbeat?
Un avviso di memoria è sufficiente come motivo per questi comandi?
Cosa dovrei salvare prima di VACUUM FULL?
df -h e system diagnostics show disk, numero del ticket, numero di serie, versione del firmware e ruolo HA.