#!/bin/sh # postinst script for bind9-cn # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `configure' # * `abort-upgrade' # * `abort-remove' `in-favour' # # * `abort-deconfigure' `in-favour' # `removing' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package # case "$1" in configure|reconfigure) # continue below ;; *) exit 0 ;; esac # fix problem with permissions from the old package if dpkg --compare-versions "$2" lt "2:1.2.11-4"; then chown -f -Rh root:root /var/lib/iptables /etc/init.d/iptables \ /etc/default/iptables >/dev/null 2>&1 || true fi # remove old iptables init script update-rc.d -f iptables remove >/dev/null 2>&1 || true # check if old default file exists and import it if [ -e /etc/default/iptables ]; then mv /etc/default/iptables /etc/default/iptables-cn fi # check to see if fail2ban is installed if dpkg -l fail2ban | grep -q '^.i'; then echo "CN: Detected Fail2Ban installation, will remove SSH bruteforce rules by default" iptables -D SSH_Brute_Force -m recent ! --rcheck --seconds 90 \ --hitcount 3 --name SSH --rsource \ -j RETURN >/dev/null 2>&1 || true iptables -D SSH_Brute_Force -p tcp -j REJECT \ --reject-with icmp-port-unreachable >/dev/null 2>&1 || true iptables -D INPUT -p tcp -m tcp --dport 22 -m state \ --state NEW -m recent --set --name SSH --rsource \ -j SSH_Brute_Force >/dev/null 2>&1 || true iptables -X SSH_Brute_Force >/dev/null 2>&1 || true echo "CN: Saving current Netfilter rules to /var/lib/iptables/active" iptables-save > /var/lib/iptables/active else # check if there is any default netfilter policy and install default SSH # REJECT recent if there is none.. # also, save current set of rules into active and inactive configuration if [ ! -e /var/lib/iptables/active ]; then if ! iptables-save | grep '^-' >/dev/null; then echo "CN: Netfilter rules empty: importing SSH bruteforce rules" /usr/share/doc/iptables-cn/examples/ssh-bruteforce \ 1>/dev/null 2>&1 || true fi echo "CN: Saving current Netfilter rules to /var/lib/iptables/active" iptables-save > /var/lib/iptables/active fi fi # create inactive if [ ! -e /var/lib/iptables/inactive ]; then touch /var/lib/iptables/inactive fi # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0