scap-workbench is a tool that can open XCCDF [1] or SDS [2] files and allows the user to evaluate either local or remote machine using the content in the opened file.

Feature Highlights

intro screenshot
  • XCCDF 1.1 and 1.2 support

  • Source DataStream 1.2 support

  • XCCDF 1.2 Tailoring file support

  • Evaluation of local machine

  • Evaluation of remote machine (using ssh)

  • Limited tailoring support - selection and unselection

  • Saving results as XCCDF 1.1 or 1.2 (depending on input) or ARF 1.1

Requirements

Build Dependencies

  • cmake >= 2.6

  • Qt4 (Core, GUI, XmlPatterns)

  • openscap >= 0.9.12

  • cmake-gui [optional]

  • Qt4 (WebKit) [optional]

Runtime Dependencies (workbench machine)

  • setsid

  • nice

  • ssh and scp (if you want remote scanning)

Runtime Dependencies (evaluated machine)

  • oscap >= 0.8.0

Installation

From package repository (YUM)

# yum install scap-workbench

From package repository (APT)

# apt-get install scap-workbench

From source
  1. $ mkdir build ; cd build

  2. $ cmake ../

  3. $ make

  4. # make install

From source (custom options)
  1. $ mkdir build ; cd build

  2. $ cmake-gui ../

  3. $ make

  4. # make install

Typical Use Case

Let us go over a common use case. If any section is marked (optional) it can be skipped if you do not need the feature explained in it.

Obtain SCAP content

Even before we start the workbench we need to find content to open. Probably the best choice right now is scap-security-guide [3].

From the package repository (YUM)

# yum install scap-security-guide

From the package repository (APT)

# apt-get install scap-security-guide

From upstream source (not recommended!)
  1. $ git clone https://git.fedorahosted.org/git/scap-security-guide.git ; cd scap-security-guide

  2. $ make

Alternative SCAP content (optional)

Start scap-workbench

After installation a new application entry for scap-workbench should appear in your desktop environments application menu.

starting scap workbench
Figure 1. scap-workbench application entry in GNOME 3

In case you cannot find any scap-workbench application icon / entry to click, press Alt+F2 to bring up the run command dialog (works in Gnome 3 and KDE 4), type scap-workbench and confirm.

scap-workbench should start and if you installed scap-security-guide from your package repository, workbench will immediately open it without any interaction being necessary.

default content opened
Figure 2. Default content opened in workbench

Open Different Content (optional)

Clicking Browse will enable you to change opened content. Keep in mind that workbench only supports opening XCCDF and Source DataStream files. Everything else will result in an error dialog being shown.

Only one content file can be opened by a single scap-workbench instance. Opening a different content file will DESTROY all your tailoring changes and you will also LOSE profile selection.

To prevent workbench from opening default content when it starts you can either uninstall it or pass a different path via command line.

scap-workbench PATH_TO_SCAP_CONTENT

See alternative contents for more content choices.

Load a Ready-made Tailoring File (optional)

In case you were given a tailoring file for your specific evaluation use-case, you can load by clicking on the Tailoring file combobox and selecting the (open tailoring file…) option. This will bring up a file open dialog where you can select your tailoring file.

Loading a tailoring file will DESTROY all your tailoring changes that you have done either by customizing profiles or loaded from another tailoring file.

Only XCCDF 1.2 supports tailoring officially. The openscap project has an extension that allows tailoring files to be used with XCCDF 1.1 so scap-workbench supports that as well. The details are out of scope of this document.

opening tailoring file
Figure 3. Opening a tailoring file

Choose a Profile

XCCDF profiles are in essence configurations of the content for a particular evaluation scenario. XCCDF profiles decide which rules are selected and which values they use - e.g.: one profile may enforce password length to be at least 10 characters, a different one may be more lenient and enfore password length of at least 6 characters.

For more details refer to the XCCDF specification.

Every SCAP content will have at least one profile - the (default) profile which is an empty profile that does not change selection of any rules and does not affect values passed to any of the checks. Only rules with the selection attribute equal to "true" and all their ancestor Group selection attribute also being "true" are evaluated in a (default) profile.

The (default) profile is very unlikely the choice you want to use though, so scap-workbench will only choose it implicitly if there are no other profiles. By default the first profile that is not the default profile will be chosen.

Use the Profile combobox to change which profile will be used for subsequent evaluation. When scap-workbench is not evaluating it previews selected rules of current profile in the list labeled Selected Rules. This list will refresh every time you customize a profile or select a different one.

Customize the Selected Profile (optional)

After you have selected the profile suitable for your desired evaluation you still may want to make slight alterations to it. Most commonly it would be deselecting that one undesirable rule that makes no sense on this particular machine.

Make sure your desired profile is selected and click Customize.

customizing ssg profile
Figure 4. Customizing scap-security-guide’s "common" profile

A new modal dialog will be spawned, you cannot interact with the rest of the application until you finish your tailoring changes.

In our example case we do not care about minimum and maximum age for passwords and do not want the rules failing for our configuration. Let us expand the tree until we find the offending rules and unselect both of them.

tailoring dialog opened
Figure 5. Unselecting minimum and maximum password age rules

This tailoring dialog supports undo/redo. If you accidentaly make changes that you want to undo, press CTRL+Z or click the Undo button.

Keep in mind that the undo history will get lost when you press Finish tailoring!

After desired tailoring changes are done, click Finish tailoring to get back to the previous GUI.

Save tailored content (optional)

The content that you carefully tailored can be saved for later deployment.

