黑帽联盟
标题:
基于sasl认证配置libvirt
[打印本页]
作者:
admin
时间:
2023-10-26 17:13
标题:
基于sasl认证配置libvirt
前提:使用virsh管理kvm虚拟机的时候出现需要使用密码
一、修改libvirtd配置
1.1修改 /etc/libvirt/libvirtd.conf :
listen_tls = 0 #来禁用该伪指令(因为没有配置任何 TLS 证书)。否则,libvirtd 守护程序启动会失败
listen_tcp = 1 #来启用该伪指令
tcp_port = "16509" #默认端口
auth_tcp = "sasl" #配置伪指令设置为 sasl,以启用通过 TCP 进行 SASL 认证
#如果启用tls,配置如下
auth_tls = "sasl"
复制代码
1.2 修改/etc/sysconfig/libvirtd
#开启tcp端口
LIBVIRTD_ARGS="--listen"
复制代码
二、添加sasl2配置
2.1 设置加密方式 /etc/sasl2/libvirt.conf
mech_list:digest-md5
sasldb_path: /etc/libvirt/passwd.db
复制代码
2.2 安装所需依赖包:
#一般我会把所有包装上 yum install cyrus-sasl*
yum install cyrus-sasl-md5-2.1.26-21.el7.x86_64 cyrus-sasl-devel-2.1.26-21.el7.x86_64
复制代码
三、重启libvirtd
#如果调试或者没生效使用:libvirtd --daemon --listen --config /etc/libvirt/libvirtd.conf
systemctl restart libvirtd
复制代码
四、添加用户
注意这里必须是libvirt,这是application的名字,只有输入libvirt,才会使用配置/etc/sasl2/libvirt.conf,结果才会写到/etc/libvirt/passwd.db
# saslpasswd2 -a libvirt admin
Password:
Again (for verification):
复制代码
如果使用qemu+tcp://连接,则应该enable digest-md5,这样交互会被加密。
如果使用qemu+tls://连接,则应该disable digest-md5,这样交互就不会被md5加密一次,然后再被TLS加密一次
# virsh -c qemu+tcp://localhost/system nodeinfo
Please enter your authentication name:
Please enter your password:
CPU model: x86_64
CPU(s): 24
CPU frequency: 1999 MHz
CPU socket(s): 1
Core(s) per socket: 6
Thread(s) per core: 2
NUMA cell(s): 2
Memory size: 134171180 KiB
复制代码
注意:如果 KVM 主机正在运行防火墙,请确保该防火墙允许传入的流量通过 libvirtd 守护程序 TCP 侦听端口。在缺省情况下,该侦听端口为 16509
文章转载自:https://blog.51cto.com/foxhound/2051024
欢迎光临 黑帽联盟 (https://bbs.cnblackhat.com/)
Powered by Discuz! X2.5