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 dontaudit all daemons scheduling requests (setsched,
65 sys_nice), you must turn on the daemons_dontaudit_scheduling boolean.
66 Enabled by default.
67
68 setsebool -P daemons_dontaudit_scheduling 1
69
70
71
72 If you want to allow all domains to execute in fips_mode, you must turn
73 on the fips_mode boolean. Enabled by default.
74
75 setsebool -P fips_mode 1
76
77
78
79 If you want to allow system to run with NIS, you must turn on the
80 nis_enabled boolean. Disabled by default.
81
82 setsebool -P nis_enabled 1
83
84
85
87 The SELinux process type pdns_t can manage files labeled with the fol‐
88 lowing file types. The paths listed are the default paths for these
89 file types. Note the processes UID still need to have DAC permissions.
90
91 cluster_conf_t
92
93 /etc/cluster(/.*)?
94
95 cluster_var_lib_t
96
97 /var/lib/pcsd(/.*)?
98 /var/lib/cluster(/.*)?
99 /var/lib/openais(/.*)?
100 /var/lib/pengine(/.*)?
101 /var/lib/corosync(/.*)?
102 /usr/lib/heartbeat(/.*)?
103 /var/lib/heartbeat(/.*)?
104 /var/lib/pacemaker(/.*)?
105
106 cluster_var_run_t
107
108 /var/run/crm(/.*)?
109 /var/run/cman_.*
110 /var/run/rsctmp(/.*)?
111 /var/run/aisexec.*
112 /var/run/heartbeat(/.*)?
113 /var/run/pcsd-ruby.socket
114 /var/run/corosync-qnetd(/.*)?
115 /var/run/corosync-qdevice(/.*)?
116 /var/run/corosync.pid
117 /var/run/cpglockd.pid
118 /var/run/rgmanager.pid
119 /var/run/cluster/rgmanager.sk
120
121 krb5_host_rcache_t
122
123 /var/tmp/krb5_0.rcache2
124 /var/cache/krb5rcache(/.*)?
125 /var/tmp/nfs_0
126 /var/tmp/DNS_25
127 /var/tmp/host_0
128 /var/tmp/imap_0
129 /var/tmp/HTTP_23
130 /var/tmp/HTTP_48
131 /var/tmp/ldap_55
132 /var/tmp/ldap_487
133 /var/tmp/ldapmap1_0
134
135 pdns_var_lib_t
136
137 /var/lib/pdns(/.*)?
138
139 pdns_var_run_t
140
141 /var/run/pdns.pid
142 /var/run/pdns.controlsocket
143
144 root_t
145
146 /sysroot/ostree/deploy/.*-atomic/deploy(/.*)?
147 /
148 /initrd
149
150
152 SELinux requires files to have an extended attribute to define the file
153 type.
154
155 You can see the context of a file using the -Z option to ls
156
157 Policy governs the access confined processes have to these files.
158 SELinux pdns policy is very flexible allowing users to setup their pdns
159 processes in as secure a method as possible.
160
161 STANDARD FILE CONTEXT
162
163 SELinux defines the file context types for the pdns, if you wanted to
164 store files with these types in a different paths, you need to execute
165 the semanage command to specify alternate labeling and then use re‐
166 storecon to put the labels on disk.
167
168 semanage fcontext -a -t pdns_exec_t '/srv/pdns/content(/.*)?'
169 restorecon -R -v /srv/mypdns_content
170
171 Note: SELinux often uses regular expressions to specify labels that
172 match multiple files.
173
174 The following file types are defined for pdns:
175
176
177
178 pdns_conf_t
179
180 - Set files with the pdns_conf_t type, if you want to treat the files
181 as pdns configuration data, usually stored under the /etc directory.
182
183
184
185 pdns_control_exec_t
186
187 - Set files with the pdns_control_exec_t type, if you want to transi‐
188 tion an executable to the pdns_control_t domain.
189
190
191
192 pdns_exec_t
193
194 - Set files with the pdns_exec_t type, if you want to transition an ex‐
195 ecutable to the pdns_t domain.
196
197
198
199 pdns_unit_file_t
200
201 - Set files with the pdns_unit_file_t type, if you want to treat the
202 files as pdns unit content.
203
204
205
206 pdns_var_lib_t
207
208 - Set files with the pdns_var_lib_t type, if you want to store the pdns
209 files under the /var/lib directory.
210
211
212
213 pdns_var_run_t
214
215 - Set files with the pdns_var_run_t type, if you want to store the pdns
216 files under the /run or /var/run directory.
217
218
219 Paths:
220 /var/run/pdns.pid, /var/run/pdns.controlsocket
221
222
223 Note: File context can be temporarily modified with the chcon command.
224 If you want to permanently change the file context you need to use the
225 semanage fcontext command. This will modify the SELinux labeling data‐
226 base. You will need to use restorecon to apply the labels.
227
228
230 semanage fcontext can also be used to manipulate default file context
231 mappings.
232
233 semanage permissive can also be used to manipulate whether or not a
234 process type is permissive.
235
236 semanage module can also be used to enable/disable/install/remove pol‐
237 icy modules.
238
239 semanage boolean can also be used to manipulate the booleans
240
241
242 system-config-selinux is a GUI tool available to customize SELinux pol‐
243 icy settings.
244
245
247 This manual page was auto-generated using sepolicy manpage .
248
249
251 selinux(8), pdns(8), semanage(8), restorecon(8), chcon(1), sepolicy(8),
252 setsebool(8), pdns_control_selinux(8), pdns_control_selinux(8)
253
254
255
256pdns 23-12-15 pdns_selinux(8)