如何停止或处理垃圾邮件服务器连接

时间:2016-07-26 04:18:20

标签: server

我在线查看,似乎找不到太多类似的故事,这是令人惊讶的。

我从提供商那里租了一台服务器,然后在那里运行我的服务器软件。我的iOS应用程序连接到它。它已经持续了一个多月没有任何问题,并且每天可以获得数十个连接。

大约30个小时前开始,有人开始每2秒钟连接一次。始终相同的IP。我怀疑他把手机放了30个小时?我的应用程序每日只有<100个用户,所以我没有竞争对手可以从中获益。

我终于使用iptable阻止了他的服务器。从软件工程方面来看,防止这类事情的常见做法是什么?我是否应该从服务器端跟踪并拒绝接受重复连接?我是否使用某种登录/握手,或者我该怎么办?

为了澄清,我不使用http或apache。我使用TCP上的自定义协议编写了​​一个基于BSD套接字的服务器。我还有一个加密哈希,如果消息没有正确散列,它将终止连接。

编辑:我在连接日志中计算了一下。在过去的30个小时内,共有3个IP连接10,000次。其中2人已经停止了。所有这些都来自亚洲一个我不会命名的小国。

1 个答案:

答案 0 :(得分:0)

您需要在您的应用程序中实现某种抗机器人:

  • 如果已经从同一IP地址建立了
  • 如果最近1分钟,5分钟和30分钟内此IP地址的连接总数超过预定义阈值,则丢弃传入连接(是的,您需要跟踪每个IP地址的连接数)。

在高负载环境中使用的更复杂的抗机器人不仅可以检测和阻止单个IP地址,还可以检测和阻止整个IP地址范围(网络)。而且最好不要盲目地断开连接,而是将客户端重定向到验证码。

无论如何,没有完美的解决方案来区分机器人和普通客户:要么放弃一些好客户,要么允许一些机器人筛选你的反机器人。