Passa al contenuto principale

8. Considerazioni di sicurezza

Questa sezione tratta le considerazioni di sicurezza del protocollo syslog. Implementatori e operatori devono conoscerle per distribuire syslog in modo sicuro.

8.1. UNICODE

Questa specifica richiede la codifica UTF-8 per STRUCTURED-DATA. UTF-8 può codificare l'intero repertorio Unicode.

Aspetti di sicurezza:

  • Problemi di visualizzazione: alcuni caratteri Unicode possono assomigliarsi visivamente e rendere possibili attacchi di impersonificazione, ad esempio caratteri cirillici simili a caratteri latini.
  • Caratteri di controllo: Unicode include numerosi caratteri di controllo e formattazione che possono influire sulla visualizzazione o sull'analisi.
  • Equivalenza canonica: sequenze Unicode diverse possono rappresentare lo stesso carattere visivo, potenzialmente aggirando i filtri di sicurezza.

Raccomandazioni:

  • Le applicazioni che visualizzano messaggi syslog DOVREBBERO gestire e sanificare correttamente Unicode.
  • Considerare la normalizzazione delle stringhe Unicode in una forma canonica.
  • Tenere presenti i problemi del testo bidirezionale.
  • Convalidare e sanificare i dati forniti dagli utenti prima di inserirli nei messaggi syslog.

8.2. Caratteri di controllo

I caratteri di controllo nei messaggi syslog possono provocare problemi di visualizzazione o di sicurezza.

Rischi:

  • Le sequenze di controllo del terminale possono alterare la visualizzazione.
  • I byte nulli possono troncare le stringhe in alcune implementazioni.
  • I ritorni a capo e i line feed possono interrompere l'analisi dei log.

Raccomandazioni:

  • Filtrare o fare l'escape dei caratteri di controllo durante la visualizzazione.
  • Convalidare il contenuto del messaggio prima dell'elaborazione.
  • Usare elementi di dati strutturati anziché incorporare informazioni strutturate nel testo libero.

8.3. Troncamento dei messaggi

Se un messaggio viene troncato durante la trasmissione, informazioni importanti possono andare perse.

Implicazioni per la sicurezza:

  • Possono essere rimosse informazioni rilevanti per la sicurezza.
  • Il troncamento può verificarsi nei relay o ai confini del trasporto.
  • Un attaccante potrebbe sfruttarlo per nascondere attività dannose.

Raccomandazioni:

  • Mantenere le informazioni critiche all'inizio del messaggio, entro i primi 480 ottetti.
  • Usare STRUCTURED-DATA per metadati importanti.
  • Quando necessario, implementare protocolli di trasporto che supportino messaggi più grandi.
  • Monitorare i messaggi troncati presso i collector.

8.4. Replay

I messaggi syslog possono essere catturati e riprodotti da un attaccante.

Scenari di attacco:

  • Riproduzione di vecchi messaggi per oscurare l'attività corrente.
  • Saturazione dei collector con messaggi riprodotti, causando DoS.
  • Confusione dell'analisi forense tramite l'inserimento di eventi vecchi.

Raccomandazioni:

  • Usare un trasporto autenticato e cifrato, TLS.
  • Includere numeri di sequenza (meta sequenceId).
  • Includere timestamp accurati.
  • Implementare la verifica dell'origine del messaggio.
  • Monitorare messaggi duplicati o fuori sequenza.

8.5. Consegna affidabile

Questa specifica non richiede una consegna affidabile; i messaggi possono andare persi.

Implicazioni per la sicurezza:

  • Gli eventi di sicurezza potrebbero non essere registrati.
  • La perdita di messaggi può nascondere attacchi.
  • I requisiti di conformità potrebbero non essere soddisfatti.

Raccomandazioni:

  • Usare protocolli di trasporto affidabili, TCP/TLS, per i messaggi rilevanti per la sicurezza.
  • Implementare conferme dei messaggi a livello applicativo.
  • Usare numeri di sequenza per rilevare la perdita dei messaggi.
  • Progettare il monitoraggio della sicurezza tenendo conto della possibile perdita dei messaggi.
  • Considerare percorsi di registrazione ridondanti per i sistemi critici.

8.6. Controllo della congestione

