我的邮件服务器日志中有很多 PAM 身份验证错误。我该如何阻止它?

我的邮件服务器日志中有很多 PAM 身份验证错误。我该如何阻止它?

我需要帮助来查明 Ubuntu 服务器上文件中的一些错误auth.log。几周前,我发现了 上的 SSH 端口 (22) 有大量登录尝试auth.log,因此我更改了 SSH 端口。一周内都没有问题,然后我又发现了通过其他端口进行的大量登录尝试。

PAM 身份验证错误

我得到了很多红色线条的重复(在图片中)。重复的线条如下:

saslauthd[1140]: pam_unix(smtp:auth): check pass; user unknown
saslauthd[1140]: pam_unix(smtp:auth): authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=
saslauthd[1140]: DEBUG: auth_pam: pam_authenticate failed: Authentication failure
saslauthd[1140]: do_auth         : auth failure: [user=roselia] [service=smtp] [realm=mail.mydomain.com] [mech=pam] [reason=PAM auth error]

我可以知道他们正在尝试登录我的邮件服务器(因为领域是mail.mydomain.com),但我无法确切知道他们正在尝试做什么,因为我不知道 PAM 是什么。什么是 PAM?我应该怎么做才能阻止这些在我的邮件服务器(端口 25)上的身份验证尝试?

我偶尔也会收到一些与auth.logPAM 相关的 CRON 日志,如果有人能告诉我这些含义就太好了:

CRON[32236]: pam_unix(cron:session): session opened for user root by (uid=0)
CRON[32235]: pam_unix(cron:session): session opened for user root by (uid=0)
CRON[32236]: pam_unix(cron:session): session closed for user root
CRON[32235]: pam_unix(cron:session): session closed for user root

答案1

首先,这在邮件服务器上并不罕见。 每一个如果端口 25 暴露在网络上,互联网上的邮件服务器就会看到这些。甚至我工作场所的邮件网关和邮件服务器也会受到这些攻击,原因是许多过滤和阻止这些尝试的方法是网络边界上的 IDS/IPS(入侵检测/预防系统),它参考许多 OSINT(开源情报)来源来创建一组基于信誉的恶意 IP,并进行阻止。其中一些探测成功通过,但尝试时不会成功。

最有可能的是,这不是针对您的服务器的有针对性的暴力攻击,而是“互联网的扫描器和探测器”对每个面向互联网的 SMTP 服务器所做的工作。这些可能是垃圾邮件机器人试图探测开放中继,如果他们找不到开放中继,他们可能会进行探测以尝试获取帐户访问权限,以便将 SMTP 服务器用作邮件中继。或者它是一个服务扫描器,试图查看您是否使用了任何“弱密码”,以便他们可以利用这些密码,然后利用您的服务器通过您的邮件服务器发送他们自己的邮件。

只要您遵循其他安全措施,例如设置强密码、不向用户提供访问权限(除非他们需要)等,您就应该能够确保他们不会闯入您的服务器。我不太担心身份验证失败,而更担心身份验证是否成功。

另一个安全选项是设置 Fail2Ban,它可以用于禁止用户,但是我还没有让它正常运行,也没有时间深入研究如何让 fail2ban 在我的邮件服务器上工作,以便在 IP 多次无法验证时自动禁止它们。不过,请谨慎使用此功能,因为它也可以阻止如果你不小心的话。(一旦我有了一个“有效的” Fail2Ban 配置,我会将其作为对这个答案的评论分享,但让它按照我想要的方式运行是比较棘手的)


至于cron:session中的条目auth.log,这只是一个提示,表明系统的cron守护进程正在以 root 用户身份按照为 cron 作业设置的计划cron/etc/crontab/etc/cron.{d,daily,hourly,monthly,weekly}/*和用户 crontab 运行任务(其中 crontab 设置为以 运行)。这些通常都没问题,只要您实际检查 root 帐户下的每个 crontab,以确保没有任何“坏”程序以 的身份自动运行。rootrootroot

相关内容