Tenho um cliente OpenVPN com chroot-jail atualmente funcionando como um serviço Linuxopenvpn-client@vpn
Estou tentando fazer funcionar com o AppArmor, criei o perfil OpenVPN em /etc/apparmor.d/usr.sbin.openvpn mas estou recebendo este erro quando o serviço openvpn tenta iniciar:
**
chroot para '/.vpn-jail/' falhou: operação não permitida
**
Sem o AppArmor, o serviço de cliente Jail-Chrooted OpenvVPN funciona conforme necessário.
Este é o meu perfil atual do AppArmor para o OpenVPN, tentei usar flags: chroot_attach, chroot_relative, namespace_relative, etc... mas até agora não consegui fazer funcionar.
# 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>
}