Trend Micro Vision One Service Gateway迁云
Trend Micro Vision One Service Gateway是一个为了本地部署杀毒的中继,连接公司网(内网内的趋势科技产品)以及趋势科技Vision One云上管理。
趋势科技Vision One Service Gateway virtual appliance说明
通常安全类镜像迁移都不做任何改动,直接迁移。但是,以下是从学习角度学习系统镜像。
迁移前方案确认
我们迁移前一般会确认cloud-init, virtio, growpart这些组件是否存在并正常运行。
以下以迁移到阿里云为例。
SGVA本身支持ESXi, Hyper-V以及AWS,Azure云厂商部署方式。本人曾经公司也是在华为云部署趋势科技的解决方案,不是中国亚信解决方案,因为趋势科技中国区在2015年卖给了亚信。)
本次迁移客户提供的是OVA文件,我们将其直接转换为qcow2发现无法运行。故而上传到对象存储然后转换为镜像的方式不可用。阿里云上有SMC VMware Agentless部署,通过将OVA导入到VMware ESXi再通过SMC工具直接上传到阿里云。
迁移前准备
从说明文档可以看出,该应用用户名为admin, 密码为V1SG@2021。但是没有提供root用户密码。直接启动e + rd.break + ctrl x的方式重置密码。
在确认cloud-init, virtio之后,通过下载迁云检查,检查是否满足迁云要求。
迁云检查
这时候发现nvme和CriticalUser报failed, cloud-init报未自启动。
nvme的报错,官网文档有解决方式,但是CriticalUser报缺少polkid用户。
官网上只说root用户检查,也并未提供文档。经过查询发现该用户是系统用户,并且是系统安全性组件用户,我们应该安装这个组件,而非直接添加这个用户。
Polkit(PolicyKit的简称)是一个Unix-like操作系统中用于控制系统级别特权的组件。它允许非特权进程与特权进程进行沟通。
它允许普通用户在需要执行特定的、通常只允许超级用户(如root)执行的操作时,通过认证获取权限。例如,一个普通用户可能需要访问硬件设备、修改系统设置或者管理系统服务。通过使用polkit,系统管理员能够定义具体的策略,控制哪些用户可以执行哪些操作,而无需给他们完全的超级用户权限。
Polkit通过定义一系列的“actions”(动作)和“policies”(策略)来工作。动作通常代表了一个需要特殊权限的操作,而策略则定义了执行这些动作的条件,包括哪些用户可以执行,以及在执行操作时是否需要认证等。
当应用程序尝试执行一个需要特权的操作时,它会通过D-Bus向polkitd守护进程发送请求。polkitd随后根据预先定义的策略来判断请求是否应该被允许,如果需要,它还会调用身份认证代理来提示用户进行认证。
为了方便,我们可以不安装polkit的方式来进行。直接useradd -m user可能会有点问题。最后求助了ChatGPT, 他提供了命令。
1 | useradd -r -d /var/run/polkitd -s /sbin/nologin -U -M -c "PolicyKit Daemon" polkitd |
正确的方式其实是安装polkit服务:
1 | yum install polkit |
cloud-init直接systemctl enable cloud-init失败,原因这个进程被mask(禁止启动了).
1 | systemctl unmask cluod-init |
因为SGVA是静态IP,你可以优先nmtui去改成动态,或者迁云后VNC手动配置。
这些都补全后就可迁云。
SGVA配置
- 使用admin登录后,先通过输入enable进入管理员编辑模式。然后根据实际情况输入指定的IP地址,例如你可以先动态分配后,再使用admin进入去改。(因为VPC gateway的IP你不一定知道)
当然直接nmtui删除原有的并命名新的为eth0 DHCP自动获取也是可行的,只不过不用configure network去配置。(如果命名不一致且之后在admin configure的话,会产生两个network。最新一个被激活。)
1 | # Configure network primary ipv4.static <interface> <ip_cidr> <gateway> <dns1> [dns2] [cni] |
- 使用configure endpoint local.localdomain配置hostname. (你也可以通过root用户使用nmtui修改hostname)
- SGVA只支持UTC, 使用configure ntp xxx.ntp.com 配置ntp同步
- 确认云防火墙、安全组放行。
- 输入connect测试连接。
Hostname问题
首先需要到/etc/cloud/cloud.cfg.d/99-custom-hostname.cfg
将preserve_hostname: 中的true改为 false。
但是实际上改了无效。
Hostname在UI修改无效。经查询log, cloud-init初始化后会读取cache但是并没有更新cache。(而云镜像读取cache后会继续更新cache)
我们从以下命令可以看出,实际上修改是成功的,但是他只读取cache并且不去http再拉取更新cache
1 | # 以AWS为例,阿里云是100.100.100.200 |
需要每次重启前都删除cache才能更新成功。
也就是
1 | cloud-init clean |
如果客户一定要解决这个问题,可以直接通过systemd的方式解决, 以下是通过关机前清除缓存,达成每次启动都会拉取新信息并更新hostname的目的。
1 | # /etc/systemd/system/cloud-init-clean-cache.service |
- 标题: Trend Micro Vision One Service Gateway迁云
- 作者: 暗香疏影
- 创建于 : 2024-03-03 00:00:00
- 更新于 : 2024-03-13 00:00:00
- 链接: https://blog.pptcar.com/2024/03/03/2024-03-03-Trend-Micro-Vision-One-migrate-cloud/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。