基于centos&redhat&rocky linux系统的kvm虚拟化安全防护指南

第一章、介绍

1.1 虚拟化和非虚拟化环境

虚拟化环境为发现新的攻击向量和改进现有漏洞利用提供了机会,这些漏洞以前可能没有为攻击者带来价值。因此,在创建和维护虚拟机时,必须采取措施确保物理主机和在其上运行的客户机的安全性。

非虚拟化环境

在非虚拟化环境中,主机在物理上彼此分离,每个主机都有一个独立的环境,该环境由 Web 服务器或 DNS 服务器等服务组成。这些服务直接与它们自己的用户空间、主机内核和物理主机进行通信,从而直接向网络提供服务。

非虚拟化环境

 

虚拟化环境

在虚拟化环境中,可以将多个操作系统(作为虚拟机)托管在单个主机内核和物理主机中。

虚拟化环境

 当服务未虚拟化时,计算机在物理上是分开的。因此,任何漏洞通常都包含在受影响的计算机上,但网络攻击除外。当服务在虚拟化环境中组合在一起时,系统中会出现额外的漏洞。如果虚拟机管理程序中存在可被客户机实例利用的安全漏洞,则此客户机可能能够攻击主机以及在该主机上运行的其他客户机。

1.2 为什么虚拟化安全很重要

在基础架构中部署虚拟化可以带来许多好处,但也可能带来新的风险。部署虚拟化资源和服务时,应遵循以下安全注意事项:

  • 主机和虚拟机管理程序成为主要目标;它们通常是用户和数据的单点故障。

  • 虚拟机可能会以不良方式相互干扰。如果没有适当的访问控制来帮助防止这种情况,则恶意虚拟机可以绕过易受攻击的虚拟机管理程序,并直接访问物理主机系统上的其他资源,例如其他虚拟机的存储。

  • 资源和服务可能变得难以跟踪和维护;随着虚拟化系统的快速部署,对资源管理的需求也随之增加,包括足够的修补、监控和维护。

  • 存储等资源可以分布在多台计算机之间,并依赖于多台计算机。这可能导致环境过于复杂,以及系统管理和维护不善。

  • 虚拟化并不能消除环境中存在的任何传统安全风险;必须保护整个解决方案堆栈,而不仅仅是虚拟化层。

本指南旨在通过提供一些针对红帽企业 Linux 的虚拟化推荐实践来帮助您降低安全风险,这些实践将帮助您保护虚拟化基础架构。

第二章、宿主机安全

在 Red Hat Enterprise Linux 系统上部署虚拟化技术时,宿主机负责管理和控制对物理设备、存储和网络的访问,同时也负责管理和控制对所有虚拟化虚拟机的访问。如果宿主机系统遭到入侵,虚拟机及其数据也会变得容易受到攻击。

因此,保护红帽企业 Linux 宿主机系统是确保虚拟化平台安全的第一步。

2.1 保护宿主机物理机 

以下任务和提示可以帮助您保护和确保 Red Hat Enterprise Linux 主机的可靠性,以及提高性能。

  • 确保 SELinux 已针对您的安装进行了正确配置,并在强制模式下运行:

