Collecteur de syslog avec rSyslog en TLS
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"