#!/bin/bash
/sbin/modprobe ip_conntrack_ftp
######################## # Set ######################## IPTABLES=/sbin/iptables MYSELF=`/sbin/ifconfig wlan0|/bin/grep "inet addr"|/bin/cut -d':' -f2|/bin/cut -d' ' -f1` LOOPBACK=127.0.0.1 ANY=0.0.0.0/0 #echo $MYSELF
######################## # Flash rules ######################## $IPTABLES -F -t filter $IPTABLES -X -t filter $IPTABLES -Z -t filter #$IPTABLES -F -t nat #$IPTABLES -X -t nat #$IPTABLES -Z -t nat #$IPTABLES -F -t mangle #$IPTABLES -X -t mangle #$IPTABLES -Z -t mangle
######################## # Default Policy ######################## $IPTABLES -t filter -P INPUT DROP $IPTABLES -t filter -P OUTPUT DROP $IPTABLES -t filter -P FORWARD DROP #$IPTABLES -t nat -P PREROUTING DROP #$IPTABLES -t nat -P POSTROUTING ACCEPT #$IPTABLES -t nat -P OUTPUT ACCEPT #$IPTABLES -t mangle -P INPUT ACCEPT #$IPTABLES -t mangle -P OUTPUT ACCEPT #$IPTABLES -t mangle -P FORWARD ACCEPT #$IPTABLES -t mangle -P PREROUTING ACCEPT #$IPTABLES -t mangle -P POSTROUTING ACCEPT
######################## # Loopback ######################## #$IPTABLES -A INPUT -i lo -j ACCEPT #$IPTABLES -A OUTPUT -o lo -j ACCEPT $IPTABLES -A INPUT -s $LOOPBACK -d $LOOPBACK -j ACCEPT $IPTABLES -A OUTPUT -s $LOOPBACK -d $LOOPBACK -j ACCEPT
################################## # Spoofed Packet ################################## # Broadcast $IPTABLES -A INPUT -s 255.0.0.0/8 -j LOG --log-level debug --log-prefix "INPUT(S:255.0.0.0/8):" $IPTABLES -A INPUT -s 255.0.0.0/8 -j DROP $IPTABLES -A INPUT -s 0.0.0.0/8 -j LOG --log-level debug --log-prefix "INPUT(S:0.0.0.0/8):" $IPTABLES -A INPUT -s 0.0.0.0/8 -j DROP # Loopback $IPTABLES -A INPUT -s 127.0.0.1/8 -j LOG --log-level debug --log-prefix "INPUT(S:127.0.0.1/8):" $IPTABLES -A INPUT -s 127.0.0.1/8 -j DROP # Private Address $IPTABLES -A INPUT -s 192.168.0.0/16 -j LOG --log-level debug --log-prefix "INPUT(S:192.168.0.0/16):" $IPTABLES -A INPUT -s 192.168.0.0/16 -j DROP $IPTABLES -A INPUT -s 172.16.0.0/12 -j LOG --log-level debug --log-prefix "INPUT(S:172.16.0.0/12):" $IPTABLES -A INPUT -s 172.16.0.0/12 -j DROP $IPTABLES -A INPUT -s 10.0.0.0/8 -j LOG --log-level debug --log-prefix "INPUT(S:10.0.0.0/8):" $IPTABLES -A INPUT -s 10.0.0.0/8 -j DROP
# Broadcast $IPTABLES -A INPUT -d 255.0.0.0/8 -j LOG --log-level debug --log-prefix "INPUT(D:255.0.0.0/8):" $IPTABLES -A INPUT -d 255.0.0.0/8 -j DROP $IPTABLES -A INPUT -d 0.0.0.0/8 -j LOG --log-level debug --log-prefix "INPUT(D:0.0.0.0/8):" $IPTABLES -A INPUT -d 0.0.0.0/8 -j DROP # Multicast $IPTABLES -A INPUT -d 224.0.0.0/8 -j LOG --log-level debug --log-prefix "INPUT(D:224.0.0.0/8):" $IPTABLES -A INPUT -d 224.0.0.0/8 -j DROP # Loopback $IPTABLES -A INPUT -d 127.0.0.1/8 -j LOG --log-level debug --log-prefix "INPUT(D:127.0.0.1/8):" $IPTABLES -A INPUT -d 127.0.0.1/8 -j DROP # Private Address $IPTABLES -A INPUT -d 192.168.0.0/16 -j LOG --log-level debug --log-prefix "INPUT(D:192.168.0.0/16):" $IPTABLES -A INPUT -d 192.168.0.0/16 -j DROP $IPTABLES -A INPUT -d 172.16.0.0/12 -j LOG --log-level debug --log-prefix "INPUT(D:172.16.0.0/12):" $IPTABLES -A INPUT -d 172.16.0.0/12 -j DROP $IPTABLES -A INPUT -d 10.0.0.0/8 -j LOG --log-level debug --log-prefix "INPUT(D:10.0.0.0/8):" $IPTABLES -A INPUT -d 10.0.0.0/8 -j DROP
# Myself $IPTABLES -A INPUT -s $MYSELF -j LOG --log-level debug --log-prefix "INPUT(S:MYSELF):" $IPTABLES -A INPUT -s $MYSELF -j DROP
######################## # Return Packet ######################## $IPTABLES -A INPUT -d $MYSELF -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A OUTPUT -s $MYSELF -m state --state RELATED,ESTABLISHED -j ACCEPT
########################## # From MYSELF To Internet ########################## $IPTABLES -A OUTPUT -p icmp --icmp-type echo-request -s $MYSELF -j ACCEPT $IPTABLES -A OUTPUT -p tcp -s $MYSELF --dport 21 -m state --state NEW -j ACCEPT $IPTABLES -A OUTPUT -p udp -s $MYSELF --dport 53 -j ACCEPT $IPTABLES -A OUTPUT -p tcp -s $MYSELF --dport 53 -j ACCEPT $IPTABLES -A OUTPUT -p udp -s $MYSELF --dport 68 -m state --state NEW -j ACCEPT $IPTABLES -A OUTPUT -p tcp -s $MYSELF --dport 80 -m state --state NEW -j ACCEPT
########################## # From Internet To MYSELF ########################## $IPTABLES -A INPUT -p tcp -d $MYSELF ! --syn -m state --state NEW -j DROP $IPTABLES -A INPUT -p tcp -d $MYSELF --dport 22 -m state --state NEW -j ACCEPT
######################## # LOG ######################## $IPTABLES -A INPUT -j LOG --log-level debug --log-prefix "Other Input Packets:" #$IPTABLES -N LOGGING #$IPTABLES -A LOGGING -j LOG #$IPTABLES -A LOGGING -j DROP