# setenforce 1

 除了是一种良好的安全实践之外,sVirt 提供的高级虚拟化安全功能还依赖于 SELinux。

  • 删除或禁用任何不必要的服务,例如 AutoFSNFSFTPHTTPNIS、​​​​​​​ sendmailtelnetd
  • 仅在服务器上添加平台管理所需的最小用户帐户数,并删除不必要的用户帐户。将对系统的直接访问限制为仅供需要管理系统的用户访问。请考虑禁止共享 root 访问权限,而是使用一些工具,例如根据管理员的管理角色向管理员授予 sudo特权访问权限。
  • 避免在主机上运行任何不必要的应用程序。在主机上运行应用程序可能会影响虚拟机性能,并可能影响服务器稳定性。任何可能导致服务器崩溃的应用程序也将导致服务器上的所有虚拟机失败。此外,易受攻击的应用程序可能成为攻击主机的媒介。
  • 使用中心位置进行虚拟机安装和映像。虚拟机映像应存储在 /var/lib/libvirt/images/ 下。如果对虚拟机映像使用不同的目录,请确保将该目录添加到 SELinux 策略中,并在开始安装之前重新标记它。强烈建议在中心位置使用可共享的网络存储。
  • 仅运行支持客户机系统的使用和管理所需的服务。如果您需要提供其他服务,例如文件或打印服务,请考虑在 Red Hat Enterprise Linux 客户机上运行这些服务。
  • 确保在主机系统上 启用了审计,并且已将 libvirt 配置为生成审计记录。启用审计后,libvirt 会为客户机配置和启动/停止事件的更改生成审计记录,这可以帮助您跟踪客户机的状态。此外,还可以使用专用实用程序查看 libvirt 审计事件。有关更多信息,请使用以下命令。 auvirt man auvirt
  • 确保系统的任何远程管理仅通过安全的网络通道进行。SSH 等实用程序和 TLS 或 SSL 等网络协议提供身份验证和数据加密,以帮助确保只有经过批准的管理员才能远程管理系统。
  • 确保防火墙已针对您的安装正确配置,并在启动时激活。只应允许使用和管理系统所需的网络端口。
  • 不要授予虚拟机直接访问整个磁盘或块设备的权限(例如, /dev/sdb);相反,请使用分区(例如, /dev/sdb1 )或 LVM 卷进行客户机存储。​​​​​​​
  • 当 SR-IOV 对虚拟机不可用时,连接 USB 设备、物理功能或物理设备可以提供对设备的访问权限,这足以覆盖该设备的固件。这带来了一个潜在的安全问题,攻击者可能会使用恶意代码覆盖设备的固件,并在虚拟机之间或主机启动时移动设备时造成问题。
    建议在适用的情况下使用 SR-IOV 虚拟功能设备分配。

注意

有关主机系统的更多安全提示和说明,请参阅《Red Hat Enterprise Linux 安全指南》。

2.2 客户端访问控制 

libvirt 的客户端访问控制框架允许系统管理员在客户端用户、托管对象和 API 操作之间设置细粒度的权限规则。这允许将客户端连接锁定为一组最小的权限。
在默认配置中,libvirtd守护程序有三个级别的访问控制:
  1. 所有连接都以未经身份验证的状态开始,其中唯一允许的 API 操作是完成身份验证所需的操作。
  2. 成功进行身份验证后,连接要么对所有 libvirt API 调用具有完全、不受限制的访问权限,要么根据客户端连接发起的套接字被锁定为仅“只读”操作。
  3. 访问控制框架允许经过身份验证的连接具有由管理员定义的细粒度权限规则。
libvirt 中的每个 API 调用都有一组权限,这些权限将根据正在使用的对象进行验证。如果在 API 调用中设置了某些标志,则还将检查更多权限。除了检查传入 API 调用的对象外,某些方法还将过滤其结果。

2.2.1 访问控制驱动程序 

访问控制框架被设计为一个可插拔系统,以实现未来与任意访问控制技术的集成。默认情况下,使用驱动程序,该驱动程序根本不执行访问控制检查。目前,libvirt 支持使用 polkit 作为真正的访问控制驱动程序。要了解如何使用 polkit 访问驱动程序,请参阅配置文档none
访问驱动程序在/etc/libvirt/libvirtd.confaugtool配置文件中使用 access_drivers 参数进行配置。此参数接受访问控制驱动程序名称的数组。如果请求了多个访问驱动程序,则所有驱动程序都必须成功才能授予访问权限。要启用“polkit”作为驱动程序,请使用以下命令:
# augtool -s set '/files/etc/libvirt/libvirtd.conf/access_drivers[1]' polkit

要将驱动程序设置回默认值(无访问控制),请输入以下命令:

# augtool -s rm /files/etc/libvirt/libvirtd.conf/access_drivers

 要使libvirtd.conf所做的更改生效,请重新启动libvirtd服务。​​​​​​​

# systemctl restart libvirtd.service

2.2.2. 对象和权限

libvirt 将访问控制应用于其 API 中的所有主要对象类型。反过来,每个对象类型都定义了一组权限。要确定为特定 API 调用检查哪些权限,请参阅相关 API 的 API 参考手册文档。有关对象和权限的完整列表,请参阅 libvirt.org

