首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DDoS中简单的抗FreeBSD保护

问DDoS中简单的抗FreeBSD保护
EN

Stack Overflow用户
提问于 2015-10-10 14:01:51
回答 1查看 1.4K关注 0票数 5

我有很多来自数据中心对FreeBSD上的web服务器的请求,有时它在我的web项目中有很多性能问题。在IPFW列表中添加所有IP的数据中心是不可能的。

我不想使用大型的反DDoS系统,而是创建bash脚本来连接到我的服务器,通过IP过滤并添加到IPFW表IP地址,这些地址现在连接在超过5个线程中。或者可能在IPFW上创建几个表,并按表添加:

  • 0< 5:-无
  • 5< 10:-表1 (15分钟禁令)
  • 10 < 15:-表2 (30分钟禁令)
  • 15 < 20:-表3 (60分钟禁令)
  • 20人以上:-表4 (1天禁令)

Filter by IP应该跳过Google和其他搜索引擎ip的主机名。

这是我用于grep连接和排序的脚本:

代码语言:javascript
复制
netstat -nptcp | egrep -v 'Active|Address' | awk '{print $5}' | cut -d. -f 1-4 | sort | uniq -c | sort -n | tail -n 30

解析日志文件太糟糕了,因为日志文件有时很大,而且我必须要额外的资源web服务器来解析和排序。

所以,我想过,也许可以在PHP上创建这个脚本?但是,如果crashES,服务器将不会受到保护。

我还需要注意其他的考虑吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-10 16:47:46

在PHP中做这个工作是个坏主意;如果您对下面提到的脚本接口有任何经验,我强烈建议您这样做;否则,除了PHP之外,您别无选择,在PHP中可以不费吹灰之力就可以完成它。

与下面列出的问题相比,PHP脚本的崩溃并不是什么大问题。

  1. 您必须将超级用户权限授予您的PHP脚本,以便它能够访问系统资源,如果您的服务器面临web问题,这可能是非常糟糕的。
  2. PHP将无法完成系统级别的任务,如访问网络连接列表、过滤并将它们添加到防火墙配置中以便阻塞,这样做会非常痛苦。

您可能想尝试使用BASH/Perl/Python,无论您喜欢哪种方式,都可以在沙箱模型中创建一个单独的脚本(创建一个用户并在sudoers中为它添加只用于所需任务的权限,并使其远离运行keep服务器或互联网上任何其他任务的用户)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33054796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档