La congestione di rete o il sovraccarico di elaborazione può causare perdita o ritardo dei messaggi.

Rischi:

  • I picchi di messaggi durante gli attacchi possono andare persi.
  • I messaggi ritardati possono arrivare fuori ordine.
  • L'esaurimento delle risorse può influire sui sistemi critici.

Raccomandazioni:

  • Implementare la limitazione della frequenza presso i mittenti.
  • Usare protocolli di trasporto con controllo della congestione.
  • Monitorare la profondità delle code e i ritardi dei messaggi.
  • Dare priorità ai messaggi rilevanti per la sicurezza.
  • Progettare i sistemi per gestire i picchi di messaggi.

8.7. Integrità dei messaggi

Syslog non fornisce intrinsecamente protezione dell'integrità dei messaggi.

Minacce:

  • I messaggi possono essere modificati durante il transito.
  • Gli attaccanti possono alterare messaggi nei relay.
  • Errori di rete possono corrompere i messaggi.

Raccomandazioni:

  • Usare TLS per la protezione dell'integrità.
  • Quando necessario, implementare la firma end-to-end dei messaggi.
  • Verificare formato e contenuto dei messaggi presso i collector.
  • Monitorare messaggi non validi o sospetti.

8.8. Osservazione dei messaggi

I messaggi syslog possono contenere informazioni sensibili.

Problemi di riservatezza:

  • Possono essere registrate informazioni personali.
  • I dettagli di sistema possono aiutare gli attaccanti.
  • Dati aziendali sensibili possono essere esposti.

Raccomandazioni:

  • Usare trasporto cifrato, TLS.
  • Sanificare i messaggi per rimuovere informazioni sensibili.
  • Implementare controlli di accesso presso i collector.
  • Tenere presenti i requisiti normativi, ad esempio GDPR e HIPAA.
  • Evitare di registrare password, chiavi o altri segreti.

8.9. Configurazione inappropriata

Una configurazione errata può creare vulnerabilità di sicurezza.

Problemi comuni:

  • Invio di messaggi ai collector errati.
  • Esposizione dei servizi syslog a reti non affidabili.
  • Controlli di accesso insufficienti.
  • Filtraggio inadeguato dei messaggi.

Raccomandazioni:

  • Implementare la convalida della configurazione.
  • Usare regole firewall per limitare il traffico syslog.
  • Verificare regolarmente l'infrastruttura syslog.
  • Testare le modifiche di configurazione in ambienti non di produzione.
  • Documentare gli standard di configurazione.

8.10. Ciclo di inoltro

I cicli di inoltro dei messaggi possono esaurire le risorse.

Rischi:

  • I messaggi circolano indefinitamente tra relay.
  • Vengono consumate risorse di rete e di sistema.
  • I messaggi legittimi possono andare persi.

Prevenzione:

  • Implementare limiti al numero di hop.
  • Rilevare e interrompere i cicli di inoltro.
  • Progettare attentamente la topologia dei relay.
  • Monitorare il comportamento dei relay.
  • Implementare il rilevamento dei cicli nei relay.

8.11. Considerazioni sul carico

Volumi elevati di messaggi possono sovraccaricare i sistemi.

Problemi:

  • Esaurimento di receiver o relay.
  • Perdita di messaggi sotto carico.
  • Degrado delle prestazioni.

Raccomandazioni:

  • Pianificare la capacità per i carichi attesi e di picco.
  • Implementare la limitazione della frequenza.
  • Usare un'elaborazione efficiente dei messaggi.
  • Monitorare le prestazioni del sistema.
  • Scalare l'infrastruttura quando necessario.

8.12. Negazione del servizio

L'infrastruttura syslog è vulnerabile agli attacchi DoS.

Vettori di attacco:

  • Saturazione con alti volumi di messaggi.
  • Invio di messaggi non validi per arrestare i receiver.
  • Consumo dello spazio di archiviazione con registrazioni eccessive.
  • Attacco all'infrastruttura dei relay.

Mitigazioni:

  • Limitazione della frequenza a tutti i livelli.
  • Convalida dell'input.
  • Quote di risorse.
  • Infrastruttura ridondante.
  • Protezioni a livello di rete, quali firewall e IDS.
  • Autenticazione e autorizzazione.