Hi -

A few questions about configuring Tripwire
(BTW, I am using the "academic release" version
on various Linux, FreeBSD and OpenBSD boxes, which
are configured as single-function servers [i.e.
www servers, firewalls, database servers, etc.]):

1. When creating the policy file that instructs
Tripwire which files/directories to keep checksums
on, which directories should I specify?  The docs
and howto's generally advise you to exclude the
/tmp and /var directories, since the contents of
these directories are constantly changing.  Since
attackers know this, wouldn't they store the files
and binaries they want to keep on the system in
those directories and thus avoid detection by
tripwire?

2. Some tripwire docs and howto's advise adding
a line to crontab that will automatically
run tripwire regularly (hourly, daily, etc.) and
email the results to the sysadmin.  If an attacker
roots your box, he/she will undoubtedly check for
such a line in crontab, and take the necessary
steps to avoid being detected, such as doctoring
the tripwire binaries or database so that rootkits,
trojans, etc. will not be reported back to the
sysadmin.  The docs advise storing the tripwire
binaries and database on a read-only media such as
a cd-r to prevent them from being tampered with,
but this does not prevent the shell script run by
cron from being doctored to send an "all ok" email
to the sysadmin.  Also, the fact that tripwire
files and their associated cron job exist on the
box will alert the attacker to be extra cautious.

The solution I use is:

1. Install/configure OS and server apps on the box.
By doing a fresh install, the box is in a "known"
state, and we have some confidence that it is
secure and not compromised.

2. Configure the tripwire policy file to check
*every* file on the box, including those in /var,
/tmp, and any other directories that may contain
files that are frequently created/updated/deleted.

3. Create the initial tripwire database, create a
tar file that contains the tripwire binaries and
database, copy the tar file to another trusted
server, and delete the tripwire files from the
new box.

4. Put the new box online and into production.

5. Periodically (via cron on the "other" trusted
server), run a shell script (or perl or whatever)
that does the following:

a. use scp to copy the tar file that contains
the tripwire binaries and database to the "new"
server,

b. use ssh to connect to the new server and run
a script (contained in the tar file) that runs
tripwire and stores the output in a text file,

c. use scp to copy the tripwire output file back
to the trusted server,

d. use ssh to connect to the new server and delete
the tripwire binaries, database, output report,
script, and any other tripwire-related files, and

e. on the trusted server, run a program that will
analyze the tripwire report that was copied from
the new server and send an email to the sysadmin
if any suspicious activity is detected.

This approach can be used to monitor multiple boxes.
The scripts could also run other programs, such as
chkrootkit, and could collect the output from a
log watcher program (and do other security-related
stuff, as well).

The main problem I see is that if the box that
stores all the tripwire databases gets rooted,
and the attacker messes with the tripwire databases,
etc., then you're screwed.

Can anyone see any problems with this approach?

Thanks -
JC


__________________________________________________
Do You Yahoo!?
Send your FREE holiday greetings online!
http://greetings.yahoo.com

Reply via email to