Convertendo para o novo formato de configuração do rsyslog v7

1

Estou tentando configurar um cliente rsyslog (executando o rsyslog 7.4.8) que registrará dois servidores remotos por meio de duas configurações SSL diferentes. Para fazer isso, parece que preciso migrar do formato do arquivo de configuração herdado para o novo formato baseado em ação.

Se eu tiver o seguinte para /etc/rsyslog.conf, então tudo funciona bem. O servidor remoto recebe as mensagens e o netstat mostra uma conexão TCP estabelecida do cliente para o servidor remoto:

$ModLoad imuxsock.so
$ModLoad imklog.so

$DefaultNetstreamDriver gtls
$ActionSendStreamDriverAuthMode anon
$ActionSendStreamDriverMode 1

$DefaultNetstreamDriverCAFile /etc/pki/rsyslog/ca.pem
$DefaultNetstreamDriverCertFile /etc/pki/rsyslog/local-cert.pem
$DefaultNetstreamDriverKeyFile /etc/pki/rsyslog/local-key.pem

*.* @@10.50.59.241:6514

Pelo que eu consegui extrair da documentação do rsyslog eu deveria ser capaz de fazer algo ao longo destas linhas:

$ModLoad imuxsock.so
$ModLoad imklog.so

$DefaultNetstreamDriverCAFile /etc/pki/rsyslog/ca.pem
$DefaultNetstreamDriverCertFile /etc/pki/rsyslog/local-cert.pem
$DefaultNetstreamDriverKeyFile /etc/pki/rsyslog/local-key.pem

*.* action (type="omfwd" protocol="tcp" Target="10.50.59.241" Port="6514" StreamDriverMode="1" StreamDriver="gtls" StreamDriverAuthMode="anon")

Mas esta segunda configuração não funciona. O rsyslogd reinicia com sucesso, então eu sei que não há erro de sintaxe com esta configuração. Mas o netstat nunca mostra uma conexão mesmo sendo tentada no servidor syslog remoto. O que estou perdendo?

    
por Bruce P 27.02.2014 / 19:27

1 resposta

1

Bem depois de um monte de pancadas, eu descobri isso sozinho. Primeiramente, há um bug em algumas versões do rsyslog que impedirão que isso funcione (você nunca verá uma conexão estabelecida para um ou mais dos servidores de destino), portanto, verifique se está usando a versão 7.6 ou posterior do rsyslog.

Verifique se o seu arquivo de autoridade de certificação possui alguma autoridade de certificação necessária para todos os destinos listados nela. Ordem não é importante. Então o seu arquivo conf deve ser parecido com isto:

$DefaultNetstreamDriverCAFile /etc/pki/rsyslog/ca.pem

*.* action(type="omfwd" protocol="tcp" Target="10.50.59.241" Port="6514" StreamDriverMode="1" StreamDriver="gtls" StreamDriverAuthMode="anon")

*.* action(type="omfwd" Protocol="tcp" Target="some.other.host.com" Port="6514" StreamDriverMode="1" StreamDriver="gtls" StreamDriverAuthMode="x509/name" StreamDriverPermittedPeers="*.some.other.host.com")
    
por 27.02.2014 / 21:51