我已经安装了带有 dovecot 的 postfix,一段时间后我发现互联网上有大量身份验证失败。我已经安装并配置了 fail2ban,并且每个未经身份验证的 IP 都被禁止,但也许还有其他解决方案,或者我做错了什么。
日志示例:
Mar 8 08:48:01 somehostname auth: pam_unix(dovecot:auth): authentication failure; logname= uid=0 euid=0 tty=dovecot ruser=news rhost=45.88.90.208 user=news
还有其他解决方案可以禁用来自互联网的客户端登录/连接并仅启用来自本地网络的登录/连接吗? - 就我而言,无需从互联网检索客户的电子邮件。 也许还有其他解决方案?
Postfix main.cf 中的 Dovecot 示例配置:
smtpd_sasl_type = dovecot
提前谢谢你 AD
答案1
您可以完全禁用 SMTP 端口上的 SASL 身份验证25
,因为经过身份验证的用户应该使用提交又名SMTP 提交的隐式 TLS(RFC 8314, 3.3), 反而。
在默认情况
main.cf
下smtpd_sasl_auth_enable = no
)master.cf
覆盖例如/中的 SASL 身份验证相关设置smptd
,例如,smtps
465
smtps inet n - - - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_sasl_type=dovecot -o smtpd_sasl_path=private/auth -o smtpd_sender_login_maps=hash:/etc/postfix/virtual -o smtpd_sender_restrictions=reject_sender_login_mismatch -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o { smtpd_recipient_restrictions= reject_non_fqdn_recipient, reject_unknown_recipient_domain, permit_sasl_authenticated, reject }
465
之后,您可以在防火墙中限制本地网络的端口。
答案2
您可以使用 iptables 将 imap 端口 143,465,587,993 限制到仅限 LAN。