Postfix:通过端口25禁用身份验证


12

在邮件服务器上使用时PostfixIMAP通常至少打开3个端口

25 smtp   : incoming emails from anybody (whole internet)
465 smtps : outgoing emails from authorized users (to the whole intenet)
993 imap  : imap for authorized users

我想配置后缀,以便授权用户只能通过465发送电子邮件。默认情况下不是这样。用户还可以通过端口25使用STARTTLS。我想禁用它。

我的计划是使用25号端口向公众发送电子邮件

为我的用户使用端口465(我可以使用防火墙允许特定的IP范围,也可以使用自定义端口)

这将防止端口25受到蛮力攻击的利用,在这种情况下,黑客会尝试猜测用户/密码。端口25根本不会接受用户/密码,即使它是有效的也是如此。并且由于端口465受防火墙限制,因此黑客也无法利用465。

在Postfix中可以吗?

我在Debian Wheezy上使用Postfix 2.9.6-2


1
我知道这是旧的,但是您应该始终允许端口587(提交),因为这是正确的端口。
lbutlr 16-3-20

Answers:


14

警告:
该请求未遵循最佳安全实践,因为您在主邮件中继端口上禁用了TLS(加密),从而使通过该端口发送的数据暴露给第三方侦听器和/或进行中的修改。下面的答案满足了该请求,但是最佳实践也要求端口25连接也使用STARTTLS。

master.cf文件(通常为/etc/postfix/master.cf)控制特定Postfix服务的启动和配置。根据文档,该文件中的此类配置将完成您想要的操作:

smtp  inet  n  -  -  -  -  smtpd
  -o smtpd_tls_security_level=none
  -o smtpd_sasl_auth_enable=no

smtps inet  n  -  -  -  -  smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

此配置关闭端口25上的身份验证和STARTTLS选项。它打开端口465上的STARTTLS选项,需要使用STARTTLS,启用身份验证,并且仅在身份验证后才允许客户端连接。

您可能还会研究smtpd_tls_wrappermode强制真TLS连接(而不是STARTTLS连接)的选项。

请注意,这种配置会使Postfix配置有些难以遵循(可以在中设置选项main.cf,然后在中覆盖master.cf)。另一个选项是运行多个Postfix实例,每个实例都有自己的main.cf配置文件来指定这些选项。


1
如果在中设置了冲突的选项,则main.cf优先选择哪个选项?从您所说的来看,似乎master.cf覆盖了main.cf。这个对吗?
Martin Vegter 2014年

1
这些-o选项将覆盖配置文件中的选项。该master.cf文件协调进程的启动,如果您要使用-o选项手动启动进程,则它们将覆盖指定的任何配置文件。
2014年

-o smtpd_tls_security_level=none如果某些服务器尝试将电子邮件或其他服务器到服务器的SMTP连接中继到端口25,是否会杀死TLS /将所有内容设置为纯文本格式?
TCB13 '18 -2-11

-o smtpd_tls_security_level=none确实会阻止STARTTLS在端口25上工作,从而使所有通信都以纯文本格式进行。这就是问题的要求。
hrunting

由于上述原因,我仍然对此表示反对。符合OP的要求很好,但是您应该添加一个大写字母警告,这是一个非常糟糕的主意。(请添加一下,让我支持您; ;
ntninja
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.