Azure 市场 镜像的安全建议

在将镜像上传到 Azure 市场 之前,先更新镜像以满足若干安全配置要求。 这些要求有助于在整个 Azure 市场中维护合作伙伴解决方案映像的高级安全性。

在提交到Azure 市场之前,先对你的图片进行安全漏洞检测。 如果您在发布的镜像中检测到安全漏洞,请告知客户漏洞详情及当前部署中如何修复。

Linux 和开源操作系统镜像

类别 勾选
安全性 安装最新的 Linux 发行版安全补丁。
安全性 请遵循行业准则,以保护特定 Linux 发行版的 VM 映像。
安全性 通过仅保留必要的服务、包和网络端口,限制攻击面。
安全性 对源代码和生成的 VM 映像进行恶意软件扫描。
安全性 VHD 映像仅包含必要的已锁定账户,这些账户没有会允许进行交互式登录的默认密码。 不要留后门。
安全性 除非应用程序(例如防火墙设备)依赖这些防火墙规则才能正常运行,否则请禁用这些规则。
安全性 删除 VHD 映像中的所有敏感信息,例如测试 SSH 密钥、已知 hosts 文件、日志文件和不必要的证书。
安全性 不要用LVM。 LVM容易受到虚拟机管理程序写缓存问题的影响,同时还会增加该镜像用户进行数据恢复的复杂性。
安全性 包含支持的必要库版本:
- OpenSSL 1.0及更高级
版本 - Python 3.x,除非你的工作负载需要Python 2.x支持
- python-pyasn1模块(如果还没安装的话)
安全性 清除 Bash 和 shell 历史条目。 这些条目可能包括私人信息或其他系统的明文凭证。
网络 默认情况下包括 SSH 服务器。 在 sshd 配置中使用以下选项配置 SSH keepalive:ClientAliveInterval 180
网络 从映像中删除任何自定义网络配置。 删除 /etc/resolv.confrm /etc/resolv.conf
部署 安装最新的 Azure Linux 代理。
- 通过使用 .rpm or .deb 包安装代理。
- 你也可以使用手动安装流程,但Microsoft推荐安装包。
- 如果你从GitHub仓库手动安装代理,首先将文件复制waagent/usr/sbin。 然后以root方式执行以下命令:
# chmod 755 /usr/sbin/waagent
# /usr/sbin/waagent -install
安装将代理配置文件/etc/waagent.conf放置在 。
部署 配置镜像,使 Azure 支持能够在需要时为合作伙伴提供串行控制台输出,并为从云存储挂载操作系统磁盘提供足够的超时。 在镜像核启动行中添加以下参数: console=ttyS0 earlyprintk=ttyS0 rootdelay=300
部署 不要在操作系统磁盘上创建交换分区。 通过使用 Azure Linux 代理请求在本地资源磁盘上创建交换。
部署 为操作系统磁盘创建单个根分区。
部署 仅支持 64 位 操作系统。

Windows Server 映像

类别 勾选
安全性 使用安全 OS 的基础映像。 对于 Windows Server 映像,请使用 Azure 提供的 Windows Server 操作系统映像中的源 VHD。
安全性 安装最新的安全更新。
安全性 应用程序不应依赖于受限用户名,如管理员、root或管理员。
安全性 为 OS 硬盘驱动器和数据硬盘驱动器启用 BitLocker 驱动器加密。
安全性 通过保持最小的覆盖面积,只启用必要的 Windows Server 角色、功能、服务和网络端口,限制攻击面。
安全性 扫描源代码和生成的 VM 镜像,以检测恶意软件。
安全性 将 Windows Server 镜像安全更新设置为自动安装。
安全性 VHD 映像仅包含必要的已锁定账户,这些账户没有会允许进行交互式登录的默认密码。 不要留后门。
安全性 除非应用程序(例如防火墙设备)依赖这些防火墙规则才能正常运行,否则请禁用这些规则。
安全性 删除 VHD 映像中的所有敏感信息,包括 HOSTS 文件、日志文件和不必要的证书。
部署 仅支持 64 位 操作系统。

即使贵组织在 Azure 市场 中没有映像,也建议参照这些建议检查 Windows 和 Linux 映像配置。