izmjene za jessie
[iptables-cn.git] / debian / postinst
1 #!/bin/sh
2 set -e
3
4 [ "$1" = "configure" ] || exit 0
5 [ "$DEBIAN_SCRIPT_DEBUG" ] && set -vx
6
7 # remove old iptables init script
8 update-rc.d -f iptables remove >/dev/null 2>&1 || true
9 update-rc.d -f iptables-cn remove >/dev/null 2>&1 || true
10
11 # check if old default file exists and delete it
12 if [ -e /etc/default/iptables-cn ]; then
13     rm -f /etc/default/iptables-cn
14 fi
15 if [ -e /etc/default/iptables ]; then
16     rm -f /etc/default/iptables
17 fi
18
19 # check to see if fail2ban is installed
20 if dpkg-query -f '${Status}' -W fail2ban | grep -q installed; then
21     echo "CN: Detected Fail2Ban installation, will remove SSH bruteforce rules by default"
22     iptables -D SSH_Brute_Force -m recent ! --rcheck --seconds 90 \
23         --hitcount 3 --name SSH --rsource \
24         -j RETURN >/dev/null 2>&1 || true
25     iptables -D SSH_Brute_Force -p tcp -j REJECT \
26         --reject-with icmp-port-unreachable >/dev/null 2>&1 || true
27     iptables -D INPUT -p tcp -m tcp --dport 22 -m state \
28         --state NEW -m recent --set --name SSH --rsource \
29         -j SSH_Brute_Force >/dev/null 2>&1 || true
30     iptables -X SSH_Brute_Force >/dev/null 2>&1 || true
31
32     echo "CN: Saving current Netfilter rules to /etc/iptables/rules.v4"
33     iptables-save > /etc/iptables/rules.v4
34 else
35     # check if there is any default netfilter policy and install default SSH
36     # REJECT recent if there is none..
37     # also, save current set of rules into active and inactive configuration
38     if [ ! -e /etc/iptables/rules.v4 ]; then
39         if ! iptables-save | grep '^-' >/dev/null; then
40             echo "CN: Netfilter rules empty: importing SSH bruteforce rules"
41             /usr/share/doc/iptables-cn/examples/ssh-bruteforce \
42                 1>/dev/null 2>&1 || true
43         fi
44         echo "CN: Saving current Netfilter rules to /etc/iptables/rules.v4"
45         iptables-save > /etc/iptables/rules.v4
46     fi
47 fi
48
49 # dh_installdeb will replace this with shell code automatically
50 # generated by other debhelper scripts.
51
52 #DEBHELPER#
53
54 exit 0