slitaz-tools annotate rootfs/etc/init.d/firewall @ rev 435

improve firewall and iptables_rules (thanks gokhlayeh)
author Rohit Joshi <jozee@slitaz.org>
date Fri Mar 12 12:01:54 2010 +0000 (2010-03-12)
parents db0e82bebc70
children
rev   line source
pankso@10 1 #!/bin/sh
MikeDSmith25@252 2 # /etc/init.d/firewall - SliTaz firewall daemon script using iptables.
pankso@10 3 # Config file is: /etc/firewall.conf
pankso@10 4 #
pankso@10 5 . /etc/init.d/rc.functions
pankso@10 6 . /etc/firewall.conf
pankso@10 7
pankso@10 8 case $1 in
pankso@10 9 start)
pankso@10 10 # Kernel security. 0 = disable, 1 = enable.
pankso@10 11 #
pankso@10 12 if [ "$KERNEL_SECURITY" = "yes" ] ; then
pankso@10 13 echo -n "Setting up kernel security rules... "
pankso@10 14 # ICMP redirects acceptance.
pankso@10 15 for conf in /proc/sys/net/ipv4/conf/*/accept_redirects ; do
pankso@10 16 echo "0" > $conf
pankso@10 17 done
pankso@10 18 for conf in /proc/sys/net/ipv4/conf/*/secure_redirects ; do
pankso@10 19 echo "0" > $conf
pankso@10 20 done
pankso@10 21 # IP source routing.
pankso@10 22 for conf in /proc/sys/net/ipv4/conf/*/accept_source_route ; do
pankso@10 23 echo "0" > $conf
pankso@10 24 done
pankso@10 25 # Log impossible addresses.
pankso@10 26 for conf in /proc/sys/net/ipv4/conf/*/log_martians ; do
pankso@10 27 echo "1" > $conf
pankso@10 28 done
pankso@10 29 # Ip spoofing protection.
pankso@10 30 for conf in /proc/sys/net/ipv4/conf/*/rp_filter ; do
pankso@10 31 echo "1" > $conf
pankso@10 32 done
pankso@10 33 echo "1" > /proc/sys/net/ipv4/tcp_syncookies
pankso@10 34 status
pankso@10 35 else
pankso@10 36 echo "Kernel security rules are disabled in: /etc/firewall.conf... "
pankso@10 37 fi
pankso@10 38 # Netfilter/iptables rules. We get the rules from /etc/firewall.conf.
pankso@10 39 #
pankso@10 40 if [ "$IPTABLES_RULES" = "yes" ] ; then
pankso@10 41 echo -n "Setting up iptables rules defined in: /etc/firewall.conf... "
pankso@10 42 iptables_rules
pankso@10 43 status
pankso@10 44 else
pankso@10 45 echo "Iptables rules are disabled in: /etc/firewall.conf... "
pankso@10 46 exit 0
pankso@10 47 fi
pankso@10 48 ;;
pankso@10 49 stop)
pankso@10 50 if [ "$IPTABLES_RULES" = "yes" ] ; then
pankso@10 51 echo -n "Stopping iptables firewall rules... "
pankso@10 52 iptables -P INPUT ACCEPT
pankso@10 53 iptables -P OUTPUT ACCEPT
jozee@435 54 iptables -P FORWARD ACCEPT
pankso@10 55 iptables -F
pankso@10 56 iptables -X
pankso@10 57 status
pankso@10 58 else
pankso@10 59 echo "Iptables rules are disabled in: /etc/firewall.conf... "
pankso@10 60 exit 0
pankso@10 61 fi
pankso@10 62 ;;
pankso@10 63 restart)
pankso@10 64 $0 stop
pankso@10 65 sleep 2
pankso@10 66 $0 start
pankso@10 67 ;;
pankso@10 68 status)
pankso@10 69 echo ""
pankso@10 70 echo -e "\033[1m===================== SliTaz firewall statistics =====================\033[0m"
pankso@10 71 echo ""
pankso@10 72 if [ "$KERNEL_SECURITY" = "yes" ] ; then
pankso@10 73 echo "Kernel security: enabled"
pankso@10 74 else
pankso@10 75 echo "Kernel security: disabled"
pankso@10 76 fi
pankso@10 77 echo ""
pankso@10 78 echo "Netfilter/iptables rules: "
pankso@10 79 echo ""
pankso@10 80 iptables -nL
pankso@10 81 echo ""
pankso@10 82 ;;
pankso@10 83 *)
pankso@10 84 echo ""
pankso@10 85 echo -e "\033[1mUsage:\033[0m /etc/init.d/`basename $0` [start|stop|restart|status]"
pankso@10 86 echo ""
pankso@10 87 exit 1
pankso@10 88 ;;
pankso@10 89 esac
pankso@10 90