处理SMTP无效的命令攻击

我们的一个半忙电子邮件服务器(sendmail)在过去几天里有很多来自发出垃圾命令的主机的入站连接。

在过去的两天里:

  • 传入的smtp连接与来自39,000个唯一IP的无效命令
  • 这些IP来自世界各地的不同范围,而不仅仅是我可以阻止的几个networking
  • 邮件服务器为整个北美洲的用户服务,所以我不能阻止来自未知IP的连接
  • 示例坏命令: http : //pastebin.com/4QUsaTXT

除了惹恼我之外,我不确定有人试图用这个攻击来完成什么。

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

在开始吐出错误之后,至less有一个选项可用于caching这些连接。 有效和乖巧的客户不应该陷入这个难题。

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 

您还可以使用GreetPausefunction,这将拒绝这些客户端,因为他们不太可能尊重暂停。 你可以在这里阅读更多关于它的信息: 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 

我会安装fail2ban并阻止他第一个无效的命令。