宝塔51特惠活动,企业版1099元/年,送SSL证书,最高立减2万元!查看活动
当前位置:论坛首页 > BUG提交 > Linux面板

【已解答】强烈建议将nginx防火墙封锁的IP,禁止所有协议。

发表在 BUG提交2022-10-18 13:24 [复制链接] 12 7243

强烈建议将nginx防火墙封锁的IP,禁止所有协议。

1、现在的情况是被防火墙封锁的IP,只是由nginx返回了错误代码,tcp、icmp、udp之类的都是正常响应,虽然减少了一些资源占用,但是遇到较大的CC攻击,会占用非常高的tcp连接,导致响应异常。

2、之前发过一贴,你们的回复是封锁的IP已经加到ipset了,但实际测试几台centos 7服务器,都只是在nginx封锁,服务器依然接受tcp连接、依然可以ping通服务器。在centos 7系统上,应该使用firewalld的ipset,而不是现在的ipset + iptables ,在实际测试中firewalld下的ipset是有效的。

使用道具 举报 只看该作者 回复
发表于 2022-10-18 15:14:53 | 显示全部楼层
您好,
只要在ipset 里面就已经封锁了。tcp链接在的因为还没有到timeout的时间。
把其他的的协议加入进去,暂时不会加入。
暂时是封锁了那个IP对80 和443端口的访问
使用道具 举报 回复 支持 反对
发表于 2022-10-18 20:47:47 | 显示全部楼层
运维风光 发表于 2022-10-18 15:14
您好,
只要在ipset 里面就已经封锁了。tcp链接在的因为还没有到timeout的时间。
把其他的的协议加入进去, ...

针对你说的封锁IP后是封锁了那个IP对服务器80、443端口的访问这一说法。

实测发现,被封锁的IP对服务器进行80、443端口tcping测试,依然是通的。虽然获取不到网站内容,但是这样是不是可以理解为针对网站的CC攻击在被封锁后,变成了普通的TCP攻击?只要并发足够大,就可造成服务瘫痪。

QQ截图20221018202401.png


前段时间遇到了因为这个导致的服务器瘫痪,发现被封锁的IP,依然长期占用tcp连接和带宽,由于并发很大,导致服务器最终也是瘫痪的,直到我把这些封锁的IP,手动在 firewalld 里面 drop 掉,才得以恢复。

不清楚你们是否明白我的意思,我再总结下吧:

nginx防火墙封掉的是http的正常内容,nginx的活动连接依然非常高,因为依然在响应,被封锁的IP虽然得不到http内容,但tcp依然是允许的,会继续占用大量tcp资源、带宽资源,只要攻击量比较大,服务器最终也是瘫痪(带宽被挤满)。
使用道具 举报 回复 支持 反对
发表于 2022-10-19 10:26:35 | 显示全部楼层
我拿了一台Centos7.9 的机器做测试

QQ截图20221019102450.png


IPset 已经绑定上去了。

你可以通过命令查看他是否允许正常。如果iptables 锁的情况下也是有可能发生的
/etc/init.d/bt_ipfilter status


使用道具 举报 回复 支持 反对
发表于 2022-10-19 10:28:10 | 显示全部楼层
ipset 的使用。还需要保准防火墙是启动状态
使用道具 举报 回复 支持 反对
发表于 2022-10-19 22:54:45 | 显示全部楼层
宝塔技术-小强 发表于 2022-10-19 10:26
我拿了一台Centos7.9 的机器做测试

这边的情况是这样的:

1、/etc/init.d/bt_ipfilter status 的状态是运行中。
2、firewalld的状态也是运行中。
3、封锁的IP在 ipset list 命令里也能查到。

但封锁的IP除了nginx上的网站无法访问以外,其他都是通的(tcp通,icmp通,宝塔面板也可以正常访问)。

另外,你说的 ipset 的使用需要确保防火墙是启动状态,是指的 firewalld 还是 iptables ?centos 7 默认是 firewalld。
使用道具 举报 回复 支持 反对
发表于 2022-10-20 11:44:22 | 显示全部楼层
昨天的王者 发表于 2022-10-19 22:54
这边的情况是这样的:

1、/etc/init.d/bt_ipfilter status 的状态是运行中。

您好,封锁了80和443端口的访问,其他端口是可以访问的
firewalld 底层也是使用iptables的。
使用道具 举报 回复 支持 反对
发表于 2022-10-20 13:34:01 | 显示全部楼层
运维风光 发表于 2022-10-20 11:44
您好,封锁了80和443端口的访问,其他端口是可以访问的
firewalld 底层也是使用iptables的。 ...

现在的情况是封锁IP后,80和443端口 tcping测试都是通的。

部署过两个centos 7系统,都是封锁IP后,tcping测试80和443端口通的。
使用道具 举报 回复 支持 反对
发表于 2022-10-20 14:39:40 | 显示全部楼层
昨天的王者 发表于 2022-10-20 13:34
现在的情况是封锁IP后,80和443端口 tcping测试都是通的。

部署过两个centos 7系统,都是封锁IP后,tcpi ...

您好,可以给您的信息我们检查下吗?
将您的服务器ssh信息,面板登录资料按照下面的格式发到这个邮箱:
1096308852@qq.com
服务器先做快照备份。
我会排查看下是什么问题

格式(必须复制帖子链接,不然不知道邮件来源):

  1. 帖子标题(遇到什么问题):
  2. 帖子链接:https://www.bt.cn/bbs/thread-xxxxxxxx
  3. SSH账号密码及端口(Windows服务器请发送远程连接):
  4. 宝塔面板登录链接地址及账号密码:
复制代码


可能需要排队,将在3个工作日内处理,请耐心等待
使用道具 举报 回复 支持 反对
发表于 2022-12-17 13:17:18 | 显示全部楼层
同样的问题封锁了的ip,照样攻击我的服务器,封锁就一点用都没有
使用道具 举报 回复 支持 反对
发表于 2022-12-17 16:20:34 | 显示全部楼层
71268126 发表于 2022-12-17 13:17
同样的问题封锁了的ip,照样攻击我的服务器,封锁就一点用都没有

您好,nginx防火墙生效了吗?模拟测试下,使用的版本是多少?
使用道具 举报 回复 支持 反对
发表于 2022-12-19 16:15:16 | 显示全部楼层
运维风光 发表于 2022-12-17 16:20
您好,nginx防火墙生效了吗?模拟测试下,使用的版本是多少?

肯定生效啊。我的问题跟楼主的问题一样。我发了一个帖子,你可以看一下,有截图
使用道具 举报 回复 支持 反对
发表于 2022-12-20 09:10:29 | 显示全部楼层
其他帖子已回复
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析
快速回复 返回顶部 返回列表