我有一个 OpenVPN 客户端,其 chroot-jail 当前作为 Linux 服务运行openvpn-client@vpn
我正在尝试使其与 AppArmor 一起使用,我在 /etc/apparmor.d/usr.sbin.openvpn 中创建了 OpenVPN 配置文件,但当 openvpn 服务尝试启动时出现此错误:
**
chroot 到“/.vpn-jail/”失败:不允许操作
**
如果没有 AppArmor,Jail-Chrooted OpenvVPN 客户端服务将按需要工作。
这是我当前的 OpenVPN AppArmor 配置文件,我尝试使用标志:chroot_attach、chroot_relative、namespace_relative 等...但到目前为止我还无法使其工作。
# vim:syntax=apparmor
#include <tunables/global>
#include if exists <tunables/chroot>
profile openvpn /usr/sbin/openvpn flags=(chroot_attach) {
#include <abstractions/base>
#include <abstractions/openssl>
#include <abstractions/nameservice> # embedded, but more relaxed
capability net_admin,
capability setuid,
capability setgid,
/etc/openvpn/client/*.conf r, # any.conf
/etc/openvpn/client/credentials/decrypted_credentials.txt r,
@{VPNCHROOT}/etc/openvpn/client/*.conf r,
@{VPNCHROOT}/etc/openvpn/client/credentials/decrypted_credentials.txt r,
/dev/net/tun rw,
@{PROC}/@{pid}/net/route r,
/var/log/openvpn/openvpn-status.log rw,
/var/log/openvpn/openvpn.log rw,
/var/log/openvpn/ipp.txt rw,
/{,var/}run/openvpn/server.pid rw,
/{,var/}run/openvpn/client{,-*}.pid rw,
/{,var/}run/openvpn/client{,-*}.status rw,
/{,usr/}bin/ip Cx,
profile ip /{,usr/}bin/ip {
/{,usr/}bin/ip r,
#include <abstractions/base>
capability net_admin,
/var/log/openvpn/openvpn.log w,
}
# #include <local/usr.sbin.openvpn>
}