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 / 问题 / 120123
In Process
Simon
Simon
Asked: 2010-03-08 12:55:43 +0800 CST2010-03-08 12:55:43 +0800 CST 2010-03-08 12:55:43 +0800 CST

使用 Postfix 强制对传出 SMTP 进行加密

  • 772

有谁知道如何告诉 Postfix 加密外发邮件?

我已将其配置为在接收时使用加密,但我无法对外发邮件执行此操作。这是我的main.cf文件:

smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd
transport_maps = hash:/etc/postfix/transport

# tls config
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.pem
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.pem
smtpd_tls_CAfile = /etc/postfix/ssl/smtpd.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
smtp postfix
  • 3 3 个回答
  • 71952 Views

3 个回答

  • Voted
  1. sumar
    2010-03-08T13:45:56+08:002010-03-08T13:45:56+08:00

    smtp_tls_security_level = 加密或smtp_enforce_tls=yes

    对于特定目的地,您可以使用smtp_tls_policy_maps

    smtp_use_tls = yes和smtp_enforce_tls=yes已弃用。对于 Postfix 2.3 及更高版本,请改用smtp_tls_security_level。

    请记住:强制 TLS 加密可能会导致未配置 TLS 的 SMTP 主机出现邮件传递问题。如果服务器仅用于将邮件发送到配置了 TLS 的内部服务器,那么在这种情况下这不是问题。但是,如果使用服务器将邮件传递到公共服务器,则不能假设所有服务器都支持 TLS。在这种情况下使用 smtp_tls_security_level = 可能

    • 38
  2. sumar
    2010-03-08T22:44:29+08:002010-03-08T22:44:29+08:00

    这个想法是强制用户使用加密的传出 smtp 服务器配置他们的电子邮件客户端。使用当前的配置,Thunderbird 让他们可以选择以纯文本方式与 smtp 服务器通信...

    您不能在不重新编译源代码的情况下禁用 Thunderbird 中的选项,但您可以配置 postfix stmpd 守护程序(从您的客户端接收邮件)以强制加密。为此,请使用smtpd_tls_security_level=encrypt,它等效于过时的选项smtpd_use_tls=yes和smtp_enforce_tls=yes。smtpd_tls_security_level=encrypt和smtp_enforce_tls=yes意味着smtpd_tls_auth_only=yes

    来自关于smtpd_tls_security_level=encrypt的后缀文档

    强制 TLS 加密:向 SMTP 客户端宣布 STARTTLS 支持,并要求客户端使用 TLS 加密。根据RFC 2487,这绝不能应用于公共引用的 SMTP 服务器。相反,此选项应仅在专用服务器上使用。

    如果您使用公共服务器,则无法在端口 25/tcp 上强制执行电子邮件加密。更好的解决方案是禁用来自客户端的 postfix smtpd 守护进程端口 25/tcp 的邮件传递,并启用 postfix 提交守护进程(这是一个特殊的 postfix smtpd 守护进程,仅用于接收来自本地客户端的邮件,在端口 587/tcp 上运行的RFC 4409中描述) . 为此,请设置smtpd_tls_security_level=may并permit_sasl_authenticated从smtpd_recipient_restrictions中删除。在master.cf关于提交守护进程的注释行中:

    submission inet n       -       n       -       -   submission
      -o smtpd_tls_security_level=encrypt
      -o smtpd_sasl_auth_enable=yes
      -o smtpd_recipient_resrictions=permit_sasl_authenticated,reject
    
    • 4
  3. jlupolt
    2010-03-08T14:33:56+08:002010-03-08T14:33:56+08:00

    只是好奇,你怎么说它没有使用 TLS?smtp_tls_loglevel(与 smtpd_tls_loglevel 不同)的默认值为 0,因此默认情况下,您不会在 Postfix 的日志中看到任何关于出站邮件的 TLS 协商的信息。

    如果您设置 smtp_tls_loglevel = 1 或更高,则在发送消息时,您应该在日志中看到如下一行:

    3 月 7 日 22:28:10 rack postfix/smtp[27400]: 初始化客户端 TLS 引擎

    我承认我很懒惰,但除此之外(以及上面的 ms 注释),配置对我来说一目了然。

    • 1

相关问题

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

  • 如何将 SMTP 直接从 IIS 6.0 服务器中继到 Exchange 2003 服务器

  • 使用 telnet 或 netcat 发送带有附件的电子邮件

  • 我应该使用什么策略在 linux 上安装 smtp 服务器?用于多线程服务

  • 适用于 Linux 的 SMTP 服务器,配置简单

Sidebar

Stats

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

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

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +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