eb8c4f2ac5c0547ba1a19f3b46f8eee94ac0613c
[ossec-hids-cn.git] / debian / postinst
1 #!/bin/sh
2 # postinst script for bind9-cn
3 #
4 # see: dh_installdeb(1)
5
6 set -e
7
8 # summary of how this script can be called:
9 #        * <postinst> `configure' <most-recently-configured-version>
10 #        * <old-postinst> `abort-upgrade' <new version>
11 #        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
12 #          <new-version>
13 #        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
14 #          <failed-install-package> <version> `removing'
15 #          <conflicting-package> <version>
16 # for details, see http://www.debian.org/doc/debian-policy/ or
17 # the debian-policy package
18 #
19
20 case "$1" in
21     configure|reconfigure)
22       # continue below
23     ;;
24
25     *)
26         exit 0
27     ;;
28 esac
29
30 # import CN-functions
31 . /usr/share/carnet-tools/functions.sh
32
33 # get installation directory
34 . /etc/ossec-init.conf
35 if [ "X${DIRECTORY}" = "X" ]; then
36     DIRECTORY="/var/ossec"
37 fi
38
39 # sanity check
40 if [ ! -d "$DIRECTORY/rules" ]; then
41     echo "CN: There is no "$DIRECTORY/rules" directory, exiting..."
42     echo "CN: Please reinstall ossec-hids package"
43     exit 1
44 fi
45
46 # find first available sid
47 local_rules="$DIRECTORY/rules/local_rules.xml"
48 script='
49 BEGIN {
50     FS = "\""
51 }
52 /^[ \t]*<rule id="[[:digit:]]+" .*>/ {
53     if (max < $2)
54         max = $2
55 }
56 END {
57     print max
58 };
59 '
60 sid=100000
61 if [ -e "$local_rules" ]; then
62     sid=$(awk "$script" "$local_rules")
63 fi
64
65 # update local rules with our policy
66 if [ -e "$local_rules" ]; then
67     cp "$local_rules" "$local_rules.$$"
68 else
69     touch "$local_rules.$$"
70 fi
71
72 cp-update --comment '<!--' --comment-end '-->' \
73     ossec-hids-cn "$local_rules.$$" <<EOF
74 <group name="syslog,errors,local">
75  <rule id="$(expr "$sid" + 1)" level="0">
76    <if_sid>1002</if_sid>
77    <match>rsync</match>
78    <description>Events ignored</description>
79  </rule>
80
81  <rule id="$(expr "$sid" + 1)" level="0">
82    <if_sid>1002</if_sid>
83    <program_name>^sophie|^smartd</program_name>
84    <description>Events ignored</description>
85  </rule>
86 </group>
87
88 <group name="syslog,postfix,local">
89  <rule id="$(expr "$sid" + 1)" level="0">
90    <if_sid>3303</if_sid>
91    <description>Events ignored</description>
92  </rule>
93
94  <rule id="$(expr "$sid" + 1)" level="0">
95   <if_sid>3356</if_sid>
96   <description>Ignore blacklisted mail...</description>
97  </rule>
98 </group>
99 EOF
100 cp_mv "$local_rules.$$" "$local_rules"
101
102 # and restart the service
103 if [ -x /usr/sbin/invoke-rc.d ]; then
104     invoke-rc.d ossec-hids restart
105 else
106     /etc/init.d/ossec-hids restart
107 fi
108
109 # dh_installdeb will replace this with shell code automatically
110 # generated by other debhelper scripts.
111
112 #DEBHELPER#
113
114 exit 0