Tripwire is a tool that keeps a database of information about files on the server. It performs regular checks and reports about files that have been changed, deleted, created, or renamed.
8. Automatic Check
Cron runs /etc/cron.daily/tripwire once a day. This invokes tripwire as /usr/sbin/tripwire --check --quiet. The meaning of the parameters:
--check causes the program to compare the current files in the system with the recorded attributes in the database, save a signed binary report file, and print a text report to stdout (which is mailed by cron)
--quiet tells it not to print a lot of stuff while it is working
9. Configuration Files `/etc/tripwire`
fyodor.hcoop.net-local.key is a cryptographic key used to sign the database and reports
site.key is a cryptographic key used to sign the configuration and policy files
tw.cfg is a signed binary file that holds configuration information
twcfg.txt is the text source of tw.cfg
tw.pol is a signed binary file that holds the logging and reporting policy information
twpol.txt is the text source of tw.pol
10. Data Files `/var/lib/tripwire`
fyodor.hcoop.net.twd is the signed tripwire database, storing information about every monitored file
reports/ holds the signed binary reports
11. Updating the Database
The check operation creates a signed binary report file every time it runs. This report is like a "diff" of the database and the current file system. The database is updated by "patching" it with the report. Here is the procedure:
The command is tripwire --update
If it complains that the file could not be opened then you must specify the report file with the -r option. Choose the file with the most recent timestamp. The timestamp is included in the filename so use tab-completion. Example: tripwire --update -r /var/lib/tripwire/report/fyodor.hcoop.net-20051023-065438.twr
This will open a selection file in the pico editor. Look through the file and clear the [x] for any line that should not be saved to the database. The process is essentially certifying that each filesystem change is valid and proper.
- Save the file with ^O (Control-Oh)
- Quit with ^X (Control-x)
- Now you will be prompted for the local passphrase.
12. Changing the Policy
- First follow the instructions to Update the Database
change to /etc/tripwire
edit the policy in twpol.txt
create the signed binary tw.pol file with tripwire --update-policy --secure-mode low twpol.txt
- you will be prompted for the site and local passphrases
13. Updating the Configuration
change to /etc/tripwire
edit the configuration in twcfg.txt
run twadmin --create-cfgfile -S site.key -c tw.cfg twcfg.txt to create the signed binary tw.cfg file
- you will be prompted for the site passphrase
14. Passphrases
MichaelLeonhard generated the passphrases. To obtain them, save your public key to /root/$(USER).pubkey. Then send Michael an email about it. He will encrypt the passphrases and email them to you. The security of Tripwire depends on these passphrases. DO NOT store your private key or decrypt the passphrases on Fyodor. Here is the procedure:
Download the latest version of GnuPG to your personal computer
- Check the signature of the downloaded file
- Install GnuPG onto your personal computer
On your personal computer, create a public/private key pair with gpg --gen-key, use a good passphrase
Export an ASCII version of your public key with gpg --export -a >> public.key
Copy your public key to your home directory on Fyodor with scp public.key username@fyodor.hcoop.net:
SSH into Fyodor and demonstrate your administrative priveleges by copying the public key to a secure location, cp ~/public.key /root/username.pubkey (where username is your username)
Email MichaelLeonhard (username leonhard) to request a copy of the passphrases
- Decrypt the passphrase:
- Read Michael's email on your personal computer, copy the PGP MESSAGE section to the clipboard
Open a terminal (or cmd prompt) on your personal computer and run gpg on your personal computer
- Paste the GPG message block into the terminal
- Type your secret passphrase, hit enter, then type ^Z (CTRL-Z)
- Write down the passphrases that are printed out
- Close the terminal
Please note how "your personal computer" appears throughout these instructions. Your private key and the decrypted passphrases should only exist on your personal computer. Thanks for caring about security.