Inoltro sicuro dei log Syslog SLES con rsyslog e TLS reciproco

Per inoltrare in modo sicuro i log di sistema di SUSE Linux Enterprise Server (SLES), configurare rsyslog per inviare i messaggi tramite la porta TCP 6514 protetta da TLS, verificare il nome del certificato del collettore e confermare la consegna con un evento di test. SLES 15 SP7 ha ricevuto un aggiornamento facoltativo di rsyslog il 27 marzo 2026 che ha aggiunto un modulo TLS OpenSSL; la configurazione seguente utilizza deliberatamente il gtlsmodulo GnuTLS ( ) già esistente.

Questa procedura riguarda un mittente SLES 15 denominato sles01.example.nete un raccoglitore rsyslog denominato logs.example.net. Sostituisci entrambi i nomi e tutti i percorsi dei certificati con i tuoi valori. Utilizza TLS reciproco, quindi il raccoglitore autentica il mittente e viceversa.

1. Verificare rsyslog e il percorso di registrazione di SLES

Su entrambi gli host, installa il demone rsyslog e il relativo modulo GnuTLS dai repository SUSE a cui sei registrato. Le installazioni esistenti potrebbero già contenere il primo pacchetto.

sudo zypper install rsyslog rsyslog-module-gtls
rpm -q rsyslog rsyslog-module-gtls
sudo systemctl enable --now rsyslog
rsyslogd -v

Prima di aggiungere regole, rivedi /etc/rsyslog.confgli snippet esistenti /etc/rsyslog.d/. In particolare, disabilita qualsiasi *.* @@hostregola di inoltro non crittografata precedente per la stessa destinazione; altrimenti i messaggi potrebbero percorrere due percorsi, incluso uno senza TLS.

SLES utilizza systemd-journaldgli eventi del journal mentre rsyslog elabora gli input syslog. Verificare che gli eventi necessari raggiungano rsyslog tramite la configurazione di input esistente. SUSE documenta ForwardToSyslog=yesl' /etc/systemd/journald.confinoltro dal journal a syslog; controllare la propria implementazione prima di modificarla, poiché l'abilitazione separata dei lettori di journal può creare eventi duplicati. Questa procedura inoltra automaticamente i messaggi già elaborati da rsyslog, non tutti i file presenti /var/log.

Finestra del terminale che mostra i controlli del pacchetto rsyslog e i file CA, certificato client e chiave privata per il mittente SLES.
Prima di abilitare TLS, verifica l'installazione di rsyslog e assicurati che il mittente disponga di file CA, certificati e chiavi separati.

2. Preparare certificati server e client attendibili

Utilizza un'autorità di certificazione (CA) controllata dall'organizzazione per emettere un certificato con il nome alternativo del soggetto DNS logs.example.netper il collettore e un certificato separato che identifichi sles01.example.netil mittente. Assicurati che i certificati siano validi per i rispettivi ruoli di server o client TLS e che entrambe le macchine si fidino della CA emittente. Segui la tua procedura PKI per la generazione e il rinnovo; non riutilizzare la stessa chiave privata su più host.

Copia i file appropriati tramite un canale sicuro approvato dall'amministratore. In questo esempio, entrambe le macchine utilizzano /etc/rsyslog.d/tls/ca.pem. Il raccoglitore dispone inoltre server-cert.pemdi e server-key.pem; il mittente dispone di client-cert.peme client-key.pem.

