Differences

This shows you the differences between two versions of the page.

Link to this comparison view

bsd:syslog-ng_stunnel [2010/01/12 13:29] (current)
Line 1: Line 1:
 +syslog-ng offre beaucoup plus de possibilité que son grand frère syslog ​
  
 +Pour une liste détaillée des features je vous invite à aller consulter le site : 
 +
 +http://​www.balabit.com/​products/​syslog_ng/​
 +
 +
 +La première chose qu'un "bon pirate"​ fait une fois qu'il est entré sur votre
 +serveur : c'est d'​aller nettoyer les logs systèmes. Or si vous ne faites pas une
 +copie de ces logs impossible pour vous de pouvoir comprendre ce qu'il a fait. 
 +
 +Je vous propose donc d'​exporter vos logs vers un serveur qui centralise ​
 +l'​ensemble ​ des logs de vos machines et ce via un tunnel ssl ; pour que les 
 +données ne transitent pas en clair sur votre réseau (surtout si c'est au travers
 +d'​internet)
 +
 +Pour ce faire nous allons utiliser : 
 +
 +syslog-ng ​
 +stunnel ​
 +
 +Dans mon exemple j'​utilise 2 FreeBSD en tant que client serveur mais le principe
 +reste le même pour d'​autres OS
 +
 +
 +Tout d'​abord nous allons préparer le serveur ​
 +
 +- Installation de syslog-ng ​
 +<​code>​
 +# cd /​usr/​ports/​sysutils/​syslog-ng/ ​
 +# make install clean 
 +</​code>​
 +Passons maintenant à la configuration de syslog-ng ​
 +<​code>​
 +# cd /​usr/​local/​etc/​syslog-ng/​
 +</​code>​
 +Téléchargez le fichier suivant ​
 +<​code>​
 +# wget http://​aflab.free.fr/​conf/​syslog-ng-server.conf ​
 +</​code>​
 +Et renommez le en :
 +<​code>​
 +# mv syslog-ng-server.conf syslog-ng.conf ​
 +</​code>​
 +Si vous avez syslog de lancé vous pouvez le couper ​
 +<​code>​
 +# /​etc/​rc.d/​syslogd stop
 +</​code>​
 +et
 +<​code>​
 +# cd /​usr/​local/​etc/​rc.d/​
 +# mv syslog-ng.sh.sample syslog-ng.sh
 +# ./syslog-ng start
 +</​code>​
 +un petit "ps aux" pour vérifier que syslog-ng est lancé ​
 +
 +
 +- Installation de stunnel ​
 +
 +(nous utilisons la version 4 de stunnel)
 +<​code>​
 +# cd /​usr/​ports/​security/​stunnel
 +# make install clean
 +</​code>​
 +Nous allons maintenant configurer stunnel ​
 +<​code>​
 +# cd /​usr/​local/​etc/​stunnel/​
 +# vi stunnel.conf ​
 +
 +------------------------------------- SNiP ------------------------------------
 +#
 +# stunnel.conf (serveur)
 +#
 +# aflab@free.fr
 +# http://​aflab.free.fr
 +
 +cert = /​usr/​local/​etc/​stunnel/​syslog-ng-server.pem
 +
 +output = /​var/​log/​stunnel.log
 +pid = /​var/​run/​stunnel/​stunnel.pid
 +
 +setuid = stunnel
 +setgid = stunnel
 +
 +verify = 2
 +
 +CAfile = /​usr/​local/​etc/​stunnel/​syslog-ng-client.pem
 +
 +[syslog-ng]
 +accept = <IP DE VOTRE SERVEUR DE LOG>:515
 +connect = 127.0.0.1:​514
 +
 +------------------------------------- SNiP ------------------------------------
 +</​code>​
 +pour les options de configuration de stunnel je vous invite à vous reporter à la
 +doc officielle de stunnel : 
 +
 +http://​www.stunnel.org ​
 +
 +Notons que stunnel est capable de se "​chrooter"​ a son démarrage. ​
 +
 +Nous allons maintenant generer notre certificat ssl :
 +<​code>​
 +# openssl req -new -x509 -nodes -days 0 -out syslog-ng-server.pem -keyout syslog-ng-server.pem
 +</​code>​
 +Dans le fichier syslog-ng-server.pem vous avez la clé privée et le certificat du
 +serveur, vous n'​exporterez que le certificat sur vos clients la clé privée reste
 +sur le serveur. ​
 +
 +Pour finir l'​installation ​
 +<​code>​
 +# mkdir /​var/​run/​tunnel ​
 +# chown -R stunnel.stunnel /​var/​run/​stunnel
 +# chmod 700 /​var/​run/​stunnel/​
 +
 +# cd /​usr/​local/​etc/​stunnel/​
 +</​code>​
 +On crée le fichier dans lequel on va stocker les certificats des clients ​
 +<​code>​
 +# touch syslog-ng-client.pem
 +</​code>​
 +On change les droits pour que seul l'​utilisateur stunnel puisse lire les fichiers ​
 +du répertoire /​usr/​local/​etc/​stunnel/ ​
 +<​code>​
 +# chown stunnel.stunnel *
 +# chmod 600 *
 +</​code>​
 +
 +Vous pouvez lancer stunnel
 +<​code>​
 +# stunnel ​
 +</​code>​
 +faites un "ps aux" pour voir si le processus stunnel est bien la 
 +si ce n'est pas le cas reportez vous au fichier /​var/​log/​stunnel.log
 +pour voir ce qui ne va pas. 
 +
 +
 +Nous allons maintenant nous occuper du client ​
 +
 +
 +
 +Pour syslog-ng le principe est le même que pour le serveur ​
 +pour le fichier de configuration je vous propose de télécharger :
 +
 +<​code>​
 +# wget  http://​aflab.free.fr/​conf/​syslog-ng-client.conf
 +</​code>​
 +
 +Pour l'​installation de stunnel c'est le même principe que pour le serveur ​
 +
 +Pour le fichier de configuration : 
 +<​code>​
 +# cd /​usr/​local/​etc/​stunnel/​
 +# vi stunnel.conf
 +
 +------------------------------------- SNiP ------------------------------------
 +
 +#
 +# stunnel.conf (client)
 +#
 +# aflab@free.fr
 +# http://​aflab.free.fr
 +#
 +
 +cert = /​usr/​local/​etc/​stunnel/​syslog-ng-client.pem
 +output = /​var/​log/​stunnel.log
 +
 +pid = /​var/​run/​stunnel/​stunnel.pid
 +setuid = stunnel
 +setgid = stunnel
 +
 +verify = 2
 +CAfile = /​usr/​local/​etc/​stunnel/​syslog-ng-server.pem
 +client = yes
 +
 +# Service-level configuration
 +
 +[stunnel]
 +accept = 127.0.0.1:​514
 +connect = <IP DE VOTRE SERVEUR DE LOG>:515
 +
 +
 +------------------------------------- SNiP ------------------------------------
 +</​code>​
 +
 +Passons maintenant à la génération du certificat et de la clé privée pour le
 +client ​
 +<​code>​
 +# openssl req -new -x509 -nodes -days 0 -out syslog-ng-client.pem -keyout syslog-ng-client.pem
 +</​code>​
 +Une fois que cela est fait : 
 +
 +-----
 +
 +(nous sommes toujours sur le client) ​
 +
 +dans le fichier syslog-ng-server.pem copiez le certificat de votre serveur
 +
 +(nous sommes maintenant sur le serveur)
 +
 +dans le fichier syslog-ng-client.pem copiez le certificat de votre client
 +
 +----
 +
 +N'​oubliez pas de changer les droits comme pour le serveur
 +
 +Voila maintenant que tout ça est fait vous pouvez lancer stunnel sur votre
 +client. Vérifiez que le processus stunnel est bien lancé si ce n'est pas 
 +le cas allez voir /​var/​log/​stunnel.log
 +
 +
 +Maintenant que tout est installé sur votre client faites : 
 +
 +<​code>​
 +# logger "​PINPIN ON T'​AIME"​
 +</​code>​
 +
 +Maintenant sur votre serveur de log si vous allez dans 
 +<​code>​
 +# cd /​var/​log/​hosts/​
 +</​code>​
 +Vous devriez avoir un répertoire du type hostname.domain.tld se rapportant à
 +votre client si vous allez dedans vous allez voir un répertoire user/ et dedans
 +le fichier notice si vous regardez le contenu de ce fichier vous devriez voir 
 +
 +"​PINPIN ON T'​AIME" ​
 +
 +
 +Si vous avez le moindre problème n'​hesitez pas à nous rejoindre ​
 +sur 
 +
 +#gcu @ irc.freenode.net ​
 +
 +ou par email 
 +
 +aflab@gcu.info
bsd/syslog-ng_stunnel.txt · Last modified: 2010/01/12 13:29 (external edit)