Osiris 1.5.0 User Documentation





Introduction

Osiris is a file integrity verification system that can be used to monitor changes to a file system over time. Actually, osiris consists of a pair of applications, osiris and scale. The first application, osiris, is used to collect specific data from the local filesystem and store that data into a database. The second application, scale, is then used to analyze, and/or compare the differences between two databases.

Together these two applications provide an administrator with the ability to single out specific attributes and types of files to monitor. The purpose here is to isolate changes that indicate a break-in or a compromised system.

License


 ====================================================================

  Osiris Software License, Version 1.1

  Copyright (c) 2001 The Shmoo Group.

  Redistribution and use in source and binary forms, with or without
  modification, are permitted provided that the following conditions
  are met:

  1. Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

  2. This software can be used, modified, and distributed, but not sold.

  3. Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in
     the documentation and/or other materials provided with the
     distribution.

  4. The end-user documentation included with the redistribution,
     if any, must include the following acknowledgment:

        "This product includes software developed by the
         The Shmoo Group (http://www.shmoo.com )."

     Alternately, this acknowledgment may appear in the software itself,
     if and wherever such third-party acknowledgments normally appear.

  5. Products derived from this software may not be called "osiris",
     nor may "osiris" appear in their name, without prior written
     permission of the the shmoo group ( info@shmoo.com ).

  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  DISCLAIMED.  IN NO EVENT SHALL THE SHMOO GROUP OR ITS
  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  SUCH DAMAGE.

  ====================================================================

  This software consists of voluntary contributions made by many
  individuals on behalf of the The Shmoo Group.  For more
  information on TSG activities and contributions, please see:

      http://www.shmoo.com

  A small portion of this software, specifically, the base 64
  encoding/decoding routines are taken from the the apache web
  server:

      This product includes software developed by the
      Apache Software Foundation (http://www.apache.org/).

  In addition, the source code for gdbm, the GNU extension to
  dbm is included with this version of osiris.  The GNU public
  license is included but does not apply to any of the osiris
  source code.

Compiling and Installing

  1. Overview for the impatient

         $ ./configure --prefix=PREFIX
         $ make
         $ make install
    
    NOTE: PREFIX is not the string "PREFIX". Instead use the Unix filesystem path under which osiris should be installed. For instance use "/usr/local/osiris" to install the osiris directory tree under /usr/local
  2. Requirements

    The following requirements exist for building Osiris:

  3. Configuring the source tree

    osiris can be configured by running:
             ./configure
    
    The two most important items when configuring osiris is to specify where to store the binaries, and what database module to use. If no options are specified, the default is to use gdbm ( included ) and to install osiris under /usr/local

    To get a list of all supported configure options:
             ./configure --help
    
    Use the --prefix option to specify where to store the applications built, under an osiris directory. For example, to store the binaries under the directory /usr/local/osiris, specify: --prefix=/usr/local

    Use the --enable-module options to specify which database module osiris should be compiled to use. Currently the only modules built include gdbm and MySQL. Examples:
             --enable-module=gdbm
             --enable-module=mysql
    
    Use the --with-module-* options to specify where the include and library files can be found for the database module. For example, if you have mysql installed in /opt/local/mysql, configure with the following options:
             --enable-module=mysql
             --with-module-includes=/opt/local/mysql/include
             --with-module-libs=/opt/local/mysql/lib
    
  4. Building the package

    After configure, you should see a listing of the various options that configure used to create the Makefiles. Verify these before proceeding.

    Now you can build the various parts which form the osiris package by simply running the command
            $ make
    
  5. Installing the package

    Now its time to install the package under the configured installation PREFIX (see --prefix option above) by running:
            $ make install
    
    For the paranoid hackers under us: The above command really installs under prefix _only_, i.e. no other stuff from your system is touched. Even if you upgrade an existing installation your configuration files in PREFIX/conf/ are preserved.

  6. Testing the package

    Now you can do some small tests to verify that you can actually create databases.

    First, verify you can perform scans by running osiris on a single directory with the default options, sending all output to stdout instead of a database:
             osiris -i /usr/local/osiris
    
    This will scan the osiris root directory, logging all files to standard output.

    GDBM:

    verify that osiris can create and analyze database files. First, create a database, choose something rather small like /tmp:
             osiris -i /tmp -o /tmp/test.osi
    
    You should see a summary of the scan after it is complete. Next, verify the database by printing the header, then print the contents of the database to stdout.
             scale /tmp/test.osi
             scale -p /tmp/test.osi
    
    MySQL:

    verify that osiris can create and analyze database files. First, create a database, choose something rather small like /tmp, substituting the correct MySQL connection credentials.

    For more information on syntax, see the section on the MySQL module
             osiris -i /tmp -o database:user:pass@host:port
    
    You should see a summary of the scan after it is complete. Next, verify the database by printing the header, then print the contents of the database to stdout.
             scale database:user:pass@host:port
             scale -p database:user:pass@host:port
    

Configuration File

osiris is configured by a single plain text configuration file. This file is very similar to the config file used by apache (in fact the syntax resembles an apache configuration file). You specify a config file by using the -f flag to osiris. Although osiris can be used without a config file, it is not recommend because the functionality is quite limited.

A configuration file consists of a sequence of blocks, A block specifies a directory name, a list of scanning options, and a list of actions to perform within that directory. Blocks are specified within directory tags: <Directory> </Directory>

If a block is a subdirectory of another block, the subdirectory block takes precedence.

Options

options dictate the nature of the scanning that takes place in the directory. usually options appear first in the block, but their placement within the block has no signifigance or precedence. Options not found within a specific block are said to be global. When a block does not specify a specific option, the global value for that option is inherited and used for that block. If no global value exists, the defaults are inherited.

The list of valid options are as follows:

Recursive <bool> if set, this osiris will recursively scan this directory, otherwise, only a top level scan will be done.
FollowLinks <bool> if set, osiris will follow any symbolic links it encounters. If a symbolic link is a link to a directory, it will only follow that link if the the recursive option is set.
Verbose <bool> display scanning information to standard output. This includes a listing of files as they are being logged, and the reason the file was logged.
Prompt <bool> if the database for the block cannot be opened, or the database already exists, the user is given the option to stop the scan, or to overwrite the database. All prompts are issued before any scanning begins.
ShowErrors <bool> while scanning the directory, show any encountered errors to standard output. This is independant of the verbose option.
Hash <hash> specifies the hash algorithm to be used for all files in the directory. algorithm may be one of: md5,sha,haval, or ripemd
Database <string> specifies the database to use for all logged files from the directory. The syntax for string will vary depending upon the database module being used. for gdbm, string is a complete file path.


boolean values must be one of:
        yes, y, 1, true, no, n, 0, false
hash value must be one of:
        md5, sha, haval, ripemd

Actions

an action serves to include or exclude files, either specifically, or by property. The actions listed first have precedence. The list of actions and their formats are as follows:

IncludeAll <attr> Include all files, only pay attention to the attributes specified in attributes.
ExcludeAll Exclude all files. Any actions after this action have no effect.
Include <filter> [attributes] Include all files that pass the filter, only pay attention to the attributes specified in attributes, if it exists. If no attributes are specified, the global attribute list is implied.
Exclude <filter> [attributes] Exclude all files that pass the filter.
NoEntry <directory> do not enter the directory specified.


The attributes list is a comma seperated list of one or more of the following:

perm permissions ( user, group, others ) including file type.
mtime modification time --last time the file was modified.
atime access time --last time the file was accessed.
ctime the last time the file status was changed, e.g. from functions such as chown(), link(), mknod(), rename(), unlink(), utimes(), write(), etc.
inode inode number.
links number of hard links to this file.
uid user id of the owner of the file.
gid group id that the file belongs to.
bytes size of the file, in bytes.
blocks size of the file, in blocks.
all all of the above attributes.


The Global Block

the global block does not apply to any specific directory and is not within any tags. All options are valid in the global block. The only actions valid in the global block are IncludeAll and ExcludeAll. If a block does not specify an option, the global value is assumed. If a block does not contain any actions ( IncludeAll or ExcludeAll ), the default action is used.

The Default Configuration

the default configuration is used on all directories specified on the command line and any global options not specified in a config file. The default configuration paramaters are as follows:
	Recursive	yes
	Prompt		yes
	Verbose		yes
	ShowErrors	yes
	FollowLinks	no

	Hash		md5
	Database	stdout
Example Configuration File
# ----------------------------------------------------
#
# GLOBAL SECTION
#
# this sets up the global values for the directory blocks
# specified below.  The following keywords are supported:
#
# runtime configuration, can be overriden by any
# command line arguments specified.

Database      /tmp/scan.osi
Verbose       no
Prompt        yes
ShowErrors    yes
Recursive     no
FollowLinks   no

# default action for blocks.  The default is to
# monitor every attribute about all files.

IncludeAll    all

# default hash algorithm to use is md5.

Hash          md5

# RULE SECTION - specify all the files or directories to
#                be scanned including any custom scan options.

# /tmp directory scan. enter all subdirectories, monitor
# default attributes for all actions, ignore all files
# named "core" and only log files with the specified permissions.

<Directory /tmp>

    Recursive    yes

    Exclude  file( "core" )
    Include  permissions( "drwxr*xr*x" )

</Directory>

# this scans only the resolve.conf file and assumes globals for
# attributes to monitor.

<Directory /etc>

    Recursive       no
    FollowLinks     no

    Include         file( "resolv.conf" )

</Directory>

# non recursive scan, use sha1 for checksums, only log
# suid files.

<Directory /usr/local/sbin>

    Recursive       no
    FollowLinks     no

    Hash            sha
    Include         suid

</Directory>

# end config
# ----------------------------------------------------

Database Modules

Database modules allow osiris to make use of different database systems to store the data collected. There is a simple module system in place to allow for the integration and use of other databases. Currently, the only database modules that exist are GNU's gdbm and MySQL databases. gdbm is the default database module and is included with the source. The database module is determined at compile time, thus, to use another database module osiris must be compiled again.

GDBM

The gdbm module is the default database used by osiris. gdbm is based on the standard UNIX dbm routines. This module is very fast, however, the databases it creates can only be stored on the local file system. The major advantages are speed, the database files are small, and there is no database administration required.

Databases for gdbm are simply a file path. osiris will create a single file containing the database with the permissions 00600, for example:
    Database        /var/log/osiris/scan.osi
MySQL

The MySQL module has the major advantage of being able to store databases on a seperate host. Although it is not as fast as the gdbm module, based upon your needs, it may be easier to administer osiris. Also, it is easier to use other tools to analyze the contents of the databases.

To specify a database with the MySQL module, use the format:
    database:user:password@host:port
The database name is the only required field, the rest are optional. If no host is specified, the localhost is assumed. If no port is specified, the default MySQL port is assumed -usually 3306. Example:
    Database      osiris-7-2001:bob:mypassword@somehost

Filters

Filters are a major part of how osiris will scan and log entries into the database. In every block, including the global block, there will at be at least one filter. If no filters are specified in a block, the global filter will be used. If no global filter is specified, nothing in that block will be logged and the block serves no purpose. Don't do that, it's dumb.

Filters are found after an action directive. Specifically, you include filters after an 'Include' or 'Exclude' statement. For example, the following two statements include filters that will catch, or include, the files that perl scripts or any file owned by user bob.
    Include perl
    Include user( "bob" )
Filters are designed to catch files of a particular type, or files that share a specific attribute. The information used to create many of the filters found in osiris are derived from the unix file(1) utility. The same information can commonly be found on many unix systems in the magic file located often in /etc or under /usr/share somewhere. The following is a list of the filters supported in the this release, and their official definitions:

sticky any directory or file that has the sticky bit set. For operating systems that do not support the sticky bit, this filter does not apply and has no effect.
suid any file that has the suid bit set.
guid any file that has the guid bit set.
executable All ELF binaries, i.e., files that begin with the following four bytes:
    \177ELF
All common binary file formats specific to the operating system:

FreeBSD/OpenBSD     - all files that begin with any of the following 4 byte long expressions:
    (4 bytes) & 0377777777 = 041400407
    (4 bytes) & 0377777777 = 041400410
    (4 bytes) & 0377777777 = 041400413
    (4 bytes) & 0377777777 = 041400314
BSDi     - all files that begin with any of the following bytes:
    0xCC, 0x107, 0x108, 0x10b
Linux     - all files that begin with any of the following 2 byte short values:
    0x00640107
    0x00640108
    0x0064010b
    0x006400cc

    or

    \01\03\020\04
    \01\03\040\04
Solaris/SunOS     - all files that begin with any of the following 4 byte long expressions:
    (4 bytes) & 077777777 = 0600413
    (4 bytes) & 077777777 = 0600410
    (4 bytes) & 077777777 = 0600407
    (4 bytes) & 077777777 = 0400413
    (4 bytes) & 077777777 = 0400410
    (4 bytes) & 077777777 = 0400407
    (4 bytes) & 077777777 = 0200413
    (4 bytes) & 077777777 = 0200410
    (4 bytes) & 077777777 = 0200407
Darwin

perl any file that contains, within the first thirty bytes, any of the following strings: "/bin/perl", "/usr/bin/perl", "/usr/local/bin/perl".
python any file that is a python script, a python text executable, or a python compiled file. Specifically any file with any of the following attributes:
    - first three bytes: \032\032\032
    - first four bytes:  \010\013\078\153 ( little endian )
script any shell script or script, including sh, csh, bash, ksh, tcsh, ksh, ash, ae, nawk, gawk, awk, rc, env. The file must begin with the string: "#!" or "BEGIN" and must contain one of the following within the first 25 bytes:

	/bin/sh
	/bin/csh
	/usr/local/bin/bash
	/bin/bash
	/bin/ksh
	/bin/tcsh
	/usr/local/tcsh
	/usr/local/bin/tcsh
	/usr/local/bin/zsh
	/usr/local/bin/ash
	/usr/local/bin/ae
	/bin/nawk
	/usr/bin/nawk
	/usr/local/bin/nawk
	/bin/gawk
	/usr/bin/gawk
	/usr/local/bin/gawk
	/bin/awk
	/usr/bin/awk
	/bin/rc
	/usr/bin/env
	
gzip any GNU zipped file or jar file, specifically, any file that begins with the following two bytes:
        \037\213
zip any file created with winzip, or zip, specifically, any file that begins with the first four bytes:
        PK\003\004
tar any file created with tar, or GNU tar utilities, specifically, any file that contains the string "ustar" at byte positions 257-261.
pgp any PGP public keyring, security ring, encrypted data, ascii armored data, public key block, message, signed message, or signature. Specifically any file that begins with any of the following two bytes:
    (little endian)

	0\153
	1\153
	1\149
	0\149
	0\166
or the follwing string:
  	-----BEGIN\040PGP
rpm any rpm package file, specifically, any file that begins with the following four bytes:
        \237\171\238\219
uid(x) any file that is owned by the uid: x
gid(x) any file that is a member of the group: x
user(x) any file that is owned by user: x
group(x) any file that is a member of the group: x
header(x) any file that begins with the literal hex value: x
file(x) any file that has the complete name: x ( not including path ).
suffix(x) any file that has a name with the format: *.x
md5(x) any file that has an MD5 checksum value of: x
sha(x) any file that has an SHA checksum value of: x
haval(x) any file that has an HAVAL checksum value of: x
ripemd(x) any file that has an RIPEMD-160 checksum value of: x
permissions(x) any file that has a permissions string with the format: x. The character '*' can be used for a wildcard to denote that any value for that bit is acceptable. Substrings can also be used. For example, to specify all files that have owner read bit set, use: "*r" as a value. To speicfy all files with suid bit set, use: "***s", this is essentially the same as using the suid filter.

Reports

The default output produced by scale is a human readable report that displays the database headers of the two databases compared, file differences, new files, missing files, and ( optionally ) lists of files that have the same checksums.

An example of such a report:
osiris database comparison
Thu Jul 26 01:15:25 2001


[ database: /tmp/l.osi ]

  records:       7
  source:        command line

  created on:    Thu Jul 26 01:11:34 2001
  created by:    administrator
  created with:  osiris 1.5.0

[ database: /tmp/r.osi ]

  records:       8
  source:        command line

  created on:    Thu Jul 26 01:15:22 2001
  created by:    administrator
  created with:  osiris 1.5.0

[ file differences ]

  /projects/osiris/bin/scale.exe
    mtime                            Jul 26, 2001 01:14 ==> Jul 26, 2001 01:14

  /projects/osiris/bin/CVS
    mtime                            Jul 26, 2001 01:14 ==> Jul 26, 2001 01:14

  /projects/osiris/bin/osiris.exe
    mtime                            Jul 26, 2001 01:14 ==> Jul 26, 2001 01:14

[ new files (2) ]

  /projects/osiris/bin/new-file
  /projects/osiris/bin/osiris-copy.exe

[ missing files (1) ]

  /projects/osiris/bin/sample.conf

[ duplicate checksums for /tmp/l.osi ]


[ duplicate checksums for /tmp/r.osi ]


  md5(af16cde7c4b3fc6386f82abb0af0fed4) 2 files

    /projects/osiris/bin/osiris-copy.exe
    /projects/osiris/bin/osiris.exe

records compared:    6
records that differ: 3
new records:         2
missing records:     1

Osiris

osiris is the application used to create databases, and test config files. Most of the command line arguments serve to override the behavior of the global block. This was to enable a user to quickly make use of the application without having to create a config file, however, without a configuration file functionality of the application is quite limited. The usage for osiris is as follows:
    usage: osiris [options ...] | -t <path>


Description of options:

    -f <path>       use the configuration file located at the specified path.

    -a <algorithm>  use the specified algorithm for the global block, this
                    can be one of: md5, sha, haval, or ripemd.  this overrides any
                    Hash statement found in the global block of the config file.

    -q              quiet Mode.  sets the global block to not be verbose.  by default,
                    the global block is verbose, meaning it prints the file name of
                    every file that is logged to the database.  this overrides
                    any Verbose statement found in the global block of the
                    config file.

    -c              continue. sets the global block to ignore all warnings, such as
                    when a database cannot be opened.  this overrides any Prompt
                    statement found in the global block of the config file.

    -n              no erorrs.  sets the global block to not print error messages.
                    by default error messages are printed to standard output for
                    example, when a directory cannot be read, or there was a problem
                    storing a record to the database.  This overrides any ShowErrors
                    statement found in the global block of the config file.

    -s              shallow mode.  sets the global block to not be recursive. this
                    overrides any Recursive statement found in the global block
                    of the config file.

    -l              follow links.  sets the global block to not follow symbolic links.
                    this overrides any FollowLinks statement found in the global
                    block of the config file.

    -o <db>         use the following database for the global block.  the syntax
                    for this will vary depending upon the database module being used. this
                    can be useful, for example, when you want to use a config, but want
                    to place the data in a different database without modifying the config
                    file. this overrides any Database statement found in the global
                    block of the config file.

    -i <path>       scan the following list of directories.  each directory specified
                    here will be scanned according to the global block.

    -t <path>       test the syntax of the specified config file.

    -v              print the osiris version and module information.

    -h              prints the osiris usage statement.

Notes:

Scale

The scale application is used to compare two databases or obtain information about a single database.

With scale you can print print the header of a database:
    scale <db>
or, you can print the entire contents of the database. This will print the files in a format similar to 'ls -la':
    scale -p <db>
The most common use of scale, however, is to compare two databases. The left database is the older database, the right database is the newer of the two databases. By default scale will compare the databases according to the config file that was used to create them. Configuration files should remain the same between creating the databases or else the log file might contain a lot of false positives.

The scale application can also use the config file, specified with -c, to compare the databases in different ways. The same config file used to create the databases should be used. You can modify this config file by removing certain block you don't want to compare, or changing any attribute lists. The purpose of this is to enable comparison of the databases in different ways, and to filter out any change that may have occured that are not relevant to the comparison. The attribute lists specified in the original config are simply there for reference since all of the attributes of a file are always logged to the database.

Example:

This sample config will scan /usr/bin, /usr/local/bin, and /usr/sbin and include all of the files in those directories:
    Database      /tmp/scan.osi
    Recursive     yes
    FollowLinks   no

    IncludeAll    all

    <Directory /usr/bin>
    </Directory>

    <Directory /usr/local/bin>
    </Directory>

    <Directory /usr/sbin>
    </Directory>
When comparing two databases created with this config, supposing it is necessary to see if any ownership changes have occured in /usr/sbin, acquire ( or extract with scale -e ) the config and modify it as follows:
    Database      /tmp/scan.osi
    Recursive     yes
    FollowLinks   no

    IncludeAll    uid

    <Directory /usr/sbin>
    </Directory>
then run scale:
    scale -l db1 -r db2 -c config_file -o log -n -m

will show only the ownership changes on files in /sbin, excluding any files considered new
or missing.


The usage for scale is as follows:
    usage: scale  -l <db> -r <db> [-o <path>] [-d] [-q] [-n] [-m] [-c <config>] |
                  -p <db> | -e <db> | -d <db> | <db>

Description of options:

    -l <db>         specifies the left database for comparison.  the syntax
                    for this will vary depening upon the database module being used.

    -r <db>         specifies the right database for comparison. the syntax
                    for this will vary depending upon the database module being used.

    -o <path>       specifies the output file to store the comparison results.
                    if not specified, the result will be printed to standard output.

    -c <config>     use the specified config file to compare the two databases specified.
                    Only the blocks specified in the config file will be compared, and the attribute
                    lists may be changed to run different comparisons.

    -d              check for duplicate checksums.  if two databases are being compared
                    a duplicate report for each database is included in the results.  If
                    only a single database is specified, a duplicate report is printed
                    to standard output.

    -n              do not include a list of new files: files found in the right database,
                    but not the left.

    -m              do not include a list of missing files: files found in the left database,
                    but not the right.

    -e <db>         extract the config file used to create the specified database
                    to standard output.

    -p <db>         print the entire contents of the database to standard output.

    -q              quiet mode. the results summary or progress meter is not printed
                    to standard output.

    -v              print the scale version and module information.

    -h              prints the scale usage statement.

Usage

Osiris can be used for various things, however, the intent is to enable system administrators, or anyone, to monitor changes that may occur to critical files or directories over time. Needless to say, there it is necessary to maintain a level of security in the way this application is installed and used.

The following are recommendations for installation and use to maintain a minimal level of security in using osiris. These are only suggestions and are not required. Your needs or your security policy may necessitate a different course of action.

First, before unpacking and compiling the source, make use of the MD5 and SHA checksums posted at: http://www.shmoo.com/osiris to verify the integrity of the download.

The Makefile included with the source comes with a 'make install' target. When a make install is performed, man pages, the applications, and a sample config file are installed according to the configuration ( default is /usr/local/osiris ). It is not recommended that these instances of osiris or scale be used other than for any initial testing or to familiarize yourself with the applications. There is more than one reason for this, the biggest being there exists the possibility that these applications will be compromised. The entire purpose of this system is to verify the integrity of files on the local filesystem, when the tools used to verify the data are themsevles subject to the same risks or malicious behaviour, they become unreliable. The solution is to keep them on read-only media:

  1. build your new UNIX box offline.
  2. install and and all apps you will foreseeably need on the box.
  3. obtain and verify the osiris source:
            md5 osiris-1.5.0.tar.gz    AND/OR
            sha osiris-1.5.0.tar.gz
    
  4. configure and compile osiris according to your needs.
  5. create any number of config files you will use to monitor your system.
  6. move the applications: osiris and scale, and your config to a CD-R disk.
  7. run osiris to create your database(s) and immediatly move those to a CD-R disk.
  8. store your CDs in a safe place.
  9. On a regularly scheduled basis, and any time you install software on said box, repeat the process, adding the new database files to the CD-R.
  10. Every time, after the initial time you run osiris to catalog files, run scale with the original (or last known good) database as the left hand database, and the newest one as the right hand database.
  11. modify the config file, if desired, removing blocks or changing the attribute strings to run various types of comparisons against the database.
  12. Always, always keep the databases in a secure place, so they are not accidentally or malevolently erased or tampered with.

Limitations

Osiris is currently under development, see http://www.shmoo.com/osiris for details regarding the ongoing work for version 2.0.

the following will be fixed in future releases:

* currently, databases need to be compared on the system for which they were created.
* when using a config file with scale, blocks may only be removed, not added or the directory path changed.


Last updated October 1, 2001