sudo install -d -m 0750 /etc/rsyslog.d/tls
sudo chmod 0600 /etc/rsyslog.d/tls/*-key.pem
sudo chmod 0644 /etc/rsyslog.d/tls/ca.pem

Limita l'accesso ai certificati e alle chiavi all'identità del servizio rsyslog, ove necessario. Non esporre le chiavi private nei file di diagnostica, nella cronologia della shell, nei repository Git o nel flusso di log esportato. Verifica che il processo rsyslog possa leggere la propria chiave prima di riavviare il demone.

3. Abilitare un ricevitore TLS autenticato sul collettore

Su logs.example.net, aggiungi quanto segue come /etc/rsyslog.d/30-tls-listener.conf. Se imtcpè già caricato altrove, mantieni solo un'istruzione module-load. Il set di regole dedicato inserisce i messaggi ricevuti da remoto in un file separato invece di mescolarli con i messaggi del sistema locale.

global(
  DefaultNetstreamDriverCAFile="/etc/rsyslog.d/tls/ca.pem"
  DefaultNetstreamDriverCertFile="/etc/rsyslog.d/tls/server-cert.pem"
  DefaultNetstreamDriverKeyFile="/etc/rsyslog.d/tls/server-key.pem"
)
module(load="imtcp")
ruleset(name="remote_tls") {
  action(type="omfile" file="/var/log/remote-tls.log")
}
input(
  type="imtcp"
  port="6514"
  StreamDriver.Name="gtls"
  StreamDriver.Mode="1"
  StreamDriver.AuthMode="x509/name"
  PermittedPeer="sles01.example.net"
  ruleset="remote_tls"
)

StreamDriver.Mode="1"Abilita TLS x509/namee PermittedPeerrifiuta i client privi di un'identità di certificato accettata. Il singolo nome consentito è intenzionale; estendere l'elenco dei peer approvati quando si aggiungono altri mittenti anziché indebolire l'autenticazione.

sudo rsyslogd -N1
sudo systemctl restart rsyslog
sudo firewall-cmd --permanent --add-port=6514/tcp
sudo firewall-cmd --reload
sudo ss -ltn | grep ':6514'

Eseguire i comandi del firewall solo se il raccoglitore utilizza firewalld. Limitare il traffico TCP/6514 in entrata alle reti di mittenti noti utilizzando il firewall dell'host o quello a monte; l'apertura della porta non sostituisce l'autenticazione tramite certificato. Verificare inoltre che nessun listener di testo in chiaro preesistente sia esposto involontariamente.

Editor di configurazione che mostra un listener imtcp di rsyslog sulla porta TCP 6514 con gtls e autenticazione x509/nome.
Il listener TLS del collettore utilizza la porta 6514, la modalità GnuTLS 1 e l'autenticazione tramite nome del certificato; l'articolo fornisce la configurazione completa del ricevitore.

4. Aggiungere l'inoltro TLS e una coda delimitata a SLES

Su sles01.example.net, assicurarsi che la directory di lavoro di rsyslog esista e sia scrivibile dal servizio. La directory mostrata qui è a scopo illustrativo; mantenere una directory già configurata workDirectoryse il pacchetto di installazione ne fornisce una. Aggiungere questo frammento come /etc/rsyslog.d/60-tls-forward.conf:

global(
  DefaultNetstreamDriverCAFile="/etc/rsyslog.d/tls/ca.pem"
  DefaultNetstreamDriverCertFile="/etc/rsyslog.d/tls/client-cert.pem"
  DefaultNetstreamDriverKeyFile="/etc/rsyslog.d/tls/client-key.pem"
)
*.* action(
  type="omfwd"
  target="logs.example.net"
  port="6514"
  protocol="tcp"
  StreamDriver="gtls"
  StreamDriverMode="1"
  StreamDriverAuthMode="x509/name"
  StreamDriverPermittedPeers="logs.example.net"
  queue.type="LinkedList"
  queue.filename="tls_forward"
  queue.size="10000"
  queue.maxDiskSpace="1g"
  queue.saveOnShutdown="on"
  action.resumeRetryCount="-1"
)

Le impostazioni TLS autenticano il collettore prima dell'invio. La coda di azioni assistita da disco memorizza temporaneamente i messaggi durante brevi interruzioni e riprova un'azione di inoltro non riuscita, ma non è infinita né garantisce l'assenza totale di perdita di messaggi: lo spazio su disco disponibile, i limiti della coda, il comportamento di arresto del processo e lo stato di salute del ricevitore sono comunque fattori importanti. Verificare la directory di lavoro effettiva di rsyslog e crearla con i permessi appropriati prima di fare affidamento sul buffering su disco.

Convalida e riavvia il mittente:

sudo rsyslogd -N1
sudo systemctl restart rsyslog

Se la convalida della configurazione non riesce, non riavviare; correggere il primo errore segnalato. In un'implementazione rsyslog esistente, le direttive globali del certificato potrebbero influire su altre azioni TLS. Esaminare le altre azioni in uscita e utilizzare i parametri del certificato per azione supportati se richiedono credenziali diverse.

Editor di configurazione che mostra un'azione omfwd di rsyslog indirizzata a logs.example.net sulla porta 6514 con verifica del nome del certificato TLS.
Inoltra i messaggi di sistema a logs.example.net utilizzando un'azione omfwd abilitata per TLS; aggiungi le impostazioni del certificato e la coda resiliente dal codice allegato.

5. Verificare la ricezione e indagare su una stretta di mano fallita

Innanzitutto, verifica che il collettore sia in ascolto sulla porta TCP/6514 e che il mittente possa raggiungere l'host attraverso il firewall. Quindi, esegui il seguente comando sul mittente SLES:

logger -t sles-tls-check "TLS forwarding probe"

Sul collettore, cercare il file di log remoto configurato:

sudo grep 'TLS forwarding probe' /var/log/remote-tls.log
sudo journalctl -u rsyslog -n 50 --no-pager

Trovare il marcatore /var/log/remote-tls.logconferma che il percorso di inoltro a livello di applicazione ha funzionato per questo test. Non dimostra che tutti i file di log specifici dell'applicazione vengano raccolti. Per testare l'autenticazione in modo indipendente, utilizzare temporaneamente un certificato diverso e non attendibile o un nome peer non corrispondente in una finestra di manutenzione controllata e verificare che la connessione TLS fallisca; ripristinare immediatamente la configurazione originale.

Terminale che visualizza la convalida della configurazione di rsyslog, una sonda di logger con tag e un comando per esaminare il file di log del collettore.
Convalida rsyslog e invia un messaggio di prova con un tag univoco, quindi controlla il log del collettore per la presenza della sonda anziché dare per scontata la consegna.

Se l'indicatore non compare, seguire la procedura di risoluzione dei problemi in ordine:

  • Nessun listener o connessione rifiutata: verificare systemctl status rsyslogle regole del firewall TCP/6514 e del collettore.
  • Errore TLS o del certificato: confrontare i SAN del certificato con PermittedPeere StreamDriverPermittedPeers; verificare la catena CA, le date di scadenza, gli orologi di sistema e le autorizzazioni della chiave privata.
  • Connesso ma senza eventi: verificare la presenza di input di journal/syslog duplicati o mancanti, azioni di inoltro sospese e capacità della coda del disco. Eseguire un controllo journalctl -u rsyslogsu entrambi gli host.

Il metodo segue la guida ufficiale alla registrazione del sistema SLES 15 SP7 , la guida al client rsyslog autenticato tramite certificato , il riferimento al listener imtcp e il riferimento all'inoltro omfwd . L'avviso di aggiornamento SUSE di marzo 2026 documenta l'aggiunta opzionale del modulo OpenSSL. Le configurazioni variano a seconda dei service pack di SLES, quindi è necessario convalidare la versione di rsyslog installata prima di applicare le modifiche in produzione.

Lascia un commento

Eseguire Collabora Online su nodi Kubernetes

Eseguire Collabora Online su nodi Kubernetes

Distribuisci repliche di Collabora CODE con Helm, mantieni ogni documento su un singolo pod tramite l'affinità WOPI e verifica l'ingress, il posizionamento dei nodi e la modifica su Nextcloud.

Ripristina la connessione WebSocket di Collabora tramite il proxy

Ripristina la connessione WebSocket di Collabora tramite il proxy

Traccia un handshake socket non riuscito dal browser a coolwsd, quindi abbina il percorso del reverse proxy alla tua versione di Collabora, inclusa la modifica Apache CODE 26.04.

Correggi gli errori di verifica WOPI controllando chiavi, rilevamento e URL

Correggi gli errori di verifica WOPI controllando chiavi, rilevamento e URL

Traccia gli errori di WOPI di Collabora dovuti a chiavi non corrispondenti, dati di rilevamento obsoleti, deriva dell'orologio o modifiche all'URL del proxy, senza indebolire la convalida.

Correggere un menu a tendina delle dimensioni del carattere di Collabora Online visualizzato in modo errato

Correggere un menu a tendina delle dimensioni del carattere di Collabora Online visualizzato in modo errato

Reimposta lo zoom del browser, testa una sessione pulita e identifica quando un menu di dimensioni non corretto richiede un aggiornamento del server Collabora.

Collega Nextcloud a un container Collabora CODE self-hosted

Collega Nextcloud a un container Collabora CODE self-hosted

Implementa Collabora CODE con Docker, connettilo in modo sicuro a Nextcloud Office e verifica la modifica dei documenti con pratici controlli WOPI e proxy.

Traccia gli errori di connessione di Collabora con i log di coolwsd

Traccia gli errori di connessione di Collabora con i log di coolwsd

Attivare temporaneamente la modalità di debug di coolwsd, acquisire un'apertura non riuscita e utilizzare la sequenza di log per separare i problemi relativi a WebSocket, WOPI, proxy e container.

Imposta una password sicura per la console di amministrazione di Collabora.

Imposta una password sicura per la console di amministrazione di Collabora.

Configura l'accesso amministrativo a Collabora Online per Docker o Linux, riavvia il servizio appropriato e verifica la nuova password senza esporla.

Diagnostica l'elevato utilizzo della CPU da coolwsd o loolwsd di Collabora.

Diagnostica l'elevato utilizzo della CPU da coolwsd o loolwsd di Collabora.

Prima di modificare le impostazioni di Collabora o riavviare il servizio, verifica se il carico della CPU deriva da documenti attivi, processi worker inattivi o capacità del server.

Aumenta il limite di memoria del contenitore CODE senza fare supposizioni

Aumenta il limite di memoria del contenitore CODE senza fare supposizioni

Verifica se Docker sta imponendo un limite a Collabora CODE, aumenta in modo sicuro il limite di memoria di Compose e conferma che il container in esecuzione abbia ricevuto il nuovo limite.

Personalizza le barre degli strumenti di Collabora CODE senza modificare il codice sorgente

Personalizza le barre degli strumenti di Collabora CODE senza modificare il codice sorgente

Semplifica Collabora CODE con la modalità Compatta o a schede e i controlli WOPI PostMessage per nascondere in modo sicuro pulsanti, comandi e schede selezionati.