NetBSD/sbin/veriexecctl/veriexecctl.8

149 lines
4.5 KiB
Groff

.\" $NetBSD: veriexecctl.8,v 1.11 2005/04/24 13:23:55 blymn Exp $
.\"
.\" Copyright (c) 1999
.\" Brett Lymn - blymn@baea.com.au, brett_lymn@yahoo.com.au
.\"
.\" This code is donated to The NetBSD Foundation by the author.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. The name of the Author may not be used to endorse or promote
.\" products derived from this software without specific prior written
.\" permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" $Id: veriexecctl.8,v 1.11 2005/04/24 13:23:55 blymn Exp $
.\"
.Dd April 22, 2005
.Dt VERIEXECCTL 8
.Os
.Sh NAME
.Nm veriexecctl
.Nd load or report verified exec fingerprints
.Sh SYNOPSIS
.Nm
.Cm fingerprints
.Nm
.Cm load Ar veriexec.conf
.Sh DESCRIPTION
The
.Nm
command is used to manipulate the Verified Exec feature.
Verified Exec must have been configured into the booted kernel for this
commaned to work.
.Sh COMMANDS
.Bl -tag -width 25n
.It Cm fingerprints
Report the fingerprint methods that are available in the currently running
kernel.
This command will return a space separated list of supported fingerprint
methods that will be accepted by the kernel.
The default list is:
.Bl -item -offset indent -compact
.It
MD5
.It
RMD160
.It
SHA1
.It
SHA256
.It
SHA384
.It
SHA512
.El
.It Cm load Ar veriexec.conf
Load the fingerprint entries contained in
.Ar veriexec.conf
into the in kernel tables.
This operation is only available if kern.securelevel is less than or
equal to zero.
Once loaded the kernel can then validate executed programs
or files against the loaded fingerprints and report when fingerprints
do not match.
.El
.Sh VERIEXEC.CONF
The
.Pa veriexec.conf
file contains lines of fields (separated by one or more whitespace
characters) of the form:
.Pp
.Dl path type fingerprint options
.Pp
Where
.Em path
is the full path to the file and
.Em type
is the type of fingerprint used, see above for the default list.
Other fingerprints may be available depending on kernel configuration,
use the
.Cm fingerprints
command option to extract the fingerprints supported by the currently
running kernel.
The
.Em fingerprint
field is a hexadecimal representation of the fingerprint for
the file.
The field
.Em options
contains the associated options for the file.
Currently there are two valid options:
.Pp
.Bl -tag -width INDIRECT -compact
.It Dv INDIRECT
If this option is set then the executable cannot be invoked directly, it
can only be used as an interpreter in shell scripts.
.It Dv FILE
Indicates that the fingerprint is associated with a file, not an
executable.
Files have their fingerprints verified during
.Xr open 2
and are automatically made read only.
This option may be used to verify shared libraries have not been
tampered with.
.El
.Pp
There must be only one executable/fingerprint pair per line.
Comments are indicated by the first character of a line being a
.Sq \&#
character.
.Sh FILES
.Bl -tag -width /dev/veriexec -compact
.It Pa /dev/veriexec
verified executable device node
.El
.Sh SEE ALSO
.Xr veriexec 4 ,
.Pa /usr/share/examples/veriexecctl/gen_md5 ,
.Pa /usr/share/examples/veriexecctl/gen_rmd160 ,
.Pa /usr/share/examples/veriexecctl/gen_sha1
.Sh HISTORY
.Nm
first appeared in
.Nx 2.0 .
.Sh NOTES
.Nm
requires the kernel to have been configured with the
.Dv VERIFIED_EXEC
option and the verifiedexec pseudo-device.
.Sh BUGS
There must be no whitespace in the path field of a fingerprint entry.