2.2.3. 向虚拟机添加块设备时的安全问题

  • 主机物理机不应使用文件系统标签来标识fstab文件、​​​​​​​initrd文件或内核命令行中的文件系统。如果客户机虚拟机具有对整个分区或 LVM 卷的写入访问权限,那么这样做会带来安全风险,因为客户机虚拟机可能会将属于主机物理机的文件系统标签写入其自己的块设备存储。重新启动主机物理机后,主机物理机可能会错误地将来宾虚拟机的磁盘用作系统磁盘,从而危及主机物理机系统。
    最好使用设备的 UUID 在/etc/fstab文件、​​​​​​​/dev/initrd文件或内核命令行中识别它。
  • 不应向客户机虚拟机授予对整个磁盘或块设备(例如,/dev/sdb)的写入访问权限。有权访问整个块设备的客户机虚拟机可能能够修改卷标签,这可用于破坏主机物理机系统。使用分区(例如,​​​​​​​/dev/sdb1)或 LVM 卷来防止此问题。有关 LVM 管理和配置示例的信息,请参阅使用 CLI 命令进行 LVM 管理或 LVM 配置示例
    例如,如果您使用对/dev/sdb1分区的原始访问或/dev/sdb原始磁盘,则应将 LVM 配置为仅扫描安全的磁盘,请使用global_filter设置。请参阅《逻辑卷管理器管理指南》,了解使用global_filter命令的 LVM 配置脚本示例。​​​​​​​​​​​​​​,

 2.3. 公有云运营商的特殊注意事项

公有云服务提供商面临着许多超出传统虚拟化用户的安全风险。由于恶意虚拟机的威胁以及整个虚拟化基础架构中对客户数据机密性和完整性的要求,主机和来宾之间以及来宾之间以及来宾之间的虚拟来宾隔离都至关重要。
除了之前列出的红帽企业 Linux 虚拟化推荐实践外,公有云运营商还应考虑以下几点:
  • 禁止虚拟机进行任何直接硬件访问。PCI、USB、FireWire、Thunderbolt、eSATA 和其他设备直通机制使管理变得困难,并且通常依赖底层硬件来强制虚拟机之间的分离。
  • 将云运营商的私有管理网络与客户虚拟机网络隔离开来,并将客户网络彼此隔离,以便:
    • 虚拟机无法通过网络访问宿主机系统。
    • 一个客户无法直接通过云提供商的内部网络访问另一个客户的访客系统。

第三章、虚拟机系统安全

3.1. 为什么虚拟机系统安全很重要

虽然主机系统的安全性对于确保主机上运行的虚拟机的安全至关重要,但它并不能消除正确保护各个虚拟机计算机的需要。当系统作为虚拟化客户机运行时,与传统非虚拟化系统相关的所有安全风险仍然存在。如果客户系统遭到入侵,客户系统可访问的任何资源(例如关键业务数据或敏感客户信息)都可能容易受到攻击。

 3.2. 虚拟机系统安全推荐做法

Red Hat Enterprise Linux 安全指南》中记录的所有推荐的保护 Red Hat Enterprise Linux 系统的做法都适用于传统的非虚拟化系统以及作为虚拟化虚拟机安装的系统。但是,在虚拟化环境中运行虚拟机时,有一些安全做法至关重要:

  • 由于客人的所有管理都可能远程进行,因此请确保仅通过安全的网络通道进行系统管理。SSH 等工具和 TLS 或 SSL 等网络协议提供身份验证和数据加密,以确保只有经过批准的管理员才能远程管理系统。

  • 某些虚拟化技术使用特殊的客户机代理或驱动程序来启用某些特定于虚拟化的功能。确保使用标准的红帽企业 Linux 安全功能(例如 SELinux)来保护这些代理和应用程序。

  • 在虚拟化环境中,存在更大的风险,即在客户系统的保护边界之外访问敏感数据。使用 dm-crypt 和 GnuPG 等加密工具保护存储的敏感数据;尽管需要特别注意确保加密密钥的机密性。

 3.3. 内核地址空间随机化

Red Hat Enterprise Linux 7.5 和更高版本包括用于 KVM 客户机虚拟机的内核地址空间随机化 (KASLR) 功能。KASLR 允许随机化解压缩内核映像的物理和虚拟地址,从而防止基于内核对象位置的客户机安全漏洞。
默认情况下,KASLR 处于激活状态,但可以通过将字符串nokaslr添加到虚拟机的内核命令行来在特定虚拟机上停用。要编辑虚拟机启动选项,请使用以下命令,其中 guestname 是客户机的名称:
# virt-edit -d guestname /etc/default/grub

然后,修改GRUB_CMDLINE_LINUX行,例如:

GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet nokaslr"

 

重要

