Changeset 157
- Timestamp:
- 01/08/08 12:50:13
(11 months ago)
- Author:
- bwilliams
- Message:
changed secure mode to be more useful
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r156 |
r157 |
|
| 1 | | ## <summary> |
|---|
| | 1 | ## <summary |
|---|
| 2 | 2 | ## Policy for kernel security interface, in particular, selinuxfs. |
|---|
| 3 | 3 | ## </summary> |
|---|
| … | … | |
| 198 | 198 | if(!secure_mode_policyload) { |
|---|
| 199 | 199 | allow $1 security_t:security setenforce; |
|---|
| 200 | | |
|---|
| 201 | | ifdef(`distro_rhel4',` |
|---|
| 202 | | # needed for systems without audit support |
|---|
| 203 | | auditallow $1 security_t:security setenforce; |
|---|
| 204 | | ') |
|---|
| 205 | 200 | } |
|---|
| 206 | 201 | ') |
|---|
| … | … | |
| 220 | 215 | type security_t; |
|---|
| 221 | 216 | attribute can_load_policy; |
|---|
| | 217 | bool secure_mode_policyload; |
|---|
| 222 | 218 | ') |
|---|
| 223 | 219 | |
|---|
| … | … | |
| 228 | 224 | if(!secure_mode_policyload) { |
|---|
| 229 | 225 | allow $1 security_t:security load_policy; |
|---|
| 230 | | |
|---|
| 231 | | ifdef(`distro_rhel4',` |
|---|
| 232 | | # needed for systems without audit support |
|---|
| 233 | | auditallow $1 security_t:security load_policy; |
|---|
| 234 | | ') |
|---|
| 235 | 226 | } |
|---|
| 236 | 227 | ') |
|---|
| … | … | |
| 265 | 256 | allow $1 security_t:dir list_dir_perms; |
|---|
| 266 | 257 | allow $1 security_t:file { getattr read write }; |
|---|
| | 258 | allow $1 security_t:security setbool; |
|---|
| 267 | 259 | |
|---|
| 268 | 260 | if(!secure_mode_policyload) { |
|---|
| 269 | | allow $1 security_t:security setbool; |
|---|
| 270 | | |
|---|
| 271 | | ifdef(`distro_rhel4',` |
|---|
| 272 | | # needed for systems without audit support |
|---|
| 273 | | auditallow $1 security_t:security setbool; |
|---|
| 274 | | ') |
|---|
| | 261 | allow $1 secure_mode_policyload_bool_t:file write; |
|---|
| 275 | 262 | } |
|---|
| 276 | 263 | ') |
|---|
| | 264 | |
|---|
| | 265 | |
|---|
| | 266 | ######################################## |
|---|
| | 267 | ## <summary> |
|---|
| | 268 | ## Allow caller to change from secure_mode to unsecure_mode |
|---|
| | 269 | ## </summary> |
|---|
| | 270 | ## <desc> |
|---|
| | 271 | ## <p> |
|---|
| | 272 | ## Allow caller to set the state of Booleans to |
|---|
| | 273 | ## enable or disable conditional portions of the policy. |
|---|
| | 274 | ## </p> |
|---|
| | 275 | ## <p> |
|---|
| | 276 | ## Since this is a security event, this action is |
|---|
| | 277 | ## always audited. |
|---|
| | 278 | ## </p> |
|---|
| | 279 | ## </desc> |
|---|
| | 280 | ## <param name="domain"> |
|---|
| | 281 | ## <summary> |
|---|
| | 282 | ## The process type allowed to set the Boolean. |
|---|
| | 283 | ## </summary> |
|---|
| | 284 | ## </param> |
|---|
| | 285 | ## <rolecap/> |
|---|
| | 286 | # |
|---|
| | 287 | interface(`selinux_set_secure_mode',` |
|---|
| | 288 | gen_require(` |
|---|
| | 289 | type secure_mode_policyload_bool_t; |
|---|
| | 290 | ') |
|---|
| | 291 | |
|---|
| | 292 | selinux_set_boolean($1) |
|---|
| | 293 | |
|---|
| | 294 | allow $1 secure_mode_policyload_bool_t:file write; |
|---|
| | 295 | ') |
|---|
| | 296 | |
|---|
| | 297 | |
|---|
| 277 | 298 | |
|---|
| 278 | 299 | ######################################## |
|---|
| r153 |
r157 |
|
| 23 | 23 | genfscon selinuxfs / gen_context(system_u:object_r:security_t,s0) |
|---|
| 24 | 24 | |
|---|
| | 25 | type secure_mode_policyload_bool_t; |
|---|
| | 26 | files_type(secure_mode_policyload_bool_t) |
|---|
| | 27 | genfscon selinuxfs /booleans/secure_mode_policyload gen_context(system_u:object_r:secure_mode_policyload_bool_t,s0) |
|---|
| | 28 | |
|---|
| | 29 | |
|---|
| 25 | 30 | neverallow ~{ selinux_unconfined_type can_load_policy } security_t:security load_policy; |
|---|
| 26 | 31 | neverallow ~{ selinux_unconfined_type can_setenforce } security_t:security setenforce; |
|---|
| … | … | |
| 37 | 42 | |
|---|
| 38 | 43 | # Access the security API. |
|---|
| 39 | | allow selinux_unconfined_type security_t:security ~{ load_policy setenforce setbool }; |
|---|
| | 44 | allow selinux_unconfined_type security_t:security ~{ load_policy setenforce }; |
|---|
| | 45 | |
|---|
| | 46 | ifdef(`distro_rhel4',` |
|---|
| | 47 | # needed for systems without audit support |
|---|
| | 48 | auditallow { domain unlabeled_t } security_t:security { load_policy setenforce setbool}; |
|---|
| | 49 | ') |
|---|
| 40 | 50 | |
|---|
| 41 | 51 | if(!secure_mode_policyload) { |
|---|
| 42 | | allow selinux_unconfined_type security_t:security { load_policy setenforce setbool }; |
|---|
| 43 | | |
|---|
| 44 | | ifdef(`distro_rhel4',` |
|---|
| 45 | | # needed for systems without audit support |
|---|
| 46 | | auditallow selinux_unconfined_type security_t:security { load_policy setenforce setbool }; |
|---|
| 47 | | ') |
|---|
| | 52 | allow selinux_unconfined_type security_t:security { load_policy setenforce }; |
|---|
| | 53 | allow selinux_unconfined_type secure_mode_policyload_bool_t:file write; |
|---|
| 48 | 54 | } |
|---|
| r153 |
r157 |
|
| 1423 | 1423 | selinux_set_enforce_mode($1) |
|---|
| 1424 | 1424 | selinux_set_boolean($1) |
|---|
| | 1425 | selinux_set_secure_mode($1) |
|---|
| 1425 | 1426 | selinux_set_parameters($1) |
|---|
| 1426 | 1427 | |
|---|
Download in other formats:
* Generating other formats may take time.