我需要禁用 TLS 1.2 并确保连接接受 TLS 版本 1.1 密码套件 SHA:AES128 和 SHA:AES256。我没有找到任何定义 TLS 版本的支持文档。我注意到SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2
可以在 HTTPD 配置中定义来启用/禁用您想要的 TLS 版本,但如何在 rsyslog 上执行相同的操作。
这是我在服务器端的配置:
#rsyslogd -v
rsyslogd 8.24.0, compiled with:
PLATFORM: x86_64-redhat-linux-gnu
PLATFORM (lsb_release -d):
FEATURE_REGEXP: Yes
GSSAPI Kerberos 5 support: Yes
FEATURE_DEBUG (debug build, slow code): No
32bit Atomic operations supported: Yes
64bit Atomic operations supported: Yes
memory allocator: system default
Runtime Instrumentation (slow code): No
uuid support: Yes
Number of Bits in RainerScript integers: 64
See http://www.rsyslog.com for more information.
/etc/rsyslog.conf
##TLS Driver##
$DefaultNetstreamDriver gtls
##TLS Certificate##
$DefaultNetstreamDriverCAFile /etc/pki/rsyslog/ca.crt
$DefaultNetstreamDriverCertFile /etc/pki/rsyslog/cert.PEM
$DefaultNetstreamDriverKeyFile /etc/pki/rsyslog/privatekey.key
module(load="imtcp"
MaxSessions="2000"
StreamDriver.mode="1"
StreamDriver.authmode="x509/name"
PermittedPeer="*.clientsidehost.com")
input(type="imtcp" port="20514" name="tcp-tls")
我尝试接收日志的应用程序具有我试图遵守的以下要求。
TLS 1.0 & TLS 1.1 supported.
TLS 1.2 is not supported and it needs to be disabled on your configuration.
Cipher Suites SHA:AES128 & SHA: AES256 supported.
任何帮助将不胜感激
更新:
# openssl ciphers -v | awk '{print $2}' | sort -u
SSLv3
TLSv1.2
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.3 (Maipo)
答案1
使用最新的 Linux 发行版 RHEL 7.0,您会发现openssl
不支持 TLS 1.0 和 TLS 1.1。出于安全原因不再这样做。
正如您在输出中看到的openssl ciphers -v
,TLS 1.0 和 TLS 1.1未列出。
作为解决方案:
- 要求您的供应商支持 TLS 1.2,您将需要它;
- 如果您有其他应用程序需要新的 RHEL 版本,请使用支持 TLS 1.0 或 TLS 1.1 的旧版 RHEL,并将您的实际系统日志指向它;
- 手动编译旧版 openssl + rsyslog;
- 或者尝试安装旧的 rsyslogd rpm(可能不起作用)
- 设置 SSL 隧道作为您和 rsyslog 之间的最后一个临时措施,同样使用其他版本。但为此,最好还是在
rsyslog
那里使用。
显然,随着时间的推移,您将在不久的将来需要越来越多的 TLS 1.2 支持。