libvirt 提供了安全访问的机制,TLS 是典型的用来保护网络安全的方式,同时 SASL 则用来提供验证。blog 。在 libvirt 官网上有详细的使用教程libvirt
准备工作
在为 libvirt 设置 SASL 验证之前,首先要对 SASL 有一定的了解,并且学会简单地使用 SASL。具体的内容可查看SASL。
在为 libvirt 设置 SASL 验证之前,我们先安装好 sasl 软件:
1 |
|
为了使用方便,我们把所有的包都装上,如果你不想全部安装,挑选你要使用的功能安装就好了。
纠正:在这里最好不要安装所有的包,如果安装了某些不需要的包同时却未对其服务进行配置将会出现错误。如 cyrus-sasl-ldap cyrus-sasl-sql
为 libvirt 设置 SASL 验证(digest-md5)
SASL 添加用户
首先需要在 SASL 数据库中添加一个用户:
1 |
|
-a 选项指定了一个应用得名称(libvirt)绑定一个用户(vdsm)@后面添加的是组(ovirt),同时命令中得应用名也是创建得账户(意思就是你创建了一个叫 libvirt 得账户同时将用户 virt 绑定到该账户上,你也可以绑定多个账户)。如果想要查看 SASL 数据库中的所有用户,你可以使用下面这个命令:
1 |
|
注意:假如你在/etc/libvirt/目录下没有发现 passwd.db 文件,那么你需要去/etc/sasl2 目录下修改 libvit.conf 文件,打开 sasldb_path 选项 。
修改/etc/sasl2/libvirt.conf 配置文件
在创建了 libvirt 账户后,需要在/etc/sasl2/libvirt.conf 配置文件中修改为如下:
1 |
|
修改/etc/libvirt/libvirtd.conf 文件
接下来,你需要在/etc/libvirt/libvirtd.conf 中开启 SASL 验证,如果你只想 TCP 套接字连接你的主机,你要修改 auth_tcp 的配置同时开启 listen_tcp 关闭 listen_tls:
1 |
|
如果你使用的是 TLS 而不是 TCP 的话,你需要这样修改开启 listen_tls 关闭 listen_tcp 或者保持默认 同时还要添加密钥证书文件相关内容后面补充:
1 |
|
修改/etc/sysconfig/libvirtd
为 libvirtd 服务添加–listen 参数,修改/etc/sysconfig/libvirtd 文件如下:
1 |
|
重启服务
重启 libvirtd 服务,查看服务状态,看是否开启监听,查看端口是否开启监听:
1 |
|
测试连接
查看 libvirtd 服务状态没问题,并且端口监听开启后,就可以测试连接了,我们使用 tcp 连接本地端口:
1 |
|
连接成功。
libvirt 配置 sasl 后无反应
注意:如果你是源码编译 libvirt,你需要注意,假如你在编译之后才安装 sasl 相关组件和依赖,你需要重新编译 libvirt,因为 libvirt 在编译时将检查 sasl,假若未检查到,那么它将不会编译与 sasl 相关部分代码,因此即使你配置正确无法正确运行(因为你的 libvirt 根本就没这部分的代码)。在./autogen.sh 之后,查看 autoconfig 的输出信息,确保如下:
sasl: yes
为 libvirt 设置 SASL 验证(gssapi)
GSSAPI
This is the current default mechanism to use with libvirtd. It uses the Kerberos v5 authentication protocol underneath, and assuming the Kerberos client/server are configured with modern ciphers (AES), it provides strong session encryption capabilities.
在使用 gssapi 作为 sasl 得 mechanism 的时候,与 digest-md5 相似,只需要将/etc/sasl2/libvirt.conf 文件中的 mech_list 改为 gssapi 即可
1 |
|
配置 kerberos
要使用 gssapi 还需要配置 kerberos,同时打开/etc/sasl2/libvirt.conf 文件中的 keytab 选项:
1 |
|
这里涉及到 kerberos 的配置和使用。libvirt
Related Issues not found
Please contact @Rickylss to initialize the comment