教程

iManager安全漏洞解决方案

本篇罗列了一些iManager for Kubernetes常见的安全漏洞,以及解决方案。如遇见相同问题,请参照下文解决:

  1. 针对NFS的漏洞(CVE-1999-0554):目标主机showmount -e信息泄露该如何处理?

    答:可以通过linux的hosts.allow和hosts.deny配合使用,限制可以获取NFS输出列表的IP和用户,从而规避该漏洞。一个IP请求连入,linux的检查策略是先看/etc/hosts.allow中是否允许,如果允许直接放行;如果没有,则再看/etc/hosts.deny中是否禁止,如果禁止那么就禁止连入。

    两个配置文件的关系为:/etc/hosts.allow 的设定优先于/etc/hosts.deny。具体配置步骤如下:

    (1)修改hosts.allow配置文件:

    vim /etc/hosts.allow
    mountd:192.168.13.1   #根据实际需要放行的ip进行设置,多个ip用逗号分割
    #rpcbind: 192.168.13.:allow 整个网段放行
    rpcbind:192.168.13.1:allow

    (2)修改hosts.deny配置文件:

    mountd:ALL  #禁止所有的ip访问nfs服务
    rpcbind:ALL:deny

    (3)修改后无需重启机器即可生效。

  2. 针对MySQL的mariadb版本漏洞,应该如何解决?

    答:该漏洞的解决方法是升级到mariadb镜像的修复版本。具体操作如下:

    获取mariadb修复版本

    (1)拉取镜像:

    docker pull mariadb:10.5.15

    如果是内网环境,需要先在外网拉取到镜像后,保存镜像并拷贝到内网中

    docker save mariadb:10.5.15 -o /opt/maribdb-10115.tar

    (2)导入镜像:

    docker load -i mariadb-10115.tar

    (3)标记镜像(下列命令中的192.168.20.180:5000需替换为您实际镜像仓库的<ip:port>):

    docker tag mariadb:10.5.15 192.168.20.180:5000/supermap/mariadb:10.5.15-amd64

    (4)推送镜像到镜像仓库(下列命令中的192.168.20.180:5000需替换为您实际镜像仓库的<ip:port>):

    docker push 192.168.20.180:5000/supermap/mariadb:10.5.15-amd64

    修改相关服务的mariadb镜像版本

    • 10.2.1及后续版本

    在iManager站点中找到对应GIS站点的服务列表,依次执行以下操作:

    (1)修改imanager-mysql 、bslicense-server服务的编排文件,更新镜像:

    在iManager基础服务列表中分别找到imanager-mysql 、bslicense-server服务,点击编辑,在initContainerscontainers的标签下找到mariadb的镜像路径,将tag修改为新的mariadb镜像tag,修改后点击更新即可。

    (2)修改GIS云套件中ispeco-mysql、iportal-mysql服务的编排文件,更新镜像:

    在iManager的站点中找到对应GIS云套件站点,在云套件服务列表中分别找到ispeco-mysql、iportal-mysql服务,点击编辑,在initContainerscontainers的标签下找到mariadb的镜像路径,将tag修改为新的mariadb镜像tag,修改后点击更新即可。

    (3)更新编排文件后,服务会自动重启。

    • 10.2.0版本及以前版本

    访问 http:// <ip> :31234,前往Kubernetes的dashboard页面进行操作:

    (1)修改supermap命名空间下imanager-mysql 、bslicense-server服务的编排文件,更新镜像:

    Deployments中分别找到imanager-mysql 、bslicense-server服务,点击编辑,在initContainerscontainers的标签下找到mariadb的镜像路径,将tag修改为新的mariadb镜像tag,修改后点击更新即可。

    (2)修改icloud-native-*命名空间下ispeco-mysql、iportal-mysql服务的编排文件,更新镜像:

    Deployments中分别找到ispeco-mysql、iportal-mysql服务,点击编辑,在initContainerscontainers的标签下找到mariadb的镜像路径,将tag修改为新的mariadb镜像tag,修改后点击更新即可。

    (3)更新编排文件后,服务会自动重启。

  3. 11i版本之前,文件上传几乎无限制,对文件系统的安全留下了些许的安全隐患;在11i版本中,文件管理默认提供了对部分脚本文件上传的限制。如果仍不满足客户的上传安全策略,应该如何处理?

    答:用户可根据自己的需要增加对上传文件的类型限制,修改file-manager的文件编排,在对应环境变量中增加文件类型:

    10.2.1及后续版本配置方法

    (1)在iManager服务列表中找到file-manager服务,点击编辑,在编排中找到环境变量UNSUPPORTED_EXTENTIONS,在value中追加需要进行限制的文件类型的后缀名称,以’,‘隔开:

    (2)修改后,点击更新,服务重启后即可生效

    10.2.0及之前版本配置方法

    访问 http:// <ip> :31234,前往Kubernetes的dashboard页面进行操作:

    (1)命名空间选择icloud-native-*,根据实际的云套件的id进行选择;

    (2)在部署中找到file-managerDeployments,点击编辑,在编排中找到环境变量UNSUPPORTED_EXTENTIONS,在value中追加需要进行限制的文件类型的后缀名称,以’,‘隔开;

    (3)修改后,点击更新,服务重启后即可生效。