Go to file
Chris PeBenito 6a4cbf20d5 apol: log INFO messages to the status bar
Still keep the CLI messaging controlled by -v or --debug switches. For some
reason, the root logging had to be DEBUG for this to work, and
only as initialized by basicConfig.  Setting a NullHandler to DEBUG level
didn't work either.
2016-03-04 14:05:20 -05:00
data apol: connect copy/paste menu options 2016-03-02 08:19:07 -05:00
libqpol policyrep: add typebounds rules 2016-02-05 13:53:30 -05:00
man Add man pages. 2016-02-21 16:27:44 -05:00
patches Add patch for explicitly using Python 3 2016-02-26 09:33:52 -05:00
setools Apply logging best practices. 2016-03-04 13:49:03 -05:00
setoolsgui apol: log INFO messages to the status bar 2016-03-04 14:05:20 -05:00
tests TypeAttribute: fix exception on properties that should only work on types 2016-02-17 16:17:19 -05:00
.coveragerc No coverage for PolicySymbol.__hash__() error path. 2015-03-17 14:49:57 -04:00
.gitignore ignore coverage-generated files 2015-02-16 09:43:21 +01:00
.pylintrc Build C extension for lint tox target. 2015-12-02 12:44:45 -05:00
.travis.yml Make libselinux bindings optional. 2015-05-10 12:15:16 -04:00
apol apol: log INFO messages to the status bar 2016-03-04 14:05:20 -05:00
COPYING Initial public release. 2014-07-08 14:28:55 -04:00
COPYING.GPL Initial public release. 2014-07-08 14:28:55 -04:00
COPYING.LGPL Initial public release. 2014-07-08 14:28:55 -04:00
KNOWN-BUGS Add KNOWN-BUGS. 2015-04-01 09:21:40 -04:00
MANIFEST.in Add man pages to MANIFEST.in. 2016-02-22 16:04:51 -05:00
README.md Update README 2016-01-08 08:11:48 -05:00
sediff cli: switch to logging.exception for debug reporting of unrecoverable exception. 2016-03-04 13:59:21 -05:00
sedta cli: switch to logging.exception for debug reporting of unrecoverable exception. 2016-03-04 13:59:21 -05:00
seinfo cli: switch to logging.exception for debug reporting of unrecoverable exception. 2016-03-04 13:59:21 -05:00
seinfoflow cli: switch to logging.exception for debug reporting of unrecoverable exception. 2016-03-04 13:59:21 -05:00
sesearch cli: switch to logging.exception for debug reporting of unrecoverable exception. 2016-03-04 13:59:21 -05:00
setup.py Fix man page install location. 2016-02-22 08:12:19 -05:00
tox.ini sediff: add skeleton. 2015-12-18 11:21:13 -05:00
UNSTABLE_API Rename libapol package to setools. 2014-10-24 21:23:13 -04:00

SETools: Policy analysis tools for SELinux

https://github.com/TresysTechnology/setools/wiki

Overview

This file describes SETools, developed by Tresys Technology. SETools is a collection of graphical tools, command-line tools, and libraries designed to facilitate SELinux policy analysis. Please consult the KNOWN-BUGS file prior to reporting bugs.

Installation

SETools uses the Python setuptools build system to build, and install. As such it contains a setup.py script that will install the tools.

To run SETools, the following packages are required:

  • Python 2.7 or 3.3+
  • NetworkX 1.8+
  • PyQt5 (only if using graphical tools)
  • setuptools
  • libselinux (Python bindings optional but recommended)
  • libbz2

To build SETools, the following development packages are required, in addition to the development packages from the above list:

  • gcc
  • bison
  • flex
  • libsepol 2.4+
  • SWIG 2.0.12+ or 3.0+

To run SETools unit tests, the following packages are required, in addition to the above dependencies:

  • mock (on Python 2.7 only)
  • tox (optional)

Building SETools

Unpack the official distribution or check out the git repository, and perform the following at the root:

  $ python setup.py build
  $ python setup.py install

This will put the applications in /usr/bin, data files in /usr/share/setools, and libraries in /usr/lib/pythonX.Y/site-packages/setools.

Installation Options

Please see python setup.py --help or python setup.py install --help for up-to-date information on build and install options, respectively.

Unit Tests

One goal for SETools is to provide confidence in the validity of the output for the tools. The unit tests for SETools can be run with the following command

  $ python setup.py test

Features

SETools encompasses a number of tools, both graphical and command line, and libraries. Many of the programs have help files accessible during runtime.

Graphical tools

Tool Name Use
apol A Qt graphical analysis tool. Use it to perform various types of analyses.

Command-line tools

Tool Name Use
sediff Compare two policies to find differences.
sedta Perform domain transition analyses.
seinfo List policy components.
seinfoflow Perform information flow analyses.
sesearch Search rules (allow, type_transition, etc.)

Analysis Libraries

The SETools libraries are available for use in third-party applications. Although this is not officially supported, we will do our best to maintain API stability.

Obtaining SETools

Official releases of SETools may be freely downloaded from:

https://github.com/TresysTechnology/setools/releases

SETools source code is maintained within a GitHub repository. From the command line do:

  $ git clone https://github.com/TresysTechnology/setools.git

You may also browse the GitHub repository at https://github.com/TresysTechnology/setools.

SETools included in most Linux distributions which support SELinux, such as Fedora, Red Hat Enterprise Linux, Gentoo, and Debian.

Reporting bugs

Bugs can be reported in the SETools GitHub issues tracker:

https://github.com/TresysTechnology/setools/issues

The intent is to allow free use of this source code. All programs' source files are copyright protected and freely distributed under the GNU General Public License (see COPYING.GPL). All library source files are copyright under the GNU Lesser General Public License (see COPYING.LGPL). All files distributed with this package indicate the appropriate license to use. Absolutely no warranty is provided or implied.