从启用KASLR的客户机创建的客户转存文件无法被crash工具读取。要解决此问题,请在客户机的XML配置文件的<features>部分添加<vmcoreinfo/>元素。然而,值得注意的是,如果目标主机使用的操作系统不支持<vmcoreinfo/>,则迁移带有<vmcoreinfo/>的客户机将会失败。这包括Red Hat Enterprise Linux 7.4及更早版本,以及Red Hat Enterprise Linux 6.9及更早版本。

 第四章、SVIRT

4.1 简介

由于 KVM 下的虚拟机是作为 Linux 进程实现的,因此 KVM 使用标准的 Linux 安全模型来提供隔离和资源控制。Linux 内核包括安全增强型 Linux (SELinux),通过灵活且可定制的安全策略添加强制访问控制 (MAC)、多级安全性 (MLS) 和多类别安全性 (MCS)。SELinux 为运行在 Linux 内核之上的进程(包括虚拟机进程)提供了严格的资源隔离和限制。sVirt 项目基于 SELinux 构建,以进一步实现虚拟机隔离和受控共享。例如,可以应用细粒度权限将虚拟机分组在一起以共享资源。

从安全角度来看,虚拟机监控程序可能是攻击者的目标,因为遭到入侵的虚拟机监控程序可能导致所有虚拟机在主机系统上运行。将 SELinux 集成到虚拟化技术中有助于提高虚拟机管理程序的安全性,防止恶意虚拟机试图访问主机系统或其他虚拟机。

下图表示 SELinux 隔离客户机,这限制了被入侵的虚拟机管理程序(或客户机)发起进一步攻击或扩展到另一个实例的能力:

SELinux隔离的攻击路径

 

注意

有关 SELinux 的更多信息,请参阅《Red Hat Enterprise Linux SELinux 用户和管理员指南》。

4.2. SELinux 和强制访问控制 (MAC) 

安全增强型 Linux (SELinux) 是 Linux 内核中 MAC 的实现,在检查标准自主访问控制 (DAC) 后检查允许的操作。SELinux 可以对正在运行的进程及其操作(包括尝试访问文件系统对象)实施用户可定制的安全策略。SELinux 在 Red Hat Enterprise Linux 中默认启用,它限制了利用应用程序和系统服务(如虚拟机管理程序)中的漏洞可能导致的潜在损害范围。

sVirt 与虚拟化管理抽象层 libvirt 集成,为虚拟机提供 MAC 框架。这种架构允许 libvirt 支持的所有虚拟化平台和 sVirt 支持的所有 MAC 实现进行互操作。

4.3. SVIRT配置 

SELinux布尔值是可以开关的变量,可以快速启用或禁用某些功能或其他特殊条件。可以通过运行命令 setsebool boolean_name {on|off} 来进行临时更改,也可以运行 setsebool -P boolean_name {on|off} 使更改在重启后保持持久。

以下表格展示了在libvirt启动KVM时影响SELinux布尔值的相关信息。可以通过运行命令 getsebool -a|grep virt 找到这些布尔值的当前状态(开启或关闭)。

 

SELinux 布尔值描述
staff_use_svirt使员工用户能够创建和过渡到 sVirt 域。
unprivuser_use_svirt使非特权用户能够创建和过渡到 sVirt 域。
virt_sandbox_use_audit允许沙盒容器发送审计消息。
virt_sandbox_use_netlink使沙盒容器能够使用 netlink 系统调用。
virt_sandbox_use_sys_admin使沙盒容器能够使用sys_admin系统调用,例如挂载。
virt_transition_userdomain使虚拟进程能够作为用户域运行。
virt_use_comm使 virt 能够使用串行/并行通信端口。
virt_use_execmem使受限的虚拟客户机能够使用可执行内存和可执行堆栈。
virt_use_fusefs使 virt 能够读取 FUSE 挂载的文件。
virt_use_nfs使 virt 能够管理 NFS 挂载的文件。
virt_use_rawip使 virt 能够与 rawip 套接字交互。
virt_use_samba使 virt 能够管理 CIFS 挂载的文件。
virt_use_sanlock使受限的虚拟访客能够与 sanlock 进行交互。
virt_use_usb使 virt 能够使用 USB 设备。
virt_use_xserver使虚拟机能够与 X Window 系统进行交互。

注意

有关 SELinux 布尔值的更多信息,请参阅《Red Hat Enterprise Linux SELinux 用户和管理员指南》。

 

 4.4 SVIRT标签

与受 SELinux 保护的其他服务一样,sVirt 使用基于进程的机制、标签和限制来提供对客户实例的额外安全性和控制。标签会根据当前运行的虚拟机(动态)自动应用于系统上的资源,但也可以由管理员(静态)手动指定,以满足可能存在的任何特定要求。
要编辑客户机的 sVirt 标签,请使用virsh edit guest_name命令并添加或编辑 <seclabel> 元素,如下各节所述。<seclabel> 可以用作整个 guest 的根元素,也可以指定为 <source> 元素的子元素,用于选择给定设备的特定 sVirt 标签。
有关 <seclabel> 元素的全面信息,请参阅 libvirt 上游文档。

4.4.1  SVIRT标签类型

类型SELinux 上下文描述/效果
虚拟机进程system_u:system_r:svirt_t:MCS1MCS1 是随机选择的字段。目前支持大约 500,000 个标签。
虚拟机镜像system_u:object_r:svirt_image_t:MCS1只有具有相同 MCS1 字段svirt_t进程才能读取/写入这些图像文件和设备。
虚拟机共享读/写内容system_u:object_r:svirt_image_t:s0允许所有svirt_t进程写入 svirt_image_t:s0 文件和设备。
虚拟机共享共享只读内容system_u:object_r:svirt_content_t:s0所有svirt_t进程都能够读取带有此标签的文件/设备。
虚拟机镜像system_u:object_r:virt_content_t:s0图像退出时使用的系统默认标签。不允许svirt_t虚拟进程读取带有此标签的文件/设备。

4.4.2. 动态配置

动态标签配置是将 sVirt 与 SELinux 一起使用时的默认标签选项。请参阅以下示例,该示例演示了动态标记:

# ps -eZ | grep qemu-kvm

system_u:system_r:svirt_t:s0:c87,c520 27950 ?  00:00:17 qemu-kvm

 在此示例中,qemu-kvm进程的基本标签为​​​​​​​system_u:system_r:svirt_t:s0 。libvirt 系统为​​​​​​​c87,c520进程生成了唯一的 MCS 标签。基础标签和 MCS 标签组合在一起,形成该过程的完整安全标签。同样,libvirt 使用相同的 MCS 标签和基础标签来形成图像标签。然后,此映像标签会自动应用于 VM 需要访问的所有主机文件,例如磁盘映像、磁盘设备、PCI 设备、USB 设备和内核/initrd 文件。每个进程都与具有不同标签的其他虚拟机隔离。

以下示例显示了虚拟机的唯一安全标签(在本例中c87,c520为相应的 MCS 标签),该标签应用于以下格式的客户机磁盘映像文件/var/lib/libvirt/images :

# ls -lZ /var/lib/libvirt/images/*

  system_u:object_r:svirt_image_t:s0:c87,c520   image1

 以下示例显示了客户机的 XML 配置中的动态标记:

<seclabel type='dynamic' model='selinux' relabel='yes'>
  <label>system_u:system_r:svirt_t:s0:c87,c520</label>
  <imagelabel>system_u:object_r:svirt_image_t:s0:c87,c520</imagelabel>
</seclabel>

4.4.3. 使用基础标签进行动态配置

要在动态模式下覆盖默认的基本安全标签,可以在 XML 客户机配置中手动配置<baselabel>选项,如下例所示:
<seclabel type='dynamic' model='selinux' relabel='yes'>
  <baselabel>system_u:system_r:svirt_custom_t:s0</baselabel>
  <label>system_u:system_r:svirt_custom_t:s0:c87,c520</label>
  <imagelabel>system_u:object_r:svirt_image_t:s0:c87,c520</imagelabel>
</seclabel>

4.4.4. 带有动态资源标签的静态配置

某些应用程序需要完全控制安全标签的生成,但仍需要 libvirt 来处理资源标签。以下客户机 XML 配置演示了具有动态资源标记的静态配置示例:

<seclabel type='static' model='selinux' relabel='yes'>
  <label>system_u:system_r:svirt_custom_t:s0:c87,c520</label>
</seclabel>

4.4.5. 没有资源标签的静态配置

主要用于多级安全性 (MLS) 和其他严格控制的环境,可以进行静态配置,而无需重新标记资源。静态标签允许管理员为虚拟机选择特定标签,包括 MCS/MLS 字段。运行静态标记的虚拟机的管理员负责在映像文件上设置正确的标签。虚拟机将始终以该标签启动,并且 sVirt 系统永远不会修改静态标记的虚拟机内容的标签。以下客户机 XML 配置演示了此方案的一个示例:

<seclabel type='static' model='selinux' relabel='no'>
  <label>system_u:system_r:svirt_custom_t:s0:c87,c520</label>
</seclabel>

 

4.4.6. sVirt标签和NFS

要在 NFSv4.1 或 NFSv4.2 文件系统上使用 sVirt 标签,您需要将 SELinux 上下文virt_var_lib_t更改为要导出以进行虚拟机共享的 NFS 目录的根目录。例如,如果要导出目录,请使用以下命令:​​​​​​​/exports/nfs/
# semanage fcontext -a -t virt_var_lib_t '/exports/nfs/'
# restorecon -Rv /exports/nfs/
此外,libvirt在为 NFS 卷上的虚拟机动态生成 sVirt 标签时,它仅保证标签在单个主机中的唯一性。这意味着,如果多个主机上的大量客户机共享一个 NFS 卷,则可能会出现重复标签,从而产生潜在的漏洞。
若要避免这种情况,请执行下列操作之一:
  • 对每个虚拟化主机使用不同的 NFS 卷。此外,在执行虚拟机迁移时,请使用--migrate-disks 和 --copy-storage-all选项复制虚拟机存储。​​​​​​​
  • 使用virt-install命令创建新客户机时,通过以下方式为客户机设置静态标签:
    • 使用选项。例如:--security
    # virt-install --name guest1-rhel7 --memory 2048 --vcpus 2 --disk size=8 --cdrom /home/username/Downloads/rhel-workstation-7.4-x86_64-dvd.iso --os-variant rhel7 --security model=selinux,label='system_u:object_r:svirt_image_t:s0:c100,c200'

    这将为客户机上的所有磁盘设置安全标签。
    使用带有  seclabel 参数的选项。例如: --disk
# virt-install --name guest1-rhel7 --memory 2048 --vcpus 2 --disk /path/to/disk.img,seclabel.model=selinux,seclabel.label='system_u:object_r:svirt_image_t:s0:c100,c200' --cdrom /home/username/Downloads/rhel-workstation-7.4-x86_64-dvd.iso --os-variant rhel7

 这将仅在指定的磁盘上设置安全标签。

第 五 章、虚拟化环境中的网络安全 

5.1. 网络安全概述

在几乎所有情况下,网络都是访问系统、应用程序和管理接口的唯一途径。由于网络在虚拟化系统的管理及其托管应用程序的可用性方面发挥着如此关键的作用,因此确保进出虚拟化系统的网络通道是安全的非常重要。

保护网络使管理员能够控制访问并保护敏感数据免受信息泄露和篡改。

5.2. 网络安全推荐做法 

网络安全是安全虚拟化基础架构的关键部分。请参阅以下有关保护网络的建议做法:

  • 确保系统的远程管理仅通过安全的网络通道进行。SSH 等工具和 TLS 或 SSL 等网络协议提供身份验证和数据加密,以帮助对系统进行安全和受控的访问。

  • 确保客户机应用程序通过安全的网络通道传输敏感数据。如果 TLS 或 SSL 等协议不可用,请考虑使用 IPsec 等协议。

  • 配置防火墙并确保它们在启动时被激活。只应允许使用和管理系统所需的网络端口。定期测试和审查防火墙规则。

5.2.1. 保护与SPICE的连接

SPICE远程桌面协议支持SSL/TLS,应为所有SPICE通信通道(主、显示、输入、光标、回放、记录)启用SSL/TLS。

5.2.2. 保护与存储的连接

您可以通过多种不同的方式将虚拟化系统连接到网络存储。每种方法都有不同的安全优势和顾虑,但相同的安全原则适用于每种方法:在使用之前对远程存储池进行身份验证,并在传输数据时保护数据的机密性和完整性。

数据在存储时也必须保持安全。红帽建议在存储数据之前对数据进行加密或数字签名,或两者兼而有之。

注意

有关网络存储的更多信息,请参阅《Red Hat Enterprise Linux 虚拟化部署和管理指南》的“使用存储池”部分。

附录 

A.1. SELinux 和 sVirt

有关 SELinux 和 sVirt 的更多信息:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术瘾君子1573

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值