mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-25 10:03:03 +01:00
7271438063
Signed-off-by: Niels Horn <niels.horn@slackbuilds.org>
162 lines
4.5 KiB
Text
162 lines
4.5 KiB
Text
README.SLACKWARE
|
|
================
|
|
|
|
Documentation
|
|
-------------
|
|
|
|
Please read the snort_manual.pdf file that should be included with this
|
|
distribution for full documentation on the program as well as a guide to
|
|
getting started.
|
|
|
|
This package builds a very basic snort implementation useful for monitoring
|
|
traffic as an IDS or packet logger and as a sort of improved tcpdump.
|
|
For more information, check out snort's homepage at:
|
|
|
|
http://www.snort.org/
|
|
http://www.snort.org/docs/
|
|
|
|
|
|
Source tarball and newer releases
|
|
---------------------------------
|
|
|
|
snort.org has no direct links to the source tarball, that's why it is also
|
|
hosted on http://www.nielshorn.net/
|
|
This is needed for sbopkg to work.
|
|
|
|
If you want a newer version than the one available there, check:
|
|
|
|
https://www.snort.org/snort-downloads
|
|
|
|
|
|
Starting snort
|
|
--------------
|
|
|
|
An rc.snort file has been included for your convenience, but it needs to be
|
|
added to your init script of choice to run on boot. You should modify the
|
|
variables in /etc/rc.d/rc.snort to reflect the interface you want to monitor,
|
|
or start it as:
|
|
|
|
IFACE=xxxx /etc/rc.d/rc.snort start|stop|restart
|
|
|
|
As an example, you can put this in your /etc/rc.d/rc.local script:
|
|
|
|
if [ -x /etc/rc.d/rc.snort ]; then
|
|
IFACE=eth1 /etc/rc.d/rc.snort start
|
|
fi
|
|
|
|
And this in your /etc/rc.d/rc.local_shutdown:
|
|
|
|
if [ -x /etc/rc.d/rc.snort ]; then
|
|
/etc/rc.d/rc.snort stop
|
|
fi
|
|
|
|
|
|
Installing / Updating Rules etc.
|
|
--------------------------------
|
|
|
|
In order for Snort to function properly, you need to provide rule files.
|
|
You can either get a paid subscription (newest rules) at:
|
|
|
|
https://www.snort.org/vrt/buy-a-subscription
|
|
|
|
or register for free (only rules >30 days old) at:
|
|
|
|
https://www.snort.org/signup
|
|
|
|
Then download your rules from:
|
|
|
|
https://www.snort.org/snort-rules
|
|
|
|
The downloaded file contains the rules, signatures and updated configuration
|
|
files. Be careful when updating these, as you will probably have customized
|
|
a few settings in your snort.conf
|
|
At the end of this file is a sample script that you can use as a base to
|
|
automate unpacking of the tarball. It updates the rules, signatures and some
|
|
configurations, but copies the new snort.conf as snort.conf.new, so that you
|
|
can examine it later.
|
|
This script is included only as an example and without any guarantee.
|
|
** Use at your own risk! **
|
|
|
|
Basically, you need to
|
|
1) put the new rules/* into /etc/snort/rules/
|
|
2) put the new preproc_rules/* into /etc/snort/preproc_rules/
|
|
3) put the new doc/signatures/* into /usr/doc/snort-*/signatures/
|
|
4) put the new etc/* into /etc/snort/ (except for snort.conf)
|
|
|
|
After updating your files, restart snort with:
|
|
|
|
# /etc/rc.d/rc.snort restart
|
|
|
|
=============================================================================
|
|
Sample script to update rules, signatures and configurations
|
|
*** USE AT YOUR OWN RISK *** NO GUARANTEES ***
|
|
=============================================================================
|
|
#!/bin/bash
|
|
|
|
# snortrules_update
|
|
#
|
|
# Written by Niels Horn <niels.horn@gmail.com>
|
|
# Nothing guaranteed, use at your own risk!
|
|
#
|
|
# v1.00-2010/09/18 - first attempt
|
|
#
|
|
|
|
CWD=$(pwd)
|
|
CONFDIR=/etc/snort
|
|
|
|
# Exit on most errors
|
|
set -e
|
|
|
|
if [ "x$1" = "x" ]; then
|
|
echo "Specify snortrules-snapshot file:"
|
|
echo
|
|
echo " $0 <snortrules-snapshot>"
|
|
echo
|
|
exit 1
|
|
fi
|
|
|
|
# Configuration files
|
|
echo "*** Updating configuration files..."
|
|
for cf in $( tar tf $1 | grep "etc/" ); do
|
|
if [ ! "$cf" = "etc/" ]; then
|
|
file=$(basename $cf)
|
|
tar -xf $1 $cf -O > $CONFDIR/$file.new
|
|
# check if it is "snort.conf"
|
|
if [ ! "$file" = "snort.conf" ]; then
|
|
# OK, it is something else, we can handle this
|
|
if [ -r $CONFDIR/$file ]; then
|
|
# we have a previous version
|
|
if [ "$(cat $CONFDIR/$file | md5sum)" = "$(cat $CONFDIR/$file.new | md5sum)" ]; then
|
|
# nothing new, dump previous version
|
|
rm $CONFDIR/$file
|
|
else
|
|
# keep previous version
|
|
mv -f $CONFDIR/$file $CONFDIR/$file.old
|
|
fi
|
|
fi
|
|
# move new file over
|
|
mv -f $CONFDIR/$file.new $CONFDIR/$file
|
|
fi
|
|
fi
|
|
done
|
|
|
|
# rules
|
|
echo "*** Updating rules..."
|
|
cd /etc/snort/rules
|
|
tar --strip-components=1 --wildcards -xf $CWD/$1 rules/*
|
|
cd - > /dev/null
|
|
|
|
# preproc-rules
|
|
echo "*** Updating preproc_rules..."
|
|
cd /etc/snort/preproc_rules
|
|
tar --strip-components=1 --wildcards -xf $CWD/$1 preproc_rules/*
|
|
cd - > /dev/null
|
|
|
|
# signatures
|
|
echo "*** Updating signatures..."
|
|
cd /usr/doc/snort-*/signatures
|
|
tar --strip-components=2 --wildcards -xf $CWD/$1 doc/signatures/*
|
|
cd - > /dev/null
|
|
|
|
echo "All done."
|
|
|