适用于 Azure 市场映像的安全建议

在将映像上传到 Azure 市场之前,必须根据几个安全配置要求更新映像。 这些要求有助于在整个 Azure 市场中维护合作伙伴解决方案映像的高级安全性。

在将映像提交到 Azure 市场之前,请确保对映像运行安全漏洞检测。 如果在自己的已发布映像中检测到安全漏洞,则必须及时通知客户该漏洞的详细信息以及如何在当前部署中更正它。

Linux 和开放源代码 OS 映像

类别 勾选标记
安全性 安装 Linux 发行版的所有最新安全修补程序。
安全性 请遵循行业准则,以保护特定 Linux 发行版的 VM 映像。
安全性 限制攻击面,仅保留必要的 Windows Server 角色、功能、服务和网络端口来保持最小的占用空间。
安全性 扫描源代码和生成的 VM 映像中的恶意软件。
安全性 该 VHD 映像只包括必要的锁定帐户,这些帐户没有允许交互式登录的默认密码;没有后门。
安全性 禁用防火墙规则,除非应用程序在功能上依赖于这些规则,例如防火墙设备。
安全性 删除 VHD 映像中的所有敏感信息,例如测试 SSH 密钥、已知 hosts 文件、日志文件和不必要的证书。
安全性 避免使用 LVM。 LVM 容易受到 VM 虚拟机监控程序写入缓存问题的影响,也会增加映像用户数据恢复的复杂性。
安全性 包含所需库的最新版本:
-OpenSSL v1.0 或更大的
Python 2.5 或更高版本(强烈建议使用 Python 2.6+)
- Python pyasn1 包(如果尚未安装)
- d.OpenSSL 1.0 或更高版本
安全性 清除 Bash/Shell 历史记录项。 这可能包括其他系统的私有信息或纯文本凭据。
网络 默认情况下包括 SSH 服务器。 使用以下选项将 SSH 保持活动时间设置到 sshd 配置:ClientAliveInterval 180。
网络 从映像中删除任何自定义网络配置。 删除 resolv.conf:rm /etc/resolv.conf
部署 安装最新的 Azure Linux 代理。
- 使用 RPM 或 Deb 包进行安装。
- 也可使用手动安装进程,但建议首选安装包。
- 如果要从 GitHub 存储库手动安装代理,首先请将 waagent 文件复制到 /usr/sbin 中并(以 root 身份)运行:
# chmod 755 /usr/sbin/waagent
# /usr/sbin/waagent -install
代理配置文件放置于 /etc/waagent.conf
部署 确保 Azure 支持可在需要时为合作伙伴提供串行控制台输出,并为从云存储装载的 OS 磁盘提供足够的超时时间。 将以下参数添加到映像内核引导行:console=ttyS0 earlyprintk=ttyS0 rootdelay=300
部署 OS 磁盘上无需交换分区。 可通过 Linux 代理在本地资源磁盘上请求创建交换。
部署 为 OS 磁盘创建一个根分区。
部署 仅支持 64 位 操作系统。

Windows Server 映像

类别 勾选标记
安全性 使用安全 OS 的基础映像。 用于任何基于 Windows Server 的映像源的 VHD 必须来自通过 Azure 提供的 Windows Server OS 映像。
安全性 安装所有最新的安全更新。
安全性 应用程序不应依赖于受限的用户名,例如 administrator、root 和 admin。
安全性 为 OS 硬盘驱动器和数据硬盘驱动器启用 BitLocker 驱动器加密。
安全性 限制攻击面,仅保留必要的 Windows Server 角色、功能、服务和网络端口来保持最小的占用空间。
安全性 扫描源代码和生成的 VM 映像中的恶意软件。
安全性 将 Windows Server 映像安全更新设置为自动更新。
安全性 该 VHD 映像只包括必要的锁定帐户,这些帐户没有允许交互式登录的默认密码;没有后门。
安全性 禁用防火墙规则,除非应用程序在功能上依赖于这些规则,例如防火墙设备。
安全性 删除 VHD 映像中的所有敏感信息,包括 HOSTS 文件、日志文件和不必要的证书。
部署 仅支持 64 位 操作系统。

即使你的组织没有 Azure 市场中的映像,也请考虑根据这些建议检查 Windows 和 Linux 映像配置。