加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – FreeBSD中的简单反DDoS保护

发布时间:2020-12-13 15:58:23 所属栏目:PHP教程 来源:网络整理
导读:我在FreeBSD上从数据中心向我的Web服务器提出了很多请求,有时我的Web项目存在很多性能问题.添加到IPFW列表中所有IP数据中心都是不可能的. 我不想使用大型Anti-DDoS系统,而是想创建bash脚本以获取与我的服务器的连接,按IP过滤并添加到IPFW表IP地址,现在连接超
我在FreeBSD上从数据中心向我的Web服务器提出了很多请求,有时我的Web项目存在很多性能问题.添加到IPFW列表中所有IP数据中心都是不可能的.

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

> 0< 5: - 没什么
> 5< 10: - 表1(禁止15分钟)
> 10< 15: - 表2(禁止30分钟)
> 15< 20: - 表3(禁止60分钟)
>更多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

解析日志文件实在是太糟糕了,因为日志文件有时很大,而且我必须对其他资源进行解析和排序.

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

我还需要注意其他任何考虑因素吗?

解决方法

在PHP中完成这项工作将是一个坏主意;如果您对下面提到的脚本接口有任何经验,我强烈推荐;否则你除了PHP之外别无选择,只需要一点点麻烦就可以了.

与下面列出的问题相比,崩溃PHP脚本不是一个大问题.

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读