File: check-setuid.8

package info (click to toggle)
checksecurity 2.0.16%2Bnmu3
  • links: PTS
  • area: main
  • in suites: bookworm
  • size: 260 kB
  • sloc: sh: 285; perl: 202; makefile: 74
file content (148 lines) | stat: -rw-r--r-- 3,968 bytes parent folder | download | duplicates (4)
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
137
138
139
140
141
142
143
144
145
146
147
148
.\" -*- nroff -*-
.TH CHECKS-SETUID 8 "2 February 1997" "Debian Linux"
.SH NAME
check-setuid \- check for changes to setuid programs
.SH SYNOPSIS
.B check-setuid
.SH DESCRIPTION
The
.B check-setuid
is a plugin run by the
.B checksecurity
command. It scans the mounted files systems (subject to the filter defined
in /etc/checksecurity.conf) and compares the list of setuid programs to the
list created on the previous run. Any changes are printed to standard
output. Also, it generates a list of 
.I nfs
and 
.I afs
filesystems that are mounted insecurely (i.e. they are missing the 
.I nodev 
and either the
.I noexec
or
.I nosuid 
flags).
.PP
.B checksecurity
is run by 
.B cron
on a daily basis, and the output stored in /var/log/setuid/setuid.changes.
.SH CONFIGURATION
The
.B checksecurity.conf
file defines several configuration variables:
.BR CHECKSECURITY_FILTER ,
.BR CHECKSECURITY_NOFINDERRORS ,
.BR CHECKSECURITY_NONFSAFS ,
.BR CHECKSECURITY_EMAIL ,
.BR CHECKSECURITY_DEVICEFILTER ,
.BR CHECKSECURITY_PATHFILTER , 
and
.BR LOGDIR .
Each is described below.
.PP
The 
.B CHECKSECURITY_FILTER
environment variable which is the argument of 'grep \-vE' applied to
the output of the  
.B mount
command. In other words, the value of
.B CHECKSECURITY_FILTER
is a regular expression that removes matching lines from those
file systems that will be scanned. The default value removes
all file systems of type 
.I proc, bind, msdos, iso9660, ncpfs, nfs, afs,
.I smbfs, auto, ntfs, coda
file systems, 
anything mounted on /dev/fd*, anything mounted
on /mnt or /amd, and anything mounted with option nosuid or noexec.
.PP
The
.B checksecurity.conf
file is sourced from 
.B checksecurity,
so you could do some fairly tricky things to define 
.BR CHECKSECURITY_FILTER .
.PP
The 
.B CHECKSECURITY_NOFINDERRORS 
environment variable, if set to the literal "TRUE", disables
find errors from checksecurity (actually, it re\-routes them to 
.B /dev/null
).
.PP
The
.B CHECKSECURITY_NONFSAFS
environment variable, if set to the literal "TRUE", disables the message about 
.I nfs
and
.I afs
file systems that are mounted without the
.I nodev 
and either the
.I noexec
or
.I nosuid 
options.
.PP
If set, the 
.B CHECKSECURITY_EMAIL
variable defines who is sent a copy of the setuid.changes file.
.PP
The
.B CHECKSECURITY_DEVICEFILTER
variable specifies a 
.B find
clause for which matching block and character device files will not be
monitored for changing owners and permissions. For example, if you
don't want to check for permission changes on tty device files
beneath /dev, you could set the following:
.PP
.RS
CHECKSECURITY_DEVICEFILTER='\-path /dev/tty*'
.RE
.PP
Note that any added or modified suid programs under that path would
still be detected. If you want to specify multiple expressions,
separate them with '\-o', but there is no need to surround the whole
clause with parentheses. To disable this filter, specify it as
\&'\-false' (which is the default).
.PP
Note that if the system gets restarted often checksecurity will report a lot of
changes in the /dev/ subdirectory due to timestamp changes. In this case you
might want to change it to:
.PP
.RS
CHECKSECURITY_DEVICEFILTER='\-path /dev/'
.RE
.PP
The
.B CHECKSECURITY_PATHFILTER
variable specifies a 
.B find
clause which will be pruned from the search path.
.B This means that the entire subtree will be completely skipped.
Thus, specifying  
.PP
.RS
CHECKSECURITY_PATHFILTER='\-path /var/ftp'
.RE
.PP
then the entire /var/ftp tree will be skipped. To disable this filter,
specify it as '\-false' (which is the default).
.PP
.B LOGDIR
sets the name of the directory which stores the files which track
the permission and ownership changes. By default, they are in 
.BR /var/log/setuid .
.SH FILES
.TP
.I /etc/checksecurity.conf
checksecurity configuration file
.TP
.I /var/log/setuid/setuid.today
setuid files from the most recent run
.TP
.I /var/log/setuid/setuid.yesterday
setuid files from the previous run