admin 发表于 2023-10-26 17:19:56

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守护进程/etc/libvirt/libvirtd.conf

#在最后添加下面

#auth_unix_rw="sasl"

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

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

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

listen_addr="0.0.0.0"

unix_sock_group="qemu"

unix_sock_rw_perms="0770"/etc/sysconfig/libvirtd

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

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

tcp        0      0 0.0.0.0:16514           0.0.0.0:*               LISTEN      0          34065      3505/libvirtd使用tls通道测试链接libvirt的守护进程:# virsh -c qemu+tls://host1/system hostname(远程查看名为host1的计算机的hostname)
使用tls通道测试虚拟机在不同的主机间迁移:# virsh migrate centos_test1 qemu+tls://host1/system --p2p --tunnelled(使用tls加密可以使用tunnelled参数,例子是把虚拟机centos_test1在线迁移到host1这台服务器上)
具体操作可参考libvirt官方文档:http://wiki.libvirt.org/page/TLSSetup

页: [1]
查看完整版本: libvirt TLS加密