【问题标题】:My sendmail log get TLS setup failed我的 sendmail 日志获取 TLS 设置失败
【发布时间】:2016-09-01 08:30:10
【问题描述】:

我在 docker 容器中设置了我的 nagios,它工作正常。sendmail 可以向我发送邮件。

我发现它有一天不能给我发消息,我看到了 sendmail 的日志,我得到了这个错误

nagios sendEmail.pl[15471]: ERROR => TLS setup failed: SSL connect attempt failed because of handshake problems error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

在此期间,我只是停止并重新启动我的 nagios 容器

libio-socket-ssl-perl 和 libnet-ssleay-perl perl 的包也已经安装。

我该如何解决这个问题??

非常感谢

【问题讨论】:

  • 不相关,但我猜你使用的 Net::SMTP::TLS 太旧了。
  • @ChankeyPathak: Net::SMTP::TLS 未在此代码中使用,但错误(错误使用 SSL_version)在两种情况下都是相同的。
  • @SteffenUllrich 啊,我明白了。

标签: perl sendmail nagios


【解决方案1】:

如果您的意思是sendEmail.pl this script with the last update from 2009,那么您使用的是不受支持和损坏的软件。如果您更改脚本中的以下行,它可能会起作用:

-   if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv3 TLSv1')) {
+   if (! IO::Socket::SSL->start_SSL($SERVER)) {

这个改动的原因是代码中SSL_version的设置从一开始就错了,只是7年前的IO::Socket::SSL没有报错,只是使用了第一个设置SSLv3 .但是自从 4 年以来 IO::Socket::SSL 更加严格并且抱怨使用错误。除此之外,SSLv3 在今天的许多情况下都无法正常工作,因为出于安全原因,该协议已被禁用。

【讨论】:

  • 非常感谢.....一定可以,我改了发送邮件的命令,在你的回答前加了选项-o tls=no。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-04
  • 2018-03-11
  • 1970-01-01
相关资源
最近更新 更多