Collecteur de syslog avec rSyslog en TLS

De SeRoM - Wiki
Aller à : navigation, rechercher

Server Side

On install le plugins de rsyslog qui permet d'échanger au protocol standard IETF 'syslog-transport-tls':

yum install rsyslog-gnutls

On s'assure que l'heure est bien synchonisée

On monter une Certificate Authority. On commence par créer une clé privier pour signer le certificat.

 certtool --generate-privatekey --outfile ca-key.pem
 chmod 600 ca-key.pem

On crée le certificat de la CA:

 certtool --generate-self-signed --loadkey ca-key.pem

Où l'on répond aux questions suivantes

  • Pays: Be
  • Org: Enterprise, Inc
  • Org unit: Enterprise IT
  • Locality: Brussels
  • State: Brussles
  • CN:

...

On génère une clé privée pour le service rsyslog:

 certtool --generate-privatekey --outfile rsyslog-serv-key.pem

On créer un CR (Certificate Request) pour notre service:

 certtool --generate-request --load-privekey rsyslog-serv-key.pem --outfile rsyslog-serv-request.pem

Où l'on répond aux questions suivantes

  • Pays: Be
  • Org: Enterprise, Inc
  • Org unit: Enterprise IT
  • Locality: Brussels
  • State: Brussles
  • CN: mon-serveur.mon-domain.com
  • UID: [blanco]
  • DNS: [blanco]
  • IP: [blanco]
  • Mail: [blanco]
  • password: [blanco]
  • certif belong auth: N
  • certif 2 sign: N
  • certif 2 encrypt: N
  • certif 4 client: Y
  • Certif 4 service: Y
 certtool --generate-certificate --load-request rsyslog-serv-request.pem --outfile rsyslog-serv-cert.pem --load-ca-certificate ca.pem --load-ca-privatekey ca-key.pem

Où l'on répond aux questions suivantes

  • Serial: [Defalt]
  • expire: 365
  • honour: N
  • certif belong auth: N
  • certif 4 client: Y
  • Certif 4 service: Y
  • DNS: mon-serveur.mon-domain.com
  • IP: [blanco]
  • certif 2 sign: N
  • certif 2 encrypt: N

On peut supprimer le request:

 rsyslog-serv-request.pem

On copie les clés et certificats à des endroits plus adaptés

 cp ca-key.pem ca.pem /etc/pki/CA/
 cp rsyslog-serv-key.pem rsyslog-serv-cert.pem /etc/pki/rsyslog/

On configure rsyslog pour écouter et établir des échanges chiffrés

 vim /etc/rsyslog.d/syslog-collector.conf
     $DefaultNetstreamDriver gtls
     $DefaultNetstreamDriverCAFile /etc/pki/CA/ca.pem
     $DefaultNetstreamDriverCertFile /etc/pki/rsyslog/rsyslog-serv-cert.pem
     $DefaultNetstreamDriverKeyFile /etc/pki/rsyslog/rsyslog-serv-key.pem
     $ModLoad imtcp
     $InptutTCPServerStreamDriverMode 1
     $InptutTCPServerStreamDriverAuthMode anon
     $InptutTCPServerRun 6514

On redémarre rSyslog

 /etc/init.d/rsyslog restart

Client Side

On install également le plugins qui va bien:

yum install rsyslog-gnutls

On s'assure que l'heure est bien synchonisée

On récupère le certificat du CA:

 scp mon-server:/etc/pki/CA/ca.pem /etc/pki/CA/ca.pem

On configure rsyslog pour écouter et établir des échanges chiffrés

 vim /etc/rsyslog.d/send-syslog.conf
     $DefaultNetstreamDriver gtls
     $DefaultNetstreamDriverCAFile /etc/pki/CA/ca.pem
     $ActionSendStreamDriverMode 1
     $ActionSendStreamDriverAuthMode anon
     *.*   @@(o)mon-serveur.mon-domaine.com:6514

On redémarre rSyslog

 /etc/init.d/rsyslog restart

Pour tester:

 logger "Test"