为Suricata创建一个Bash init脚本

时间:2012-06-07 22:47:21

标签: bash init intrusion-detection

我在Fedora 14系统上运行Suricata的旧版本“1.1”。它是通过yum安装的,因此由于我读过的一些问题而没有工作的init脚本。有没有一种简单的方法可以在通用init脚本中包含以下内容,以便在系统启动时suricata自动启动。

感谢您提供任何帮助/指导。

1 个答案:

答案 0 :(得分:5)

尝试使用大小:“将其称为suricata并将其放在/etc/init.d目录中

#!/bin/bash
#
# Init file for suricata
#
#
# chkconfig: 345 52 48
# description: Network Intrusion Detection System
#
# processname: Suricata
# pidfile: /var/run/suricata.pid

source /etc/rc.d/init.d/functions


### Read configuration
[ -r "$SYSCONFIG" ] && source "$SYSCONFIG"

RETVAL=0
prog="suricata"
desc="Suricata IDS"

start() {
    echo -n $"Starting $desc ($prog): "

    daemon suricata -c /etc/suricata.yaml -i eth0 
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
    return $RETVAL
}

stop() {
    echo -n $"Shutting down $desc ($prog): "
    killproc $prog
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
    return $RETVAL
}

restart() {
    stop
    start
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    restart
    ;;
  reload)
    reload
    ;;
  condrestart)
    [ -e /var/lock/subsys/$prog ] && restart
    RETVAL=$?
    ;;
  status)
    status $prog
    RETVAL=$?
    ;;
  *)
    echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"
    RETVAL=1
esac

exit $RETVAL

取决于你的系统,我没有运行Fedora 14,你可能需要提供suricata二进制文件的绝对路径。我的是/ usr / local / bin / suricata

您还应该考虑更新或至少从源代码编译,这会为您提供make install-full选项,现在可以为您完成所有这些操作,包括安装init脚本。您可以从the suricata open info sec website

下载