Skip to content

Commit f273f19

Browse files
authored
Merge pull request #55 from andypitcher/improve-prometheus-node-exporter-policy
Refine the policy and add other distro support for the Prometheus Node Exporter
2 parents 5cc1352 + 7b44e6c commit f273f19

2 files changed

Lines changed: 23 additions & 39 deletions

File tree

policy/centos9/rancher.te

Lines changed: 7 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -105,49 +105,17 @@ allow rke_network_t kernel_t:unix_dgram_socket sendto;
105105
allow rke_network_t self:netlink_route_socket nlmsg_write;
106106

107107
############################################################################
108-
# type prom_node_exporter_t #
108+
# type prom_node_exporter_t #
109109
# target: prometheus-node-exporter container for Rancher monitoring chart #
110110
############################################################################
111-
require {
112-
type container_runtime_t;
113-
type prom_node_exporter_t;
114-
class file { getattr open read };
115-
class dir { getattr open read search };
116-
class lnk_file { getattr read };
117-
class process { fork noatsecure rlimitinh siginh sigkill signal transition };
118-
class key { create search setattr view };
119-
class tcp_socket { accept bind create getattr listen read setopt write };
120-
class netlink_route_socket { bind create getattr getopt nlmsg_read read write };
121-
class fd use;
122-
class fifo_file write;
123-
}
124-
type prom_node_exporter_t;
125-
container_domain_template(prom_node_exporter_t, container)
111+
gen_require(`
112+
type container_runtime_t;
113+
class tcp_socket listen;
114+
')
115+
container_domain_template(prom_node_exporter, container)
126116
virt_sandbox_domain(prom_node_exporter_t)
127-
allow container_runtime_t prom_node_exporter_t:dir { open read search };
128-
allow container_runtime_t prom_node_exporter_t:file { getattr open read };
129-
allow container_runtime_t prom_node_exporter_t:key { create search setattr view };
130-
allow container_runtime_t prom_node_exporter_t:lnk_file { getattr read };
131-
allow container_runtime_t prom_node_exporter_t:process { noatsecure rlimitinh siginh sigkill signal transition };
132-
allow prom_node_exporter_t container_runtime_t:fd use;
133-
allow prom_node_exporter_t container_runtime_t:fifo_file write;
134-
allow prom_node_exporter_t self:dir { getattr search };
135-
allow prom_node_exporter_t self:file { open read };
136-
allow prom_node_exporter_t self:lnk_file read;
137-
allow prom_node_exporter_t self:netlink_route_socket { bind create getattr getopt nlmsg_read read write };
138-
allow prom_node_exporter_t self:process fork;
139-
allow prom_node_exporter_t self:tcp_socket { accept bind create getattr listen read setopt write };
140-
container_runtime_typebounds(prom_node_exporter_t)
141117
corenet_tcp_bind_generic_node(prom_node_exporter_t)
142118
corenet_tcp_bind_generic_port(prom_node_exporter_t)
143-
dev_list_sysfs(prom_node_exporter_t)
144-
dev_read_sysfs(prom_node_exporter_t)
145-
files_read_etc_symlinks(prom_node_exporter_t)
146119
init_read_state(prom_node_exporter_t)
147-
kernel_read_network_state(prom_node_exporter_t)
148-
kernel_read_network_state_symlinks(prom_node_exporter_t)
149-
kernel_read_proc_files(prom_node_exporter_t)
150-
kernel_read_proc_symlinks(prom_node_exporter_t)
151-
kernel_read_software_raid_state(prom_node_exporter_t)
152-
libs_read_lib_files(prom_node_exporter_t)
153120
selinux_read_security_files(prom_node_exporter_t)
121+
allow prom_node_exporter_t self:tcp_socket listen;

policy/microos/rancher.te

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,3 +103,19 @@ manage_files_pattern(rke_network_t, var_run_t, var_run_t)
103103
allow rke_network_t kernel_t:system module_request;
104104
allow rke_network_t kernel_t:unix_dgram_socket sendto;
105105
allow rke_network_t self:netlink_route_socket nlmsg_write;
106+
107+
############################################################################
108+
# type prom_node_exporter_t #
109+
# target: prometheus-node-exporter container for Rancher monitoring chart #
110+
############################################################################
111+
gen_require(`
112+
type container_runtime_t;
113+
class tcp_socket listen;
114+
')
115+
container_domain_template(prom_node_exporter, container)
116+
virt_sandbox_domain(prom_node_exporter_t)
117+
corenet_tcp_bind_generic_node(prom_node_exporter_t)
118+
corenet_tcp_bind_generic_port(prom_node_exporter_t)
119+
init_read_state(prom_node_exporter_t)
120+
selinux_read_security_files(prom_node_exporter_t)
121+
allow prom_node_exporter_t self:tcp_socket listen;

0 commit comments

Comments
 (0)