Skip to content

Commit 8c13423

Browse files
author
Chris Rogers
committed
[refpolicy] Replace UID refpolicy with quark
The removal of UID and addition of Quark requires updates to the refpolicy. This commit adds a new quark module and removes several uid_t rules in other .te files. Signed-off-by: Nicholas Tsirakis <tsirakisn@ainfosec.com> Signed-off-by: Chris Rogers <rogersc@ainfosec.com>
1 parent f8247fe commit 8c13423

File tree

10 files changed

+39
-83
lines changed

10 files changed

+39
-83
lines changed

recipes-security/refpolicy/refpolicy-mcs-2.%/patches/uid-interfaces.diff

Lines changed: 0 additions & 23 deletions
This file was deleted.

recipes-security/refpolicy/refpolicy-mcs-2.%/patches/vusb-interfaces.diff

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,3 @@
1010
+
1111
dbd_dbus_chat(xend_t)
1212
surfman_dbus_chat(xend_t)
13-
uid_dbus_chat(xend_t)

recipes-security/refpolicy/refpolicy-mcs-2.%/policy/modules-openxt.conf

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,13 @@ language-sync = module
8888
#
8989
network-daemon = module
9090

91+
# Layer: services
92+
# Module: quark
93+
#
94+
# quark daemon
95+
#
96+
quark = module
97+
9198
# Layer: services
9299
# Module: surfman
93100
#
@@ -116,13 +123,6 @@ tpmsetup = module
116123
#
117124
tpmutil = module
118125

119-
# Layer: services
120-
# Module: uid
121-
#
122-
# uid daemon
123-
#
124-
uid = module
125-
126126
# Layer: services
127127
# Module: updatemgr
128128
#

recipes-security/refpolicy/refpolicy-mcs-2.%/policy/modules/services/uid.fc renamed to recipes-security/refpolicy/refpolicy-mcs-2.%/policy/modules/services/quark.fc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,4 @@
1818
#
1919
#############################################################################
2020

21-
/usr/bin/uid -- gen_context(system_u:object_r:uid_exec_t,s0)
22-
/etc/uid\.conf -- gen_context(system_u:object_r:uid_etc_t,s0)
21+
/usr/bin/quark -- gen_context(system_u:object_r:quark_exec_t,s0)

recipes-security/refpolicy/refpolicy-mcs-2.%/policy/modules/services/uid.if renamed to recipes-security/refpolicy/refpolicy-mcs-2.%/policy/modules/services/quark.if

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,44 +18,44 @@
1818
#
1919
#############################################################################
2020

21-
## <summary>uid daemon</summary>
21+
## <summary>quark daemon</summary>
2222

