AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 614986
Accepted
fronzee
fronzee
Asked: 2014-07-24 13:28:56 +0800 CST2014-07-24 13:28:56 +0800 CST 2014-07-24 13:28:56 +0800 CST

即使“smtp_tls_security_level =指纹”,Postfix仍然抱怨“证书验证失败”

  • 772

我正在尝试使用 Postfix(RHEL6 上的 2.6.6 版)通过我们内部网络上的邮件中继连接并发送邮件。我想在端口 25 上连接 STARTTLS(此服务器上没有端口 465)。邮件中继使用自签名 SSL/TLS 证书,因此我需要使用证书颁发机构跳过证书验证。我发现smtp_tls_security_level = fingerprint它不检查信任链、到期日期等。相反,它使用证书指纹进行验证。

我认为这是一个完美的解决方案,但是当我尝试发送电子邮件时,我仍然会收到/var/log/maillog那个说的错误postfix/smtp[15182]: certificate verification failed for xxxxxxxxxxxx[zz.zz.zz.zz]:25: untrusted issuer。

我认为fingerprint安全级别的重点是跳过证书验证。我误解了这个选项的意义吗?还有什么我需要配置的吗?

以下是来自的相关行main.cf:

relayhost = [xxx.xxx.xxx]
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl-passwords
smtp_sasl_security_options=
smtp_generic_maps = hash:/etc/postfix/generic
smtp_use_tls = yes
smtp_tls_security_level = fingerprint
smtp_tls_fingerprint_digest = sha1
# fingerprint changed for ServerFault. just an example.
smtp_tls_fingerprint_cert_match = c1:d3:54:12:00:r0:ef:fa:42:48:10:ff:ac:1e:75:13:dd:ad:af:3e
smtp_tls_note_starttls_offer = yes

编辑:添加粗体

postfix
  • 2 2 个回答
  • 16722 Views

2 个回答

  • Voted
  1. Best Answer
    fronzee
    2014-07-25T14:31:02+08:002014-07-25T14:31:02+08:00

    会在这里回答我自己的问题。我没有设法让fingerprint验证工作,但我确实发现了如何在没有证书验证的情况下获得 TLS。从手册:

    可以通过设置“smtp_tls_security_level = encrypt”来配置强制 TLS 加密。即使始终使用 TLS 加密,即使服务器证书不受信任或名称错误,邮件传递也会继续。

    我曾经尝试过这一点,但一定没有启用所有正确的选项。但是使用上面的设置,我只是更改smtp_tls_security_level为encrypt,它工作正常。

    • 2
  2. rfmoz
    2016-08-10T23:38:05+08:002016-08-10T23:38:05+08:00

    由于 Postfix 已启用 chroot(在 Debian 中默认)“/etc/postfix/master.cf”:

    # ==========================================================================
    # service type  private unpriv  chroot  wakeup  maxproc command + args
    #               (yes)   (yes)   (yes)   (never) (100)
    # ==========================================================================
    smtp      unix  -       -       -       -       -       smtp
    

    并且变量smtp_tls_CAfile的默认值为空,解决方案通过将其设置为 de chroot 中证书文件的位置:

    在“/etc/postfix/main.cf”中:

    smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
    
    • 1

相关问题

  • Postfix 在特定端口上接受邮件

  • 让 Postfix 以两种方式处理垃圾邮件

  • Postfix 或 exim:自动/程序化和转发电子邮件设置

  • 后缀电子邮件地址

  • 什么是最好的开源电子邮件解决方案包

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve