黑帽联盟

标题: libvirt TLS加密 [打印本页]

作者: admin    时间: 2023-10-26 17:19
标题: libvirt TLS加密
TLS(Transport Layer Security Protocol),即安全传输层协议,其核心是加密两台计算机之间的通信。libvirt中使用TLS,可以实现libvirt的安全加密。例如,虚拟机在不同的主机之间迁移或者远程链接libvirt的守护进程对libvirt进程控制时,都可以走TLS通道进行加密。本文将实践libvirt的TLS配置和具体使用。有以下四个步骤。


1.CA证书文件:
http://wiki.libvirt.org/page/TLSCreateCACert


2.创建服务端证书:
http://wiki.libvirt.org/page/TLSCreateServerCerts


3.创建客户端证书:
http://wiki.libvirt.org/page/TLSCreateClientCerts


(以上三个步骤时TLS的通用配置方式)


4:配置libvirt守护进程
  1. /etc/libvirt/libvirtd.conf

  2. #在最后添加下面

  3. #auth_unix_rw="sasl"

  4. ca_file="/etc/pki/CA/cacert.pem"

  5. cert_file = "/etc/pki/libvirt/servercert.pem"

  6. key_file = "/etc/pki/libvirt/private/serverkey.pem"

  7. listen_addr="0.0.0.0"

  8. unix_sock_group="qemu"

  9. unix_sock_rw_perms="0770"
复制代码
  1. /etc/sysconfig/libvirtd

  2. #libvirtd启动时添加--listen参数

  3. LIBVIRTD_ARGS="--listen"
复制代码
以上4个步骤就完成了libvrit中TLS的配置。可查看端口监控信息:
  1. # netstat -tulpen | grep libvirt

  2. tcp        0      0 0.0.0.0:16514           0.0.0.0:*               LISTEN      0          34065      3505/libvirtd
复制代码
使用tls通道测试链接libvirt的守护进程:
  1. # virsh -c qemu+tls://host1/system hostname
复制代码
(远程查看名为host1的计算机的hostname)

使用tls通道测试虚拟机在不同的主机间迁移:
  1. # virsh migrate centos_test1 qemu+tls://host1/system --p2p --tunnelled
复制代码
(使用tls加密可以使用tunnelled参数,例子是把虚拟机centos_test1在线迁移到host1这台服务器上)

具体操作可参考libvirt官方文档:
http://wiki.libvirt.org/page/TLSSetup







欢迎光临 黑帽联盟 (https://bbs.cnblackhat.com/) Powered by Discuz! X2.5