snort/rc.snort

changeset 549
00e5f0537340
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/snort/rc.snort	Tue Aug 28 18:31:50 2012 +0200
     1.3 @@ -0,0 +1,92 @@
     1.4 +#!@l_prefix@/bin/openpkg rc
     1.5 +##
     1.6 +##  rc.snort -- Run-Commands
     1.7 +##
     1.8 +
     1.9 +%config
    1.10 +    snort_enable="$openpkg_rc_def"
    1.11 +    snort_if=""
    1.12 +    snort_flags="-N -Afast -o"
    1.13 +    snort_log_prolog="true"
    1.14 +    snort_log_epilog="true"
    1.15 +    snort_log_numfiles="10"
    1.16 +    snort_log_minsize="1M"
    1.17 +    snort_log_complevel="9"
    1.18 +    snort_update_time="once"
    1.19 +    snort_update_source="file://@l_prefix@/share/snort/rules.tar.gz"
    1.20 +
    1.21 +%common
    1.22 +    snort_cfgfile="@l_prefix@/etc/snort/snort.conf"
    1.23 +    snort_logdir="@l_prefix@/var/snort"
    1.24 +    snort_piddir="@l_prefix@/var/snort"
    1.25 +    snort_pidfile="$snort_piddir/snort_${snort_if}.pid"
    1.26 +    snort_signal () {
    1.27 +        [ -f $snort_pidfile ] && kill -$1 `cat $snort_pidfile`
    1.28 +    }
    1.29 +    snort_update () {
    1.30 +        @l_prefix@/sbin/snort-update "$snort_update_source"
    1.31 +    }
    1.32 +
    1.33 +%status -u @l_susr@ -o
    1.34 +    snort_usable="no"
    1.35 +    snort_active="no"
    1.36 +    @l_prefix@/sbin/snort \
    1.37 +        -q -T \
    1.38 +        -u "@l_rusr@" -g "@l_rgrp@" \
    1.39 +        -i "$snort_if" \
    1.40 +        -c "$snort_cfgfile" \
    1.41 +        -l "$snort_logdir" \
    1.42 +        >/dev/null 2>&1 && snort_usable="yes"
    1.43 +    [ ".$snort_if" = . ] && snort_usable="no"
    1.44 +    rcService snort enable yes && snort_signal 0 && snort_active="yes"
    1.45 +    echo "snort_enable=\"$snort_enable\""
    1.46 +    echo "snort_usable=\"$snort_usable\""
    1.47 +    echo "snort_active=\"$snort_active\""
    1.48 +
    1.49 +%start -p 100 -u @l_susr@
    1.50 +    rcService snort enable yes || exit 0
    1.51 +    rcService snort active yes && exit 0
    1.52 +    @l_prefix@/sbin/snort \
    1.53 +        -q -D \
    1.54 +        -u "@l_rusr@" -g "@l_rgrp@" \
    1.55 +        -i "$snort_if" \
    1.56 +        -c "$snort_cfgfile" \
    1.57 +        -l "$snort_logdir" \
    1.58 +        ${snort_flags}
    1.59 +
    1.60 +%stop -p 900 -u @l_susr@
    1.61 +    rcService snort enable yes || exit 0
    1.62 +    rcService snort active no  && exit 0
    1.63 +    snort_signal TERM
    1.64 +    sleep 2
    1.65 +    rm -f $snort_pidfile 2>/dev/null || true
    1.66 +
    1.67 +%restart -p 100 -u @l_susr@
    1.68 +    rcService snort enable yes || exit 0
    1.69 +    rcService snort active no  && exit 0
    1.70 +    rc snort stop start
    1.71 +
    1.72 +%hourly -u @l_rusr@
    1.73 +    rcService snort enable yes || exit 0
    1.74 +    if [ ".$snort_update_time" = .hourly ]; then
    1.75 +        snort_update || exit $?
    1.76 +    fi
    1.77 +
    1.78 +%daily -u @l_rusr@
    1.79 +    rcService snort enable yes || exit 0
    1.80 +    if [ ".$snort_update_time" = .daily ]; then
    1.81 +        snort_update || exit $?
    1.82 +    fi
    1.83 +    shtool rotate -f \
    1.84 +        -n ${snort_log_numfiles} -s ${snort_log_minsize} -d \
    1.85 +        -z ${snort_log_complevel} -m 644 -o @l_rusr@ -g @l_rgrp@ \
    1.86 +        -P "${snort_log_prolog}" \
    1.87 +        -E "${snort_log_epilog}; rc snort reload" \
    1.88 +        $snort_logdir/snort.alert.log
    1.89 +
    1.90 +%weekly -u @l_rusr@
    1.91 +    rcService snort enable yes || exit 0
    1.92 +    if [ ".$snort_update_time" = .weekly ]; then
    1.93 +        snort_update || exit $?
    1.94 +    fi
    1.95 +

mercurial