|
|
1 | (56) |
|
|
3 | (12) |
|
The Inevitability of Software Failure |
|
|
4 | (1) |
|
The Evolution of Access Control Security in Operating Systems |
|
|
5 | (8) |
|
The Reference Monitor Concept |
|
|
6 | (1) |
|
The Problem with Discretionary Access Control |
|
|
7 | (1) |
|
The Origins of Mandatory Access Control |
|
|
8 | (2) |
|
A Better Form of Mandatory Access Control |
|
|
10 | (1) |
|
|
11 | (2) |
|
|
13 | (2) |
|
|
13 | (2) |
|
|
15 | (24) |
|
Security Contexts for Type Enforcement |
|
|
16 | (3) |
|
Comparing SELinux with Standard Linux |
|
|
17 | (1) |
|
More on Security Contexts |
|
|
18 | (1) |
|
Type Enforcement Access Control |
|
|
19 | (10) |
|
Type Enforcement by Example |
|
|
21 | (1) |
|
The Problem of Domain Transitions |
|
|
22 | (1) |
|
Review of SetUID Programs in Standard Linux Security |
|
|
23 | (2) |
|
|
25 | (3) |
|
Default Domain Transitions: type_transition Statement |
|
|
28 | (1) |
|
|
29 | (2) |
|
Multilevel Security in SELinux |
|
|
31 | (1) |
|
SELinux Features Familiarization |
|
|
32 | (4) |
|
Revisiting the Passwd Example |
|
|
33 | (1) |
|
|
34 | (2) |
|
|
36 | (3) |
|
|
37 | (2) |
|
|
39 | (18) |
|
|
40 | (3) |
|
|
40 | (2) |
|
|
42 | (1) |
|
Userspace Object Managers |
|
|
43 | (4) |
|
Kernel Support for Userspace Object Managers |
|
|
44 | (1) |
|
Policy Server Architecture |
|
|
45 | (2) |
|
|
47 | (6) |
|
The Native SELinux Policy Language Compiler |
|
|
48 | (2) |
|
Source Policy Modules in a Monolithic Policy |
|
|
50 | (1) |
|
|
50 | (1) |
|
Building and Installing Monolithic Policies |
|
|
51 | (2) |
|
|
53 | (4) |
|
|
54 | (3) |
|
Part II SELinux Policy Language |
|
|
57 | (180) |
|
Object Classes and Permissions |
|
|
59 | (30) |
|
Purpose of Object Classes in SELinux |
|
|
60 | (1) |
|
Defining Object Classes in SELinux Policy |
|
|
61 | (6) |
|
|
62 | (1) |
|
Declaring and Associating Object Class Permissions |
|
|
63 | (4) |
|
|
67 | (6) |
|
File-Related Object Classes |
|
|
67 | (2) |
|
Network-Related Object Classes |
|
|
69 | (3) |
|
System V IPC Object Classes |
|
|
72 | (1) |
|
Miscellaneous Object Classes |
|
|
73 | (1) |
|
Object Class Permission Examples |
|
|
73 | (11) |
|
File Object Class Permissions |
|
|
74 | (4) |
|
Process Object Class Permissions |
|
|
78 | (6) |
|
Exploring Object Classes with Apol |
|
|
84 | (2) |
|
|
86 | (3) |
|
|
87 | (2) |
|
|
89 | (40) |
|
|
90 | (1) |
|
Types, Attributes, and Aliases |
|
|
91 | (9) |
|
|
92 | (1) |
|
|
93 | (1) |
|
Associating Types and Attributes |
|
|
94 | (4) |
|
|
98 | (2) |
|
|
100 | (15) |
|
|
100 | (8) |
|
|
108 | (1) |
|
|
109 | (2) |
|
|
111 | (4) |
|
|
115 | (7) |
|
|
115 | (2) |
|
|
117 | (4) |
|
|
121 | (1) |
|
Exploring Type Enforcement Rules with Apol |
|
|
122 | (5) |
|
|
127 | (2) |
|
|
128 | (1) |
|
|
129 | (20) |
|
Role-Based Access Control in SELinux |
|
|
130 | (5) |
|
Overview of RBAC in SELinux |
|
|
130 | (2) |
|
Managing User Privileges with Roles |
|
|
132 | (3) |
|
Users and Roles in Object Security Contexts |
|
|
135 | (1) |
|
Roles and Role Statements |
|
|
135 | (5) |
|
Role Declaration Statement |
|
|
135 | (2) |
|
|
137 | (1) |
|
|
138 | (1) |
|
|
138 | (2) |
|
Users and User Statements |
|
|
140 | (4) |
|
Declaring Users and Associating Roles |
|
|
141 | (1) |
|
Mapping Linux Users to SELinux Users |
|
|
142 | (2) |
|
Exploring Roles and Users with Apol |
|
|
144 | (2) |
|
|
146 | (3) |
|
|
147 | (2) |
|
|
149 | (14) |
|
A Closer Look at the Access Decision Algorithm |
|
|
150 | (2) |
|
|
152 | (5) |
|
Label Transition Constraints |
|
|
157 | (4) |
|
|
161 | (2) |
|
|
161 | (2) |
|
|
163 | (20) |
|
Multilevel Security Constraints |
|
|
164 | (1) |
|
Security Contexts with MLS |
|
|
165 | (5) |
|
|
165 | (4) |
|
MLS Extensions to Security Contexts |
|
|
169 | (1) |
|
|
170 | (9) |
|
|
170 | (5) |
|
mlsvalidatetrans Statement |
|
|
175 | (4) |
|
|
179 | (1) |
|
|
180 | (3) |
|
|
181 | (2) |
|
|
183 | (22) |
|
Overview of Conditional Policies |
|
|
184 | (1) |
|
|
185 | (6) |
|
Defining Boolean Variables |
|
|
185 | (1) |
|
Managing Booleans in a Running System |
|
|
186 | (3) |
|
Persistent Changes to Boolean Values |
|
|
189 | (2) |
|
|
191 | (7) |
|
Conditional Expressions and Rule Lists |
|
|
192 | (4) |
|
Conditional Statement Limitations |
|
|
196 | (2) |
|
Examining Booleans and Conditional Policies with Apol |
|
|
198 | (4) |
|
|
202 | (3) |
|
|
203 | (2) |
|
|
205 | (32) |
|
Introduction to Object Labeling |
|
|
206 | (2) |
|
File-Related Object Labeling |
|
|
208 | (13) |
|
Extended Attribute Filesystems (fs_use_xattr) |
|
|
211 | (5) |
|
Task-Based Filesystems (fs_use_task) |
|
|
216 | (1) |
|
Transition-Based Filesystems (fs_use_trans) |
|
|
216 | (1) |
|
Generalized Security Context Labeling (genfscon) |
|
|
217 | (4) |
|
Network and Socket Object Labeling |
|
|
221 | (7) |
|
Network Interface Labeling (netifcon) |
|
|
222 | (1) |
|
Network Node Labeling (nodecon) |
|
|
223 | (2) |
|
Network Port Labeling (portcon) |
|
|
225 | (2) |
|
|
227 | (1) |
|
|
228 | (1) |
|
Miscellaneous Object Labeling |
|
|
228 | (2) |
|
Capability Object Labeling |
|
|
229 | (1) |
|
|
229 | (1) |
|
System and Security Object Labeling |
|
|
230 | (1) |
|
Initial Security Identifiers |
|
|
230 | (3) |
|
Exploring Object Labeling with Apol |
|
|
233 | (2) |
|
|
235 | (2) |
|
|
236 | (1) |
|
Part III Creating and Writing SELinux Security Policies |
|
|
237 | (126) |
|
|
239 | (26) |
|
Methods for Managing the Build Process |
|
|
240 | (2) |
|
|
242 | (19) |
|
Overview of Policy Source File Structure |
|
|
244 | (8) |
|
Examining an Example Policy Module |
|
|
252 | (6) |
|
Build Options for Strict Example Policy |
|
|
258 | (3) |
|
|
261 | (1) |
|
|
262 | (3) |
|
|
263 | (2) |
|
|
265 | (30) |
|
Goals of the Reference Policy |
|
|
266 | (2) |
|
Overview of Policy Source File Structure |
|
|
268 | (3) |
|
|
268 | (1) |
|
|
269 | (2) |
|
|
271 | (10) |
|
|
271 | (1) |
|
|
272 | (9) |
|
Examining a Reference Policy Module |
|
|
281 | (6) |
|
Build Options for Reference Policy |
|
|
287 | (4) |
|
|
287 | (2) |
|
|
289 | (2) |
|
|
291 | (4) |
|
|
292 | (3) |
|
Managing an SELinux System |
|
|
295 | (30) |
|
SELinux Configuration and Policy Management Files |
|
|
296 | (11) |
|
The SELinux Configuration File (/etc/selinux/config) |
|
|
296 | (3) |
|
|
299 | (8) |
|
Impact of SELinux on System Administration |
|
|
307 | (16) |
|
|
307 | (5) |
|
Understanding Audit Messages |
|
|
312 | (6) |
|
Fixing Problems: File-Related Object Labeling |
|
|
318 | (5) |
|
Managing Multiple Policies |
|
|
323 | (1) |
|
|
323 | (2) |
|
|
324 | (1) |
|
|
325 | (38) |
|
Overview of Writing a Policy Module |
|
|
326 | (1) |
|
|
327 | (5) |
|
Gathering Application Information |
|
|
327 | (1) |
|
Creating a Test Environment |
|
|
328 | (4) |
|
Specifying Security Goals |
|
|
332 | (1) |
|
Creating an Initial Policy Module |
|
|
332 | (17) |
|
Creating Policy Module Files |
|
|
333 | (1) |
|
|
333 | (4) |
|
Allowing Initial Restrictive Access |
|
|
337 | (5) |
|
Allowing Domain Transitions and Authorizing Roles |
|
|
342 | (1) |
|
Integrating into the System Policy |
|
|
343 | (2) |
|
Creating the Labeling Policy |
|
|
345 | (2) |
|
|
347 | (2) |
|
Testing and Analyzing the Policy |
|
|
349 | (6) |
|
Testing the Policy Module |
|
|
349 | (5) |
|
|
354 | (1) |
|
Emerging Policy Development Tools |
|
|
355 | (1) |
|
Complete IRC Daemon Module Listings |
|
|
355 | (7) |
|
|
362 | (1) |
|
Appendix A Obtaining SELinux Sample Policies |
|
|
363 | (6) |
|
|
364 | (3) |
|
Example Policy from Upstream SELinux Sites |
|
|
364 | (1) |
|
Strict and Targeted Policies for Fedora Core 4 |
|
|
365 | (1) |
|
Red Hat Enterprise Linux 4 (RHEL4) |
|
|
366 | (1) |
|
Fedora Core Experimental and Test Policies |
|
|
367 | (1) |
|
|
367 | (2) |
|
|
368 | (1) |
|
Red Hat's Fedora Core 5 Reference Policy |
|
|
368 | (1) |
|
Appendix B Participation and Further Information |
|
|
369 | (6) |
|
|
370 | (1) |
|
The Annual SELinux Symposium |
|
|
370 | (1) |
|
|
371 | (1) |
|
|
371 | (1) |
|
|
371 | (1) |
|
|
372 | (1) |
|
|
372 | (1) |
|
|
372 | (1) |
|
Other Related Security Information |
|
|
373 | (2) |
|
Appendix C Object Classes and Permissions |
|
|
375 | (26) |
|
|
376 | (3) |
|
Object Classes and Defined Permission Sets |
|
|
379 | (22) |
|
File-Related Object Classes |
|
|
379 | (4) |
|
Network and Socket Object Classes |
|
|
383 | (8) |
|
System V IPC-Related Object Classes |
|
|
391 | (1) |
|
Miscellaneous Object Classes |
|
|
392 | (9) |
|
Appendix D SELinux Commands and Utilities |
|
|
401 | (8) |
|
|
402 | (4) |
|
|
402 | (1) |
|
SELinux Status Information |
|
|
403 | (1) |
|
Security Context Labeling |
|
|
404 | (1) |
|
Security Context Changing Utilities |
|
|
405 | (1) |
|
SELinux Modified Commands |
|
|
405 | (1) |
|
Policy Module Manual Pages |
|
|
406 | (1) |
|
|
406 | (2) |
|
|
408 | (1) |
Index |
|
409 | |