syslog-ng EC2 TLS

1

Estou tentando adicionar suporte a TLS ao meu serviço syslog-ng em execução em uma instância do AWS EC2 (os logs estão sendo enviados para loggly). A configuração básica sem o TLS funciona, mas quando eu substituo o destino na configuração com:

destination d_loggly {
    tcp("logs-01.loggly.com" port(6514) 
    tls(peer-verify(required-untrusted) ca_dir('/opt/syslog-ng/keys/ca.d/'))
    template(LogglyFormat));
};

Eu recebo o seguinte erro quando reinicio o serviço syslog-ng:

[ec2-user@ip-10-0-1-123 syslog-ng]$ sudo /etc/init.d/syslog-ng restart
Stopping syslog-ng: [ OK ]
Error parsing afsocket, syntax error, unexpected LL_IDENTIFIER, expecting ')' in /etc/syslog-ng/syslog-ng.conf at line 74, column 5:

tls(peer-verify(required-untrusted) ca_dir('/opt/syslog-ng/keys/ca.d/'))
^^^

syslog-ng documentation: http://www.balabit.com/support/documentation/?product=syslog-ng
mailing list: https://lists.balabit.hu/mailman/listinfo/syslog-ng

Posso confirmar se os certificados estão localizados em /opt/syslog-ng/keys/ca.d /:

[ec2-user@ip-10-0-1-123 /]$ ls -l /opt/syslog-ng/keys/ca.d/
total 16
-rw-r--r-- 1 root root 1968 Jul 18 11:39 loggly.com.crt
-rw-r--r-- 1 root root 5241 Jul 18 11:39 loggly_full.crt
-rw-r--r-- 1 root root 3273 Jul 18 11:39 sf_bundle.crt

Qualquer ajuda para obter suporte ao TLS funcionando seria muito apreciada.

    
por MarcF 18.07.2015 / 17:23

1 resposta

2

Depois de muitas horas de pesquisa, encontrei a resposta aqui:

link

It's a limitation of the syslog-ng package in RHEL/EPEL: syslog-ng is in /sbin while openssl libraries are installed under /usr/lib. As /usr can be a separate partition unavailable during early boot, crypto support can't be enabled in the RHEL package.

E como o AWS Linux é baseado no RHEL, a mesma limitação se aplica aqui.

Eu usei os guias a seguir para compilar o syslog-ng a partir do código-fonte e agora tudo está funcionando como esperado:

link

link

link

    
por 20.07.2015 / 16:41