1pdns_selinux(8) SELinux Policy pdns pdns_selinux(8)
2
3
4
6 pdns_selinux - Security Enhanced Linux Policy for the pdns processes
7
9 Security-Enhanced Linux secures the pdns processes via flexible manda‐
10 tory access control.
11
12 The pdns processes execute with the pdns_t SELinux type. You can check
13 if you have these processes running by executing the ps command with
14 the -Z qualifier.
15
16 For example:
17
18 ps -eZ | grep pdns_t
19
20
21
23 The pdns_t SELinux type can be entered via the pdns_exec_t file type.
24
25 The default entrypoint paths for the pdns_t domain are the following:
26
27 /usr/sbin/pdns_server
28
30 SELinux defines process types (domains) for each process running on the
31 system
32
33 You can see the context of a process using the -Z option to ps
34
35 Policy governs the access confined processes have to files. SELinux
36 pdns policy is very flexible allowing users to setup their pdns pro‐
37 cesses in as secure a method as possible.
38
39 The following process types are defined for pdns:
40
41 pdns_t, pdns_control_t
42
43 Note: semanage permissive -a pdns_t can be used to make the process
44 type pdns_t permissive. SELinux does not deny access to permissive
45 process types, but the AVC (SELinux denials) messages are still gener‐
46 ated.
47
48
50 SELinux policy is customizable based on least access required. pdns
51 policy is extremely flexible and has several booleans that allow you to
52 manipulate the policy and run pdns with the tightest access possible.
53
54
55
56 If you want to allow PowerDNS to connect to databases over the network,
57 you must turn on the pdns_can_network_connect_db boolean. Disabled by
58 default.
59
60 setsebool -P pdns_can_network_connect_db 1
61
62
63
64 If you want to allow all domains to execute in fips_mode, you must turn
65 on the fips_mode boolean. Enabled by default.
66
67 setsebool -P fips_mode 1
68
69
70
72 The SELinux process type pdns_t can manage files labeled with the fol‐
73 lowing file types. The paths listed are the default paths for these
74 file types. Note the processes UID still need to have DAC permissions.
75
76 cluster_conf_t
77
78 /etc/cluster(/.*)?
79
80 cluster_var_lib_t
81
82 /var/lib/pcsd(/.*)?
83 /var/lib/cluster(/.*)?
84 /var/lib/openais(/.*)?
85 /var/lib/pengine(/.*)?
86 /var/lib/corosync(/.*)?
87 /usr/lib/heartbeat(/.*)?
88 /var/lib/heartbeat(/.*)?
89 /var/lib/pacemaker(/.*)?
90
91 cluster_var_run_t
92
93 /var/run/crm(/.*)?
94 /var/run/cman_.*
95 /var/run/rsctmp(/.*)?
96 /var/run/aisexec.*
97 /var/run/heartbeat(/.*)?
98 /var/run/pcsd-ruby.socket
99 /var/run/corosync-qnetd(/.*)?
100 /var/run/corosync-qdevice(/.*)?
101 /var/run/corosync.pid
102 /var/run/cpglockd.pid
103 /var/run/rgmanager.pid
104 /var/run/cluster/rgmanager.sk
105
106 krb5_host_rcache_t
107
108 /var/tmp/krb5_0.rcache2
109 /var/cache/krb5rcache(/.*)?
110 /var/tmp/nfs_0
111 /var/tmp/DNS_25
112 /var/tmp/host_0
113 /var/tmp/imap_0
114 /var/tmp/HTTP_23
115 /var/tmp/HTTP_48
116 /var/tmp/ldap_55
117 /var/tmp/ldap_487
118 /var/tmp/ldapmap1_0
119
120 pdns_var_lib_t
121
122 /var/lib/pdns(/.*)?
123
124 pdns_var_run_t
125
126 /var/run/pdns.pid
127 /var/run/pdns.controlsocket
128
129 root_t
130
131 /sysroot/ostree/deploy/.*-atomic/deploy(/.*)?
132 /
133 /initrd
134
135
137 SELinux requires files to have an extended attribute to define the file
138 type.
139
140 You can see the context of a file using the -Z option to ls
141
142 Policy governs the access confined processes have to these files.
143 SELinux pdns policy is very flexible allowing users to setup their pdns
144 processes in as secure a method as possible.
145
146 STANDARD FILE CONTEXT
147
148 SELinux defines the file context types for the pdns, if you wanted to
149 store files with these types in a diffent paths, you need to execute
150 the semanage command to sepecify alternate labeling and then use re‐
151 storecon to put the labels on disk.
152
153 semanage fcontext -a -t pdns_var_run_t '/srv/mypdns_content(/.*)?'
154 restorecon -R -v /srv/mypdns_content
155
156 Note: SELinux often uses regular expressions to specify labels that
157 match multiple files.
158
159 The following file types are defined for pdns:
160
161
162
163 pdns_conf_t
164
165 - Set files with the pdns_conf_t type, if you want to treat the files
166 as pdns configuration data, usually stored under the /etc directory.
167
168
169
170 pdns_control_exec_t
171
172 - Set files with the pdns_control_exec_t type, if you want to transi‐
173 tion an executable to the pdns_control_t domain.
174
175
176
177 pdns_exec_t
178
179 - Set files with the pdns_exec_t type, if you want to transition an ex‐
180 ecutable to the pdns_t domain.
181
182
183
184 pdns_unit_file_t
185
186 - Set files with the pdns_unit_file_t type, if you want to treat the
187 files as pdns unit content.
188
189
190
191 pdns_var_lib_t
192
193 - Set files with the pdns_var_lib_t type, if you want to store the pdns
194 files under the /var/lib directory.
195
196
197
198 pdns_var_run_t
199
200 - Set files with the pdns_var_run_t type, if you want to store the pdns
201 files under the /run or /var/run directory.
202
203
204 Paths:
205 /var/run/pdns.pid, /var/run/pdns.controlsocket
206
207
208 Note: File context can be temporarily modified with the chcon command.
209 If you want to permanently change the file context you need to use the
210 semanage fcontext command. This will modify the SELinux labeling data‐
211 base. You will need to use restorecon to apply the labels.
212
213
215 semanage fcontext can also be used to manipulate default file context
216 mappings.
217
218 semanage permissive can also be used to manipulate whether or not a
219 process type is permissive.
220
221 semanage module can also be used to enable/disable/install/remove pol‐
222 icy modules.
223
224 semanage boolean can also be used to manipulate the booleans
225
226
227 system-config-selinux is a GUI tool available to customize SELinux pol‐
228 icy settings.
229
230
232 This manual page was auto-generated using sepolicy manpage .
233
234
236 selinux(8), pdns(8), semanage(8), restorecon(8), chcon(1), sepolicy(8),
237 setsebool(8), pdns_control_selinux(8), pdns_control_selinux(8)
238
239
240
241pdns 21-06-09 pdns_selinux(8)