[Osiris-devel]osiris database analysis

Brian Wotring brian at shmoo.com
Sat Aug 24 10:31:31 EDT 2002


This is a brief overview of what I purpose for the first release of 
osiris (and some of the implementation details) with respect to 
database comparison. Anything beyond this I think will be considered 
features to implement later.  This is a list of the bare essentials for 
an alpha release.

[overview]

Each host will have a single database that will be considered the 
"trusted database".  This is the database that will be used with each 
comparison, as a control.  After every scan, the trusted database is 
compared against the newly created database. A config file called an 
"analysis config" will be used in the comparison of the databases.  An 
anlysis config serves to specify which files the daemon should report 
deltas on.  At first, this analysis config will contain all the files 
in the trusted database.  Over time, the administrator will be able to 
modify the config so as to reduce the syslog events it generates.  In 
addition to files and directory names, the analysis config can specify 
on a per file basis, which attributes for each file should be included 
in the comparison.  Scheduling will be simple and allow for the 
administrator to schedule a single scan for each host.  A schedule 
entry consists of a date/time and a scanning config to use.  When the 
timer fires, the specified config is pushed to the host, a scan is 
started, and when complete, the analysis occurs.

[details]

the trusted database for each host will be specified in its host.conf 
file.  The analysis config file will be stored in the root directory 
for each host.  The analysis config will specify a list of file 
entries, for example:

     file: /etc/hosts
     mtime,ctime,uid,gid,perm,bytes

     file: /bin/bash
     mtime,ctime,uid,gid,perm,bytes,checksum

     file: /bin/ps
     mtime,ctime,uid,gid,perm,bytes,checksum,inode

     file: /var
     mtime,uid,gid,inode

The analysis config will be presented to the user as a listview tree of 
directories and files.  The administrator can enable/disable any file 
to add it to the list of files to be compared.  To change the attribute 
list, a detailed view of the file can be shown to enable/disable each 
attribute.

The first implementation of scheduling will be a simple cron like 
entry.  For this release, only one schedule per host will be allowed.

scan = config_name yyy/MM/dd EEE HH:mm

where:
     yyyy is a year
     MM is a month.
     dd is a day
     EEE is a day of the week ( MON, TUE, WED, THU, FRI, SAT, SUN ).
     HH is an hour in 24 hour day.
     mm is a minute in hour.

Use the "*" character for fields to match any value.

The scheduler thread will wake up periodically and check the scheduled 
scans, kicking off the ones it needs to.  A separate thread will be 
created which will start the scan, process the comparison, and log the 
deltas.

This design is meant to allow a host to periodically  scan using a 
single scanning config, and compare against the trusted database.

--
     Brian Wotring  ( brian at shmoo.com )
     PGP KeyID: 0x9674763D





More information about the osiris-devel mailing list