FreeBSD src
Go to file
Robert Watson d8a7b7a3cd Introduce support for Mandatory Access Control and extensible
kernel access control.

Provide implementations of some sample operating system security
policy extensions.  These are not yet hooked up to the build as
other infrastructure is still being committed.  Most of these
work fairly well and are in daily use in our development and (limited)
production environments.  Some are not yet in their final form,
and a number of the labeled policies waste a lot of kernel memory
and will be fixed over the next month or so to be more conservative.
They do give good examples of the flexibility of the MAC framework
for implementing a variety of security policies.

mac_biba:	Implementation of fixed-label Biba integrity policy,
		similar to those found in a number of commercial
		trusted operating systems.  All subjects and objects
		are assigned integrity levels, and information flow
		is controlled based on a read-up, write-down
		policy.  Currently, purely hierarchal.

mac_bsdextended:	Implementation of a "file system firewall",
		which allows the administrator to specify a series
		of rules limiting access by users and groups to
		objects owned by other users and groups.  This
		policy is unlabeled, relying on existing system
		security labeling (file permissions/ownership,
		process credentials).

mac_ifoff:	Secure interface silencing.  Special-purpose module
		to limit inappropriate out-going network traffic
		for silent monitoring scenarios.  Prevents the
		various network stacks from generating any output
		despite an interface being live for reception.

mac_mls:	Implementation of fixed-label Multi-Level Security
		confidentiality policy, similar to those found in
		a number of commercial trusted operating systems.
		All subjects and objects are assigned confidentiality
		levels, and information flow is controlled based on
		a write-up, read-down policy.  Currently, purely
		hiearchal, although non-hierarchal support is in the
		works.

mac_none:	Policy module implementing all MAC policy entry
		points with empty stubs.  A good place to start if
		you want all the prototypes types in for you, and
		don't mind a bit of pruning.  Can be loaded, but
		has no access control impact.  Useful also for
		performance measurements.

mac_seeotheruids:	Policy module implementing a security service
		similar to security.bsd.seeotheruids, only a slightly
		more detailed policy involving exceptions for members
		of specific groups, etc.  This policy is unlabeled,
		relying on existing system security labeling
		(process credentials).

mac_test:	Policy module implementing basic sanity tests for
		label handling.  Attempts to ensure that labels are
		not freed multiple times, etc, etc.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, NAI Labs
2002-07-31 18:07:45 +00:00
bin Fix an easy WARNS. 2002-07-31 16:53:59 +00:00
contrib Routing socket messages are padded to sizeof(long), not just 2002-07-30 04:49:13 +00:00
crypto Resolve conflicts after import of OpenSSL 0.9.6e. 2002-07-30 13:58:53 +00:00
etc FreeBSD has setkey in different location from NetBSD. 2002-07-31 16:39:19 +00:00
games Drop support for COPY, -c has been the default mode of install(1) 2002-07-29 09:40:17 +00:00
gnu Drop support for COPY, -c has been the default mode of install(1) 2002-07-29 09:40:17 +00:00
include Remove duplicated '__BEGIN_DECLS' which obviated compiling 2002-07-21 20:37:58 +00:00
kerberos5
kerberosIV Drop support for COPY, -c has been the default mode of install(1) 2002-07-29 09:40:17 +00:00
lib Sort headers to reduce diffs between branches. 2002-07-31 15:11:59 +00:00
libexec Deny the SIZE command on large files when in ASCII mode. 2002-07-31 10:55:31 +00:00
release New release note: SA-02:32. 2002-07-31 16:13:59 +00:00
sbin Fix a bunch of format string warnings which broke 2002-07-31 12:01:14 +00:00
secure Update list of installed manual pages after regenerating them. 2002-07-30 14:47:24 +00:00
share sort(1) and uniq(1). 2002-07-31 16:44:01 +00:00
sys Introduce support for Mandatory Access Control and extensible 2002-07-31 18:07:45 +00:00
tools As of revision 1.38 of make/parse.c, our make(1) will warn too. Note that 2002-07-28 03:57:08 +00:00
usr.bin Rewrite sockstat(1) in C. 2002-07-31 12:32:03 +00:00
usr.sbin Use struct xfile, not struct file. 2002-07-31 12:43:17 +00:00
COPYRIGHT
MAINTAINERS Added groff(1) and natd(8) entries. 2002-07-18 12:12:15 +00:00
Makefile Indentation. 2002-07-20 10:01:00 +00:00
Makefile.inc1 - Define NO_CPU_CFLAGS during BMAKE and TMAKE (and thus XMAKE) so that 2002-07-31 03:56:03 +00:00
Makefile.upgrade
README Fix broken handbook links. 2002-07-21 16:45:30 +00:00
UPDATING Ignore -C, -p, and -S options of install(1) when used with the -d 2002-07-29 08:51:04 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on:
$FreeBSD$

For copyright information, please see the file COPYRIGHT in this
directory (additional copyright information also exists for some
sources in this tree - please see the specific source directories for
more information).

The Makefile in this directory supports a number of targets for
building components (or all) of the FreeBSD source tree, the most
commonly used one being ``world'', which rebuilds and installs
everything in the FreeBSD system from the source tree except the
kernel, the kernel-modules and the contents of /etc.  The
``buildkernel'' and ``installkernel'' targets build and install
the kernel and the modules (see below).  Please see the top of
the Makefile in this directory for more information on the
standard build targets and compile-time flags.

Building a kernel is a somewhat more involved process, documentation
for which can be found at:
   http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html
And in the config(8) man page.
Note: If you want to build and install the kernel with the
``buildkernel'' and ``installkernel'' targets, you might need to build
world before.  More information is available in the handbook.

The sample kernel configuration files reside in the sys/<arch>/conf
sub-directory (assuming that you've installed the kernel sources), the
file named GENERIC being the one used to build your initial installation
kernel.  The file NOTES contains entries and documentation for all possible
devices, not just those commonly used.  It is the successor of the ancient
LINT file, but in contrast to LINT, it is not buildable as a kernel but a
pure reference and documentation file.


Source Roadmap:
---------------
bin		System/user commands.

contrib		Packages contributed by 3rd parties.

crypto		Cryptography stuff (see crypto/README).

etc		Template files for /etc.

games		Amusements.

gnu		Various commands and libraries under the GNU Public License.
		Please see gnu/COPYING* for more information.

include		System include files.

kerberos5	Kerberos5 (Heimdal) package.

kerberosIV	KerberosIV (eBones) package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

sbin		System commands.

secure		Cryptographic libraries and commands.

share		Shared resources.

sys		Kernel sources.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.


For information on synchronizing your source tree with one or more of
the FreeBSD Project's development branches, please see:

  http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/synching.html