Save just the tailoring file

Click Save Tailoring and choose the destination file. Workbench will save just tailoring which you can use with the content you opened.

If XCCDF version of the content is lower than 1.2 [4] workbench will create a file that is not compliant to the official specification! openscap and scap-workbench support Tailoring in XCCDF 1.1.4 through an extension. Keep in mind that such content will work in openscap powered tools but may not work in tools from other vendors!

Save all content into a directory

Click Save content and choose Save into a directory. After selecting the destination directory scap-workbench will export both input content and a tailoring file into the directory.

Save as RPM

Click Save content and choose Save as RPM. After selecting the destination directory scap-workbench will create an RPM in that directory. This RPM will contain both input content and a tailoring file.

Please note that the resulting RPM will not be signed! This means that it can be rejected for deployment by system management tools like Spacewalk.

If you wish to sign the resulting RPM, make sure you have rpm-sign installed, the /usr/bin/rpmsign binary available and GPG as well as related rpmmacros setup. [5] Then execute:

$ rpm --addsign my-content-1.1.rpm

The resulting package will be signed and ready to use provided that your desired system management tool accepts the key you used.

Choose the Target Machine

scap-workbench will scan local machine by default. However you can also scan remote machines using ssh.

To scan a remote machine, select remote machine (over ssh) in the Target combobox. A pair of input boxes will appear. Input the desired username and hostname and select proper port. Make sure the machine is reachable, selected user can login over ssh and has enough privileges to evaluate the machine.

The target machine has to have the oscap tool of version 0.8.0 or greater installed and in $PATH!

Only a Source DataStream can be used to scan a remote machine. Plain XCCDF is not supported yet!

scanning remote machine
Figure 6. Selecting a remote machine for scanning

Enable Online Remediation (optional)

Remediation is an automatic attempt to change configuration of the scanned machine in a way that fixes a failed rule result. By fixing we mean changing configuration, ensuring that the rule would pass in the new configuration.

The success of automatic remediation greatly depends on content quality and could result in broken machines if not used carefully!

The Online Remediation checkbox will do remediation as part of the evaluation itself. After evaluation is done, oscap will go over failed rules and attempt to remedy each of them.

The rules that were remedied will show up as fixed in the rule result list.

Evaluate

Everything is set up now we can start the evaluation. Click the Scan button to start evaluation. If you selected a remote machine target ssh may ask you for a password at this point.

scap-workbench never processes your ssh password in any way. Instead a ssh process is spawned which itself spawns the ssh-askpass program which asks for the password.

If you selected to scan the local machine, workbench will show a dialog that allows you to authenticate and scan the machine with superuser rights. You can click cancel if you wish to scan using your current permissions.

The application now starts the oscap tool and waits for it to finish, reporting partial results along the way in the rule result list. Keep in mind that the tool cannot guess how long will processing of any particular rule take. Only the amount of rules that have been processed and the amount that is remaining are used to estimate progress. Please be patient and wait for oscap to finish evaluation.

You can cancel the scan at any point by clicking the Cancel button. Canceling will only give you partial results in the evaluation progress list, you cannot get ARF or XCCDF results if you cancel evaluation!

After you press the Scan button all the previous options will be disabled and greyed-out. You cannot change them until you press the Clear button which will drop all results.

View and Analyze Results

After evaluation finishes you should see two new buttons - Clear and Results.

Pressing Clear will permanently destroy scan results! This action cannot be undone. You can save the results as either ARF or XCCDF to keep them for later analysis.

Pressing Results will bring up a new window. In case scap-workbench was compiled with WebKit support you should see the HTML report right in the application. Otherwise, press Open HTML report to open the report using your internet browser.

scap-workbench will open the report in the default web browser set in your desktop environment. Make sure you have a browser installed.

If nothing happens after pressing the button, check which browser is the default. See System Settings → System Info → Default Applications in GNOME 3 or System Settings → Default Applications in KDE4.

In case you still can’t get scap-workbench to open a browser, simply save the report to a HTML file on your hard drive and open it as any different HTML file.

browsing results
Figure 7. Browsing results

Your evaluation results can be saved in several formats:

HTML report

Human readable and convenient, not suitable for machine processing. Can be examined by any web browser.

XCCDF result

Machine readable file with just the results, not suitable for manual processing. Requires a special tool that can parse the format.

ARF

Also called result datastream. Packs input content, asset information and results into a single machine readable file, not suitable for manual processing. Requires a special tool that can parse the format.

If you are unsure which format to choose for result archiving you can choose Save XCCDF Result. It is commonly supported and you can easily generate an HTML report from it using the oscap tool.

Notable shortcuts

Main Window

Browse

Alt + B

Scan

Alt + S

Clear after scanning

Alt + C

Show report

Alt + R

Evaluation Report

Open in Browser

Alt + O

Where to Get Help?

You ask for help with the application using

It is recommended to join the openscap mailing list as well for SCAP specific discussions.

In case you have found a bug, do not hesitate to submit it (requires a Fedora FAS account). Make sure you provide as many details as possible, including your distribution, architecture, openscap, scap-workbench and Qt versions and any output scap-workbench writes to stderr.


1. The Extensible Configuration Checklist Description Format
2. Source DataStream
3. https://fedorahosted.org/scap-security-guide/
4. Tailoring is not officially supported in XCCDF 1.1.x, the feature has been added in 1.2
5. Please see http://fedoranews.org/tchung/gpg/ for a detailed write-up on how to sign RPMs