1、背景
我用六台虚拟机搭建了一套 Rancher 环境,用于团队开发、测试使用,但是由于版本较老,被安全人员扫出一些漏洞,升级 Rancher 又太麻烦,而且怕万一出问题影响使用,所以只能采用防火墙白名单模式曲线救国了。
2、环境
-
主机信息:
192.168.10.11 - 192.168.10.16 是 Rancher 集群所用六台主机 ip 地址
192.168.10.10 是我个人主机 ip 地址,需要访问 Rancher,所以需要单独添加规则
192.168.10.20 - 192.168.10.100 是团队开发人员的主机 ip 地址,需要访问 Rancher 上部署的服务 -
端口信息:
Rancher 默认使用 30000 - 32767 作为 NodePod 服务对外映射的端口范围
3、防火墙配置
- 开启防火墙服务
systemctl start firewalld systemctl enable firewalld
- 设置拦截规则为全部拒绝
firewall-cmd --permanent --zone=public --set-target=DROP
- 放行 30000 - 32767 范围端口
firewall-cmd --permanent --zone=public --add-port=30000-32767/tcp
- 放行集群间所有端口
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.10.11 accept' firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.10.12 accept' firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.10.13 accept' firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.10.14 accept' firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.10.15 accept' firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.10.16 accept'
- 放行我本机 ip 可以访问 Rancher 的 8080 和 8443 服务
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.10.10 port protocol=tcp port=8080 accept' firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.10.10 port protocol=tcp port=8443 accept'
- 加载配置使生效(不执行则规则不生效)
firewall-cmd --reload
4、效果
在配置防火墙规则前,通过绿盟漏洞扫描工具扫出以下端口的漏洞信息:
端口 | 漏洞信息 |
---|---|
80 | nginx 安全漏洞(CVE-2021-23017) |
443 | nginx 安全漏洞(CVE-2021-23017) |
2379 | SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】 |
2380 | SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】 |
8181 | nginx 安全漏洞(CVE-2021-23017) |
10257 | SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】 |
10259 | SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】 |
20048 | 目标主机showmount -e信息泄露(CVE-1999-0554) |
防火墙规则开启后,30000 以上端口的容器服务不受影响,同事可以正常使用。
Rancher 集群之间不受影响,集群之间所有节点互相无限制。
我访问 Rancher UI 也不受影响,因为我单独把 8080 和 8443 端口对我 ip 放行。
至此,算是暂时可以避免被漏洞扫描出中高危。