On 08/08/2007 03:30 AM, Michal Ludvig wrote:
Hi all,
I have a fresh install of RHEL5 (x86) with OpenVPN 2.0.9 and its
dependent liblzo2 2.02 from RPMforge.net.
With SElinux disabled everything works nicely. However with SElinux
enabled in enforcing targeted mode I can't run OpenVPN via
/etc/init.d/openvpn:
~# /etc/init.d/openvpn start
Starting openvpn: /usr/sbin/openvpn: error while loading shared
libraries: liblzo2.so.2: cannot enable executable stack as shared
object requires: Permission denied
[FAILED]
At that time two new records appear in /var/log/audit/audit.log:
type=AVC msg=audit(1186574630.135:162): avc: denied { execstack }
for pid=18563 comm="openvpn" scontext=root:system_r:openvpn_t:s0
tcontext=root:system_r:openvpn_t:s0 tclass=process
type=SYSCALL msg=audit(1186574630.135:162): arch=40000003 syscall=125
success=no exit=-13 a0=bfb66000 a1=1000 a2=1000007 a3=fffff000 items=0
ppid=18553 pid=18563 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0
sgid=0 fsgid=0 tty=pts2 comm="openvpn" exe="/usr/sbin/openvpn"
subj=root:system_r:openvpn_t:s0 key=(null)
When I pass them to audit2allow I get:
allow openvpn_t self:process execstack;
So I did "audit2allow -M local && semodule -i local.pp" to enable it,
but still no luck. "/etc/init.d/openvpn start" still fails with the
above error about being unable to load liblzo2.so.2.
~# ls -Z /etc/init.d/openvpn /usr/sbin/openvpn /usr/lib/liblzo2.so.2*
system_u:object_r:initrc_exec_t /etc/init.d/openvpn
system_u:object_r:openvpn_exec_t /usr/sbin/openvpn
system_u:object_r:lib_t /usr/lib/liblzo2.so.2.0.0
system_u:object_r:lib_t /usr/lib/liblzo2.so.2 -> liblzo2.so.2.0.0
Interesting thing is that when I manually run /usr/sbin/openvpn it
works fine:
~# /usr/sbin/openvpn --cd /etc/openvpn --config /etc/openvpn/vpn.conf
Thu Aug 9 00:25:24 2007 OpenVPN 2.0.9 i386-redhat-linux-gnu [SSL]
[LZO] [EPOLL] built on Mar 8 2007
[...]
Thu Aug 9 00:25:25 2007 TCPv4_CLIENT link local: [undef]
Thu Aug 9 00:25:25 2007 TCPv4_CLIENT link remote: xxx.xxx.xxx.xxx
Thu Aug 9 00:25:28 2007 Peer Connection Initiated with xxx.xxx.xxx.xxx
What should I do to make it work from /etc/init.d on system boot as well?
I've had a similar problem some time ago. Rather then punching an
additional hole in selinux, I switched to the openvpn package from EPEL.
--
fedora-selinux-list mailing list
fedora-selinux-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-selinux-list