Features/Sectool

From FedoraProject

Jump to: navigation, search

Contents

Sectool

Summary

The security audit tool and part of an intrusion detection system.

Owner

Current status

Detailed Description

The security tool that can be used both as a security audit as well as a part of an intrusion detection system. It consists of set of tests, library and textual/graphical frontend. Tests are sorted into groups and security levels. Administrators can run selected tests, groups or whole security levels.

Benefit to Fedora

Lower the attack surface by finding possible vulnerabilities, audit the system to find common problems to improve security and performance of scanning system. Encourage users to use Fedora on server and support other distributions based on Fedora like Red Hat Enterprise Linux or CentOS

Scope

Already done:

Further plans:

How To Test

There is no need for special hardware to test this feature.

install sectool and sectool-gui

$ yum install sectool*


Sanity testing

Test the most basic functions to make sure sectool is able to start, etc.

  sectool --help

This should show a help for command line user interface

  sectool --version

Shows the version of package. Make sure that the version string is correct.

  sectool --list

Check that the level numbers are sane. Test globbing:

  sectool --list \*home\* 

Show information of some tests:

  sectool --info <test> 


Running the tests

Test that sectool is able to run tests.

  sectool --run bootloader
  sectool --level 5 --run bootloader

Bootloader is a good candidate since it should stay silent in the default level and ERROR in level 5

  sectool --run bootloader home_files
  sectool --level 5 --run bootloader home_files
  sectool --run \*home\* 


Running a level

  sectool --level 5

Level 5 might be good if you have enough time, level 1 is probably OK for quick smoke testing.

  sectool --level Desktop

The valid levels are: Naive, Desktop, Network, Server, Paranoid.

  sectool --level 1 --exclude integrity

Check that all the tests in level 1 except for integrity ran.

  sectool --level 1 --include path

Check that all the tests in level 1 and 'path' ran.


Display filters

  sectool --run home_files --debug 
  sectool --run mountopt --hint


Test auto action

         [ACTION]
         LEVEL=1

Run sectool --auto, whole level 1 should run.

         [ACTION]
         LEVEL=5
         RUN=path bootloader

Run sectool --auto, tests path and bootloader should run on level 5.

         [ACTION]
         RUN=path bootloader

Run sectool --auto, tests path and bootloader should run default level.

         [ACTION]
         LEVEL=1
         RUN=+bootloader -integrity

Run sectool --auto, level 1 should run excluding integrity and including bootloader.


Diff and sending a mail

  sectool --run suid; chmod a+s /bin/cp; sectool --run suid --diff; chmod a-s /bin/cp 

that is SEND_BODY=diff SEND_ATTACHMENT=full make sure your sendmail is running and properly configured

  sectool --run home_files --mail jhrozek@redhat.com 
  Set SEND_ATTACHMENT=diff and SEND_BODY=full in /etc/sectool/sectool.conf 

the default is via sendmail configure your server, username and password in /etc/sectool/sectool.conf and change TARGET=smtp

run a test, make sure that results.xml exists

 sectool --clean 

should remove it

Overriding levels

 echo "path 1 2" > ~/.sectoolrc

test a level that is not included in the dsc

 echo "path" > ~/.sectoolrc

Logging


DBus testing

  sectool -r vsftpd
  sectool --use-dbus -r vsftpd

Should end with no authorization message

  sectool --use-dbus --list

Should show the list of tests

GUI testing

GUI tool should react swiftly without delay, stoping tests should be with approximately 2s delay by stopping all threads.


User Experience

Users will have option to audit their system to improve security and performance. Users can choose between command line testing through dbus (or without dbus) and GUI testing tool. The whole system will be less vulnerable to attack.

Dependencies

Contingency Plan

This feature is not critical. Revert to previous release in case that could not be complete by the final feature freeze.

Documentation

Filed Bugs

Release Notes

Comments and Discussion