Bug 922732 - SELinux prevents openvpn_t to write inside the /var/lib/openvpn directory
Summary: SELinux prevents openvpn_t to write inside the /var/lib/openvpn directory
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: selinux-policy
Version: 6.4
Hardware: All
OS: Linux
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Miroslav Grepl
QA Contact: Michal Trunecka
URL:
Whiteboard:
: 789342 (view as bug list)
Depends On: 922786
Blocks: 985435
TreeView+ depends on / blocked
 
Reported: 2013-03-18 11:45 UTC by Michal Bruncko
Modified: 2014-09-30 23:34 UTC (History)
5 users (show)

Fixed In Version: selinux-policy-3.7.19-210.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-11-21 10:20:35 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2013:1598 0 normal SHIPPED_LIVE selinux-policy bug fix and enhancement update 2013-11-20 21:39:24 UTC

Description Michal Bruncko 2013-03-18 11:45:14 UTC
Description of problem:
I am getting following AVC's:
type=AVC msg=audit(1363303699.629:5): avc:  denied  { read write } for  pid=1394 comm="openvpn" name="ip_persist.dat" dev=dm-5 ino=146 scontext=system_u:system_r:openvpn_t:s0 tcontext=unconfined_u:object_r:var_lib_t:s0 tclass=file

Several points about this:
- yes, directory /var/lib/openvpn is not standard openvpn distrp package directory (is not included within openvpn rpm)
- but this directory makes only sense for me for storing data to which openvpn daemon should be able to both read and write.

In current situation there is no directory suited for storing permanent varied data - i.e. persistent IP pools for OpenVPN clients (openvpn parameter "ifconfig-pool-persist"), user-specific configurations (openvpn parameter "client-config-dir"). Same situation can be aplied once you want to run openvpn in chrooted environment (openvpn parameter "chroot") - it should be pointed to directory with all necessary variable content (IP pools,...). Directory /var/run/openvpn is just not good point for those purposes.

Version-Release number of selected component (if applicable):
openvpn-2.2.2-1.el6.x86_64
selinux-policy-targeted-3.7.19-195.el6_4.3.noarch

Additional notes:
- this bug can be treaded as continuing from Bug #469284.
- look on comment #4: https://bugzilla.redhat.com/show_bug.cgi?id=469284#c4 from David - here is exact recommendation to which I wanted to focus here. We are missing openvpn directory for permanent OpenVPN data.

thanks

Comment 1 Miroslav Grepl 2013-03-18 12:50:29 UTC
It looks more as openvpn bug for now. We have the following labeling


/etc/openvpn(/.*)?              gen_context(system_u:object_r:openvpn_etc_t,s0)
/etc/openvpn/ipp.txt    --      gen_context(system_u:object_r:openvpn_etc_rw_t,s0)
/etc/rc\.d/init\.d/openvpn --   gen_context(system_u:object_r:openvpn_initrc_exec_t,s0)
/usr/sbin/openvpn       --      gen_context(system_u:object_r:openvpn_exec_t,s0)
/var/log/openvpn.*              gen_context(system_u:object_r:openvpn_var_log_t,s0)
/var/run/openvpn(/.*)?          gen_context(system_u:object_r:openvpn_var_run_t,s0)

So if a new dir is needed then it needs to be added to RPM payload and we will need to add labeling.

Comment 2 Michal Bruncko 2013-03-18 12:56:33 UTC
Hi Miroslav,
Should I open a new bugreport for addressing missing directory for openvpn component?
Thanks

Comment 3 Michal Bruncko 2013-03-18 14:19:45 UTC
I've raised #922786 for openvpn component.

Comment 4 Miroslav Grepl 2013-03-19 11:47:41 UTC
Ok.

Comment 5 Miroslav Grepl 2013-07-17 13:30:58 UTC
I added support for

/var/lib/openvpn

Comment 6 Miroslav Grepl 2013-08-06 20:40:06 UTC
*** Bug 789342 has been marked as a duplicate of this bug. ***

Comment 9 errata-xmlrpc 2013-11-21 10:20:35 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-1598.html


Note You need to log in before you can comment on or make changes to this bug.