18062562566 发表于 2023-1-21 00:46:32

【已记录】bug: 防火墙开关开启后页面刷新显示未开启

本帖最后由 18062562566 于 2023-1-21 12:58 编辑

https://www.bt.cn/bbs/forum.php?mod=image&aid=135562&size=300x300&key=bb38d9f65e8b80d2&nocache=yes&type=fixnone

data['status'] = public.get_firewall_status()

https://www.bt.cn/bbs/forum.php?mod=image&aid=135563&size=300x300&key=68668383bd0da66c&nocache=yes&type=fixnone

这个函数的逻辑为在pid中找到是存在上述路径
而目前较新版本的Linux(ubuntu22、debian、archlinux、等中的执行单独pyvenv的python里面psutil.Process(pid)返回值如下

psutil.Process(pid=xxxxx, name='firewalld', status='sleeping', started='00:36:29')

其中并无路径

包括首页的安全风险也存在这个问题

https://www.bt.cn/bbs/forum.php?mod=image&aid=135564&size=300x300&key=d8d6f595490b7683&nocache=yes&type=fixnone

经测试稳定版,和最新测试版7.9.74均存在这个问题

修改建议:

firewall_files = {'firewalld':"pid"......}

删除前面的路径



大炮运维V587 发表于 2023-1-21 10:32:34

非常感谢您的反馈,当前系统的防火墙是开启的吗?
systemctrl status firewalld
执行这个命令看下系统防火墙的运行状态

18062562566 发表于 2023-1-21 12:54:52

大炮运维V587 发表于 2023-1-21 10:32
非常感谢您的反馈,当前系统的防火墙是开启的吗?

执行这个命令看下系统防火墙的运行状态 ...

当然是开启的。。

18062562566 发表于 2023-1-21 13:02:04

大炮运维V587 发表于 2023-1-21 10:32
非常感谢您的反馈,当前系统的防火墙是开启的吗?

执行这个命令看下系统防火墙的运行状态 ...

如图:

大炮运维V587 发表于 2023-1-21 13:40:30

18062562566 发表于 2023-1-21 13:02
如图:

你这个是arrch架构的服务器吗?

18062562566 发表于 2023-1-21 14:25:48

大炮运维V587 发表于 2023-1-21 13:40
你这个是arrch架构的服务器吗?

不是,是AMD64

大炮运维V587 发表于 2023-1-21 15:15:50

18062562566 发表于 2023-1-21 14:25
不是,是AMD64

操作系统是哪个呢?

18062562566 发表于 2023-1-21 15:34:59

大炮运维V587 发表于 2023-1-21 15:15
操作系统是哪个呢?

Archlinux

大炮运维V587 发表于 2023-1-21 15:59:10

18062562566 发表于 2023-1-21 15:34
Archlinux

这个架构之前说过了,没有做深度兼容的

18062562566 发表于 2023-1-21 16:27:07

大炮运维V587 发表于 2023-1-21 15:59
这个架构之前说过了,没有做深度兼容的

我申明一遍,这个不是系统的问题而是程序逻辑问题,如果想敷衍的话,什么软件只要一更新,那面板就会出现各种奇怪的问题

我用Centos7.9 测试,其运行正常是因为rpm包中servic,e文件 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid 启动路径为/usr/sbin

代码存在逻辑漏洞,/usr/sbin/firewalld':"pid",'/usr/bin/firewalld':"pid"

如果firewalld的service中运行为/usr/bin/firewalld --nofork --nopid....,(某些firewalld二进制包)其py返回值为['/usr/bin/python', '/usr/bin/firewalld', '--nofork', '--nopid'],而实际上/usr/sbin/firewalld文件也是存在的,程序中的逻辑是顺着发现存在文件,则去找pid找路径然后返回/usr/bin/firewalld,所以才会return 0

大炮运维V587 发表于 2023-1-21 16:36:27

18062562566 发表于 2023-1-21 16:27
我申明一遍,这个不是系统的问题而是程序逻辑问题,如果想敷衍的话,什么软件只要一更新,那面板就会出现 ...

首先我们生产环境和测试环境均未有arrch架构的,所以并未对此这个架构有做过兼容,我们使用的x86_64位的架构操作系统,均未复现您反馈的问题,你说的这个程序逻辑问题,这个操作系统都不在我们支持的范围内,也不存在什么逻辑问题了。

18062562566 发表于 2023-1-21 16:42:49

大炮运维V587 发表于 2023-1-21 16:36
首先我们生产环境和测试环境均未有arrch架构的,所以并未对此这个架构有做过兼容,我们使用的x86_64位的 ...

好吧,既然你这么说,那就是这样吧
页: [1]
查看完整版本: 【已记录】bug: 防火墙开关开启后页面刷新显示未开启