Mettre en place un serveur central de logs avec RSYSLOG

Présentation

La réglementation impose une conservation des traces de connexion dans les serveurs pendant une durée d'un an. Néanmoins, les systèmes Linux génèrent énormément d'informations ; toutes ne sont pas forcément intéressantes.

De plus, outre l'obligation de conservation, un suivi régulier est utile, voire indispensable, pour détecter des dysfonctionnements ou des problèmes de sécurité. La mise en place d'un serveur central de stockage des traces présente, à ce titre, des avantages considérables.

Dans le monde Linux, il existe plusieurs outils pour centraliser les logs des serveurs. L'un des plus aboutis, qui plus est totalement openSource, est rsyslog, couramment déployé aujourd'hui dans la plupart des distributions.

Principe général

Les logs sont transmises au démon Syslog dans un format défini, qui analyse chaque message pour le stocker dans un fichier dédié.

Il est possible de rediriger ces messages vers un serveur distant : c'est lui qui traitera les informations fournies pour les stocker dans des fichiers adaptés.

Les messages sont en général stockés dans des fichiers textes. Il est également possible de configurer RSYSLOG pour lui demander de les enregistrer dans une base de données ; néanmoins, si une telle configuration facilite la recherche ou la corrélation d'événements, elle est plus complexe à mettre en œuvre, notamment en raison des mécanismes de rotation des logs plus difficiles à intégrer. De plus, il n'est plus possible de compresser les anciens fichiers, et le volume total occupé s'en ressent1.

À partir du moment où les fichiers sont stockés à un endroit unique, il est alors intéressant de les consulter via une interface adaptée. Il existe plusieurs outils ; un des plus simples est LogAnalyzer, qui est facile à mettre en œuvre et permet rapidement de visualiser ou de rechercher des informations.

Rotation des fichiers

Les fichiers de logs doivent être conservés une année ; en général, c'est le logiciel logrotate qui est utilisé pour :

    • initier la rotation ;
    • compresser les anciens fichiers.

Il faut simplement modifier la durée de conservation par défaut, qui est, en principe, de 5 semaines (rotation hebdomadaire).

Documentation

http://www.canonical.com/sites/default/files/active/Whitepaper-CentralisedLogging-v1.pdf

http://www.rsyslog.com/doc/manual.html

Pour la configuration de logcheck, vous pouvez consulter cette page : http://www.debian.org/doc/manuals/securing-debian-howto/ch4.fr.html

1Sans compter qu'il faut également créer des index, qui peuvent vite être volumineux