处理 SMTP 无效命令攻击

处理 SMTP 无效命令攻击

我们的一个半繁忙的邮件服务器 (sendmail) 在过去几天里收到大量来自发出垃圾命令的主机的入站连接。

过去两天:

  • 来自 39,000 个唯一 IP 的传入 smtp 连接带有无效命令
  • 这些 IP 来自世界各地,不只是我可以阻止的几个网络
  • 该邮件服务器为整个北美的用户提供服务,因此我无法阻止来自未知 IP 的连接
  • 错误命令示例: http://pastebin.com/4QUsaTXT

我不确定某人除了惹恼我之外还想通过这次攻击实现什么目的。

有什么想法这是关于什么的,或者如何有效地处理它?

答案1

在这些连接开始产生错误后,至少有一个选项可以对其进行延迟处理。有效且行为良好的客户端不应该落入这种延迟处理。

dnl # New option in v8.14.0
dnl # Override default limit (of 20) NOOPs (invalid or unsupported SMTP
dnl #   commands) before daemon will throttle connection by slowing
dnl #   error message replies (similar to "confBAD_RCPT_THROTTLE")
define(`MaxNOOPCommands', `5')dnl

您还可以使用 GreetPause 功能,该功能将拒绝这些客户端,因为它们不太可能遵守暂停。您可以在此处阅读更多相关信息:http://www.deer-run.com/~hal/sysadmin/greet_pause.html

dnl # New feature in v8.13.1 (not listed in Companion)
dnl # Set time in milliseconds before sendmail will present its banner
dnl #   to a remote host (spammers won't wait and will already be
dnl #   transmitting before pause expires, and sendmail will
dnl #   refuse based on pre-greeting traffic) 5000=5 seconds
dnl # NOTE: Requires use of FEATURE(`access_db') and "GreetPause" entries
dnl #       in access table
FEATURE(`greet_pause',`5000')dnl

答案2

我会安装失败2ban并在第一个无效命令时阻止。

相关内容