教程
iManager安全漏洞解决方案
本篇罗列了一些iManager常见的安全漏洞,以及解决方案。如遇见相同问题,请参照下文解决:
-
OpenSSL代码问题漏洞(CVE-2020-1967)
解决方案:升级部署iManager机器的OpenSSL到v1.1.1d版本,下载地址https://www.openssl.org/source/。
-
OpenSSH用户枚举漏洞(CVE-2018-15919)
解决方案:升级部署iManager机器的OpenSSH到v7.8版本以上。
-
Hashicorp Consul Web UI和API访问
解决方案(示例以Ubuntu为例,如果您使用的其他系统,请根据系统替换命令):
(1)安装防火墙:
sudo apt-get install ufw
(2)开启防火墙:
//开启了防火墙,并在系统启动时自动开启。 sudo ufw enable //关闭所有外部对本机的访问,但本机访问外部正常。 sudo ufw default deny
(3)查看iManager容器的IP段:
docker exec -it imanager bash
(4)增加防火墙规则,仅允许部署iManager服务的IP以及iManager容器的IP段访问服务;
//允许iManager所在服务器IP访问,请将下面命令中的<ip>替换为您实际环境的IP。 sudo ufw allow from <ip> //允许iManager容器的IP段访问,请将下面命令中的172.18.0.3/16替换为您查到的IP段。 sudo ufw allow from 172.18.0.3/16
(5)开放8390端口:
sudo ufw allow 8390
注意:
若防火墙规则未起效,可重启机器。(6)使用命令查看docker的防火墙规则:
iptables -L DOCKER -n --line-number
(7)修改防火墙规则,只允许某个ip访问容器的9200端口(请将下面命令中的IP 192.168.11.145 替换为您部署iManager服务的机器IP):
iptables -R DOCKER 11 -p tcp -m tcp -s 192.168.11.145 --dport 9200 -d 172.18.0.13 -j ACCEPT
(8)修改防火墙规则,只允许某个ip段访问容器的9200端口(请将下面命令中的IP段 192.168.11.145/24 替换为您部署iManager服务的机器IP段):
iptables -R DOCKER 11 -p tcp -m tcp -s 192.168.11.145/24 --dport 9200 -d 172.18.0.13 -j ACCEPT
-
Docker Remote Api未授权漏洞
解决方案:
(1)生成证书,请参考Docker官方文档;
(2)打开iManager环境变量配置文件。在iManager安装目录下(iManager安装包解压后的文件夹),进入目录supermap-imanager-docker,打开.env文件:
vi .env
(3)在环境变量中配置存放证书的路径。配置变量DOCKER_CERTS_PATH,可自行指定证书的存放路径,或使用默认路径,默认为/etc/imanager/docker-cert。
(4)在步骤(3)配置的证书存放路径下,创建文件夹,文件夹需要以提供iManager服务的Docker环境的主机IP命名;
(5)将证书放入步骤(4)创建的文件夹中。
例如,提供iManager服务的Docker主机IP为192.168.17.148,则在证书存储路径下创建文件夹“192.168.17.148”,并将证书ca.pem,key.pem,cert.pem放入文件夹“192.168.17.148”中:
注意:
若iManager服务由多个拥有Docker环境的机器提供,则需创建多个以机器IP命名的文件夹,并将证书放入对应的文件夹中。 -
本地Docker配置stl访问
(1)在docker.service或者docker.conf文件的配置中加入如下参数:
--tlsverify --tlscacert=/etc/docker/ca.pem --tlscert=/etc/docker/server-cert.pem --tlskey=/etc/docker/server-key.pem
(2)更新配置,并重新启动docker服务,输入如下命令:
systemctl daemon-reload systemctl restart docker