AuditViewer

The AuditViewer application is based on the web-audit package (see org.jwall.web.audit for details). It provides a simple cross-plattform interface for reviewing audit-log data and features several utils for handling audit-events.

Features

Currently the AuditViewer can be used to load audit-events from a wide range of sources including serial and concurrent log-files. With some restrictions due to the missing informations of simple access logs, these can be viewed, too.

For convenience, selected events can simply be extracted and saved separately. They can also be obfuscated and copied to the clipboard which simplifies sending a request to the user-list or other places for discussion without releasing any sensitive information (server-names, IP addresses, authorization).

A special feature is the Event Re-Injection which allows for recorded audit-events to be sent to the server agains. This is especially helpful if your are debugging or adjusting a ModSecurity rulesets. That way, using the Re-Injection enables you to test your rules on specific events while adjusting your ruleset. Events can also be manipulated before being sent to the server. This allows for even more flexible testing of rulesets.

  • Read audit files (serial logs of ModSecurity 1.x, 2.x, Concurrent audit-logs)
  • Re-inject audit-events to a specific server (for simply debugging ModSecurity rulesets)
  • Manipulation of events before re-injection
  • Obfuscating audit-events to files or the clipboard
  • Session view (heuristic IP-based or session-id based session tracking)
There are several additional features planned for upcoming releases. If you are missing features that you would like to be included into the AuditViewer application, just let me know via e-mail: chris (at) jwall.org.

Download

There is a new version of the AuditViewer available which also supports the new ModSecurity 2.5.x format containing the K section. (This section can be used to display the list of rules which have been fired upon a request.)

Binary Release

The binary distribution of the AuditViewer is an easy-to-run Java archive which defines a Main-Class and can thus be started by double-click or by using the -jar option of your JVM as described below. The jar-archive of the AuditViewer (current version is 0.3.3) is about 777k in size and can be downloaded at: For details about the signed releases see the section code signing on the security page.

Development Branch

There is a developer-release, based on the current development branch which is in active development and may thus not be fully stable (cutting edge release may be a bit overthrilling): This release add some convenient features such as easily navigating events within their session-context by moving forward and backward in time.

Changes since 0.3.2

  • Incorporation of the web-audit library 0.2.13, fixing some parser bugs
  • Restructuring of internal architecture for easier i18n support
  • This release internally uses the XStream library which makes it a little bigger (777k)

Changes since 0.3

  • Includes injection with HTTPS (in testing phase - comments/suggestions welcome!)
  • Parsing of audit events without a final response header

Source Code

The source code is also available: For building AuditViewer, simply extract the sources and run the provided ant file:
   unzip AuditViewer-0.3-src.zip
   cd org.jwall.web.audit.viewer
   ant
This will build the AuditViewer-0.3.jar archive.

Running

On most systems the viewer can be run by simply double-clicking the archive (Windows, Linux?). If double-clicking does not work, the jar-archive can be run by issuing:
   java -jar AuditViewer.jar
After the viewer has been started it allows for loading audit-log files into its table view. These can be grouped into sessions using either a heuristic session-tracker (IP+UserAgent based) or a Cookie-based one. Most of the actions that are provided to be issued on audit-events are available by right-clicking any of the events in the table.

License

So far the AuditViewer is put under the GNU Public License (GPL). If you're interested in using the library within a closed-source environment then feel free to contact me a chris (at) jwall.org.
$Id: viewer.jsp 38 2008-07-14 12:26:12Z chris $