我正在尝试将TLS支持添加到在AWS EC2实例上运行的syslog-ng服务(正在将日志发送到日志logging)。 没有TLS的基本configuration工作,但是当我在config中replace目的地时:
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)); };
重新启动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
我可以确authentication书位于/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
任何帮助获得TLS支持工作将不胜感激。
经过几个小时的search,我在这里find了答案:
http://www.syslog.org/forum/syslog-ng/tls-configuration-syntax-problem/
这是RHEL / EPEL中syslog-ng软件包的局限性:syslog-ng在/ sbin中,而openssl库在/ usr / lib下安装。 由于/ usr可能是早期启动时不可用的独立分区,因此在RHEL软件包中无法启用encryption支持。
而且,由于AWS Linux基于RHEL,因此这里也适用相同的限制。
我使用以下指南从源代码编译syslog-ng,现在一切都按预期工作:
https://czanik.blogs.balabit.com/2011/06/compiling-syslog-ng-with-database-support-for-centos-5-co/