2323
#######################################
2424
## <summary>
25-
## Send messages to uid over dbus.
25+
## Send messages to quark over dbus.
2626
## </summary>
2727
## <param name="domain">
2828
## <summary>
29-
## The type of the process sending messages to uid over dbus.
29+
## The type of the process sending messages to quark over dbus.
3030
## </summary>
3131
## </param>
3232
#
33-
interface(`uid_dbus_send',`
33+
interface(`quark_dbus_send',`
3434
gen_require(`
35-
type uid_t;
35+
type quark_t;
3636
class dbus send_msg;
3737
')
3838

39-
allow $1 uid_t:dbus send_msg;
39+
allow $1 quark_t:dbus send_msg;
4040
')
4141

4242
#######################################
4343
## <summary>
44-
## Exchange messages with uid over dbus.
44+
## Exchange messages with quark over dbus.
4545
## </summary>
4646
## <param name="domain">
4747
## <summary>
48-
## The type of the process chatting with uid over dbus.
48+
## The type of the process chatting with quark over dbus.
4949
## </summary>
5050
## </param>
5151
#
52-
interface(`uid_dbus_chat',`
52+
interface(`quark_dbus_chat',`
5353
gen_require(`
54-
type uid_t;
54+
type quark_t;
5555
class dbus send_msg;
5656
')
5757

58-
allow $1 uid_t:dbus send_msg;
59-
allow uid_t $1:dbus send_msg;
58+
allow $1 quark_t:dbus send_msg;
59+
allow quark_t $1:dbus send_msg;
6060
')
6161

recipes-security/refpolicy/refpolicy-mcs-2.%/policy/modules/services/uid.te renamed to recipes-security/refpolicy/refpolicy-mcs-2.%/policy/modules/services/quark.te

Lines changed: 14 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -18,39 +18,23 @@
1818
#
1919
#############################################################################
2020

21-
policy_module(uid, 0.1)
21+
policy_module(quark, 0.1)
2222

23-
type uid_t;
24-
type uid_exec_t;
23+
type quark_t;
24+
type quark_exec_t;
2525

26-
init_daemon_domain(uid_t, uid_exec_t);
26+
init_daemon_domain(quark_t, quark_exec_t);
2727

28-
type uid_tmp_t;
29-
files_tmp_file(uid_tmp_t)
30-
files_tmp_filetrans(uid_t, uid_tmp_t, file)
28+
xc_files_rw_v4v_chr(quark_t)
29+
logging_send_syslog_msg(quark_t)
3130

32-
type uid_etc_t;
33-
files_config_file(uid_etc_t)
31+
# quark spawns a new child process for each file it
32+
# serves. allow it to configure these processes.
33+
allow quark_t self:process { rlimitinh setpgid setrlimit siginh };
3434

35-
allow uid_t uid_etc_t:file read_file_perms;
35+
# the files are served from the dir provided on the cmdline.
36+
# quark chroots to that dir to handle relative pathnames.
37+
allow quark_t self:capability sys_chroot;
3638

37-
dbus_connect_system_bus(uid_t)
38-
dbus_system_bus_client(uid_t)
39-
vusbd_dbus_chat(uid_t)
40-
surfman_dbus_chat(uid_t)
41-
xen_dbus_chat(uid_t)
42-
optional_policy('
43-
hal_dbus_chat(uid_t)
44-
')
45-
input_server_dbus_chat(uid_t)
46-
rpcproxy_websockets_dbus_chat(uid_t)
47-
48-
xc_files_rw_argo_chr(uid_t)
49-
# consider DONTAUDIT
50-
xc_getattr_service_disk_dir(uid_t)
51-
xc_search_storage(uid_t)
52-
53-
xen_stream_connect_xenstore(uid_t)
54-
logging_send_syslog_msg(uid_t)
55-
56-
corecmd_search_bin(uid_t)
39+
# allow to signal itself (on shutdown)
40+
allow quark_t self:process signal;

recipes-security/refpolicy/refpolicy-mcs-2.%/policy/modules/services/rpcproxy.te

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,8 @@ xen_dbus_chat(rpcproxy_websockets_t)
133133
network_daemon_dbus_chat(rpcproxy_websockets_t)
134134
xenpmd_dbus_chat(rpcproxy_websockets_t)
135135
# Note: rpcproxy_websockets_t is also allowed to chat
136-
# with statusreport_t and uid_t via rpcproxy_websockets_dbus_chat() calls
137-
# in statusreport.te and uid.te.
136+
# with statusreport_t via rpcproxy_websockets_dbus_chat() calls
137+
# in statusreport.te.
138138

139139
# Execute openssl via a WebSocket.
140140
# TODO: Assign openssl its own type so that we can limit what other binaries

recipes-security/refpolicy/refpolicy-mcs-2.%/policy/modules/services/updatemgr.te

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@ kernel_read_vm_overcommit_sysctl(updatemgr_t)
6262
logging_send_syslog_msg(updatemgr_t)
6363

6464
dbd_dbus_chat(updatemgr_t)
65-
uid_dbus_chat(updatemgr_t)
6665
xc_installer_delete(updatemgr_t)
6766
xc_installer_domtrans(updatemgr_t)
6867
xc_read_etc_files(updatemgr_t)

recipes-security/refpolicy/refpolicy-mcs-2.%/policy/modules/services/xenpmd.te

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ files_config_file(xenpmd_etc_t)
4848
dbus_system_bus_client(xenpmd_t)
4949
dbus_connect_system_bus(xenpmd_t)
5050
dbus_send_system_bus(xenpmd_t)
51-
uid_dbus_chat(xenpmd_t)
5251
surfman_dbus_chat(xenpmd_t)
5352
rpcproxy_websockets_dbus_chat(xenpmd_t)
5453
dbd_dbus_chat(xenpmd_t)

recipes-security/refpolicy/refpolicy-mcs_2.%.bbappend

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,15 @@ SRC_URI += " \
5555
file://policy/modules/services/network-daemon.fc \
5656
file://policy/modules/services/network-daemon.if \
5757
file://policy/modules/services/network-daemon.te \
58+
file://policy/modules/services/quark.fc \
59+
file://policy/modules/services/quark.if \
60+
file://policy/modules/services/quark.te \
5861
file://policy/modules/services/rpcproxy.fc \
5962
file://policy/modules/services/rpcproxy.if \
6063
file://policy/modules/services/rpcproxy.te \
6164
file://policy/modules/services/surfman.fc \
6265
file://policy/modules/services/surfman.if \
6366
file://policy/modules/services/surfman.te \
64-
file://policy/modules/services/uid.fc \
65-
file://policy/modules/services/uid.if \
66-
file://policy/modules/services/uid.te \
6767
file://policy/modules/services/updatemgr.fc \
6868
file://policy/modules/services/updatemgr.if \
6969
file://policy/modules/services/updatemgr.te \
@@ -145,7 +145,6 @@ SRC_URI += " \
145145
file://patches/sysutils-interfaces.diff \
146146
file://patches/tcs-interfaces.diff \
147147
file://patches/tpmsetup-interfaces.diff \
148-
file://patches/uid-interfaces.diff \
149148
file://patches/updatemgr-interfaces.diff \
150149
file://patches/vhdutils-interfaces.diff \
151150
file://patches/xc-files-interfaces.patch \

0 commit comments

Comments
 (0)