博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

生产环境主机防火墙iptables 脚本

#!/bin/sh
IPT=/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一起出现的时候就是恶意攻击了

 

posted @ 2018-02-01 17:28  crazy_py  阅读(322)  评论(0编辑  收藏  举报