Contexte : l'agrégation de journaux à distance est considérée comme un moyen d'améliorer la sécurité. En règle générale, cela réduit le risque qu'un attaquant qui compromet un système puisse modifier ou supprimer des journaux afin de contrecarrer l'analyse judiciaire. J'ai recherché des options de sécurité dans les outils de journalisation courants.
Mais quelque chose ne va pas. Je ne vois pas comment configurer l'un des enregistreurs distants courants (par exemple rsyslog, syslog-ng, logstash) pour authentifier qu'un message entrant provient vraiment de l'hôte présumé. Sans une sorte de contrainte de stratégie, un expéditeur de journal pourrait forger des messages au nom d'un autre expéditeur de journal.
L'auteur de rsyslog semble mettre en garde contre l'authentification des données de journal :
Un dernier mot de prudence: transport-tls protège la connexion entre l'expéditeur et le récepteur. Il ne protège pas nécessairement contre les attaques présentes dans le message lui-même. Surtout dans un environnement de relais, le message peut provenir d'un système malveillant, qui y a placé des noms d'hôte non valides et / ou d'autres contenus. S'il n'y a pas de provisioning contre de telles choses, ces enregistrements peuvent apparaître dans le référentiel des récepteurs. -transport-tls ne protège pas contre cela (mais cela peut aider, correctement utilisé). Gardez à l'esprit que syslog-transport-tls fournit une sécurité bond par bond. Il ne fournit pas de sécurité de bout en bout et il n'authentifie pas le message lui-même (uniquement le dernier expéditeur).
La question de suivi est donc la suivante: qu'est-ce qu'une configuration bonne / pratique (dans tout outil de journalisation commun de votre choix - rsyslog, syslog-ng, logstash, etc.) qui fournit une certaine authenticité?
Ou ... si personne n'authentifie les données du journal, alors pourquoi pas ?
-
(À part: En discutant / en comparant, il peut être utile d'utiliser certains diagrammes ou la terminologie de la RFC 5424: Section 4.1: Exemples de scénarios de déploiement - par exemple, "initiateur" vs "relais" vs "collecteur")