summaryrefslogtreecommitdiffstats
path: root/man/sechecker.1
blob: ecc2a073562b135f9bae8c0544feb38bef0f9ee3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
.TH sechecker 1
.SH NAME
sechecker \- SELinux policy checking tool
.SH SYNOPSIS
.B sechecker
[OPTIONS] -p profile [POLICY ...]
.br
.B sechecker
[OPTIONS] -m module [POLICY ...]
.br
.B sechecker
[OPTIONS] -p profile -m module [POLICY ...]
.SH DESCRIPTION
.PP
.B sechecker
allows the user to perform predefined modular checks on a SELinux policy.
Profiles exist to group modules together and allow modification of module settings (see below).
.SH POLICY
.PP
.B
sechecker
supports loading a SELinux policy in one of four formats.
.IP "source"
A single text file containing policy source for versions 12 through 21. This file is usually named policy.conf.
.IP "binary"
A single file containing a monolithic kernel binary policy for versions 15 through 21. This file is usually named by version - for example, policy.20.
.IP "modular"
A list of policy packages each containing a loadable policy module. The first module listed must be a base module.
.IP "policy list"
A single text file containing all the information needed to load a policy, usually exported by SETools graphical utilities.
.PP
If no policy file is provided,
.B
sechecker
will search for the system default policy: checking first for a source policy, next for a binary policy matching the running kernel's preferred version, and finally for the highest version that can be found.
In the latter case, the policy will be downgraded to match the running system.
If no policy can be found,
.B
sechecker
will print an error message and exit.
.SH OPTIONS
.IP "-p PROFILE, --profile=PROFILE"
Load module settings from a module profile.
The settings in the profile will override the default settings for all specified modules.
If specified without -m, run all modules in the profile.
PROFILE may either be the name of a known profile (see --list) or the path to a user created profile.
see PROFILE OPTIONS below for more information about creating profiles.
.IP "-m MODULE, --module=MODULE"
Run only the module named MODULE (see --list).
.IP "--min-sev=SEVERITY"
Report only results with the minimum severity of SEVERITY.
SEVERITY must have one of the following values:
.RS
.IP "low"
The module's results indicate a flaw in the policy that does not affect the manner in which the policy is enforced, but is considered to be improper.
.IP "med"
The module's results indicate a flaw in the policy that changes the manner in which the policy is enforced; however, it does not present an identifiable security risk.
.IP "high"
The module's results indicate a flaw in the policy that presents an identifiable security risk.
.RE
.IP "--fcfile=FILE"
Use FILE for the file_contexts file instead of the system default.
This flag is only applicable if sechecker was configured with the
.B
--enable-sefs
flag.
.IP "-l, --list"
Print a list of the name and a brief description of all known profiles and modules and exit.
.IP "-h[MODULE], --help[=MODULE]"
Print general help information and exit.
If MODULE is provided, print help information for the module named MODULE and exit.
.IP "-V, --version"
Print version information and exit.
.SS REPORT GENERATION OPTIONS
.P
Only one of the following may be provided to specify the length of the report for all modules.
If provided, this option overrides both profile and module default output settings.
.IP "-q, --quiet"
suppress output
.IP "-s, --short"
print short output
.IP "-v, --verbose"
print verbose output
.SH PROFILE OPTIONS
Profiles are used to group modules together, to specify the output format for each module in the report, and to provide the ability to override the modules' default options.  Each profile is a well-formed XML document, as specified by the DTD installed with sechecker.  An example profile follows:
.PP
<sechecker version="1.1">
.br
	<profile>
.br
		<module name="find_domains">
.br
			<output value="quiet"/>
.br
			<option name="domain_attribute">
.br
				<item value="domain"/>
.br
				<item value="user_domain"/>
.br
				...
.br
			</option>
.br
		</module>
.br
		...
.br
	</profile>
.br
</sechecker>
.PP
The example profile specifies the output property for the find_domains module.
The example profile also overrides the default value for the "domain_attribute" option in the find_domains module.
.SS PROFILE OUTPUT OPTIONS
The valid output values for each module are specified below:
.IP "verbose"
Print each result in the report with accompanying proof(s).
.IP "short"
Print a list of results with no accompanying proof.
.IP "none"
Do not print output from this module in the report; however, module errors will still be printed.
.IP "quiet"
Do not print output from this module in the report and do not print errors. This is useful for utility modules for which the calling module handles any errors.
.SS PROFILE MODULE OPTIONS
Several modules provide one or more options that can be set from a profile.
Each option has one or more items.
To check what options are available for a module use --help=MODULE, where MODULE is the name of the module as printed by --list.
.SH AUTHOR
This manual page was written by Jeremy A. Mowery <jmowery@tresys.com>.
.SH COPYRIGHT
Copyright(C) 2005-2008 Tresys Technology, LLC
.SH BUGS
Please report bugs via an email to setools-bugs@tresys.com.
.SH SEE ALSO
apol(1)