#!/bin/shIPT=/sbin/iptables#remove ane exting rules$IPT -F$IPT -X$IPT -Z#setting for SSH $IPT -A INPUT -p tcp --dport 22 -s 192.168.132.0/24 -j ACCEPT$IPT -A INPUT -p tcp --dport 22 -s 192.168.10.0/24 -j ACCEPT#setting for loopback interface$IPT -A OUTPUT -o lo -j ACCEPT$IPT -A INPUT -i lo -j ACCEPT# this is default options$IPT --policy OUTPUT ACCEPT$IPT -P FORWARD DROP$IPT -P INPUT DROP#setting for looback interce#souce add spoconfig and other Bad Address$IPT -A INPUT -s 192.168.132.0/24 -p all -j ACCEPT$IPT -A INPUT -s 192.168.10.0/24 -p all -j ACCEPT$IPT -A INPUT -s 192.168.20.0/24 -p all -j ACCEPT$IPT -A INPUT -p tcp --dport 80 -j ACCEPT$IPT -A INPUT -p tcp --dport 443 -j ACCEPT$IPT -A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT$IPT -A INPUT -p icmp -s 192.168.132.0/24 -m icmp --icmp-type any -j ACCEPT$IPT -A INPUT -p icmp --icmp-type 8 -j ACCEPT##All of the bits are cleared$IPT -A INPUT -p tcp --tcp-flags ALL NONE -j DROP$IPT -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP$IPT INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP$IPT -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP$IPT -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP$IPT -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP$IPT -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT$IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT/etc/init.d/iptables save说明:tcp 状态标记 有SYN,ACK、FIN、RST、URG、PSH、ALL、NONE
SYN | 同步 |
ACK | 应答 |
FIN | 结束 |
RST | 重设 |
URG | 紧急 |
PSH | 强制推送 |
ALL | 所有 |
例如:根据TCP/IP 协议的握手原理、最常见的非法组合SYN/FIN 包由于SYN包是用来初始化连接的、因此它和FIN以及RST一起出现的时候就是恶意攻击了