【问题标题】:Simple anti DDoS protection in FreeBSD [closed]FreeBSD 中的简单反 DDoS 保护 [关闭]
【发布时间】:2015-10-10 14:01:51
【问题描述】:

我在 FreeBSD 上从数据中心向我的 Web 服务器发送了很多请求,有时我的 Web 项目会出现很多性能问题。将所有 IP 的数据中心添加到 IPFW 列表是不可能的。

我不想使用大型 Anti-DDoS 系统,而是想创建 bash 脚本来获取与我的服务器的连接、按 IP 过滤并添加到现在连接超过 5 个线程的 IPFW 表 IP 地址。或者可能在 IPFW 上创建多个表,并按表添加:

  • 0
  • 5
  • 10
  • 15
  • 更多 20:- 表 4(1 天禁令)

按 IP 过滤应该通过主机名跳过 Google IP 和其他搜索引擎 ip。

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

netstat -nptcp | egrep -v 'Active|Address' | awk '{print $5}' | cut -d. -f 1-4 | sort | uniq -c | sort -n | tail -n 30

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

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

还有其他需要注意的事项吗?

【问题讨论】:

    标签: php bash freebsd ddos ipfw


    【解决方案1】:

    在 PHP 中做这项工作是个坏主意;如果您对下面提到的脚本接口有任何经验,我强烈建议您这样做;否则你别无选择,只有 PHP 可以轻松完成。

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

    1. 您必须为您的 PHP 脚本授予超级用户权限,以便它可以访问系统资源,如果您的服务器面向 Web,这可能会非常糟糕。
    2. PHP 将无法执行系统级任务,例如访问网络连接列表、过滤并将它们添加到防火墙配置以进行阻止等;这样做会很痛苦。

    您可能想尝试 BASH/Perl/Python,无论您觉得合适,并在沙盒模型中创建一个单独的脚本(创建一个用户并在 sudoers 中为其添加权限,仅用于所需的任务,并使其远离用户在互联网上运行网络服务器或任何其他任务)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-18
      • 2017-03-26
      • 2020-12-01
      • 1970-01-01
      • 2021-08-29
      • 1970-01-01
      • 2016-01-19
      • 1970-01-01
      相关资源
      最近更新 更多