注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

文刀三皮的博客

专注于运行维护

 
 
 

日志

 
 
 
 

iptables 配置脚本  

2012-09-27 11:01:00|  分类: 安全防范 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

IPT="/sbin/iptables"

$IPT --delete-chain

$IPT --flush

# 清除先前的设定

###-----------------------------------------------------###

# 清除预设表 filter 中,所有规则链中的规则

$IPT -F

# 清除预设表 filter 中,使用者自订链中的规则

$IPT -X

# 清除mangle表中,所有规则链中的规则

$IPT -F -t mangle

# 清除mangle表中,使用者自订链中的规则

$IPT  -t mangle -X

# 清除nat表中,所有规则链中的规则

$IPT -F -t nat

# 清除nat表中,使用者自订链中的规则

$IPT -t nat -X

 

#设置INPUT,FORWARD,OUTPUT链默认target为DROP,也就是外部与服务器不能通信。

$IPT -P INPUT DROP    #1

$IPT -P FORWARD DROP  #1

$IPT -P OUTPUT DROP   #1

 

#设置当连接状态为RELATED和ESTABLISHED时,允许数据进入服务器。

$IPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #2

 

#http

$IPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT #3

 

#tomcat

$IPT -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT #3

 

#mysql

$IPT -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT #3

$IPT -A INPUT -p tcp -m tcp --dport 3307 -j ACCEPT #3

 

#设置远程ssh

#$IPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT #3

 

#只允许192.168.1.119地址远程SSH

#仅允许来自指定网络的SSH连接请求

#以下规则仅允许来自192.168.100.0/24的网络:可以适当启用

 

#$IPT -A INPUT -i eth0 -p tcp -s 192.168.1.119/32 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT 

 

#$IPT -A INPUT -i eth0 -p tcp -s 192.168.1.119/32 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT 

#$IPT -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

 

#$IPT -A OUTPUT -o eth0 -p tcp -d 192.168.1.119 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

#$IPT -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

#$IPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT #3

 

#$IPT -A OUTPUT -o eth0 -p tcp -s 192.168.1.119/32 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

#$IPT  -A INPUT -i eth0 -s 192.168.1.119/32 -p tcp -m icmp --icmp-type echo-request -j ACCEPT  #5

#$IPT -A INPUT -i eth0 -p icmp --icmp-type echo-request -j DROP

 

 

#允许内部数据循回

$IPT -A INPUT -i lo -j ACCEPT #4

$IPT -A OUTPUT -o lo -j ACCEPT #4

 

#ping only 192.168.1.119

$IPT  -A INPUT -i eth0 -s 192.168.1.119/32 -p icmp -m icmp --icmp-type echo-request -j ACCEPT  #5

$IPT -A INPUT -i eth0 -p icmp --icmp-type echo-request -j DROP

 

#设置状态为RELATED和ESTABLISHED的数据可以从服务器发送到外部。

$IPT -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #6

 

#server dns

$IPT -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT #7

 

#Email

$IPT -A OUTPUT -p tcp -m tcp --dport 25 -j ACCEPT #9

$IPT -A OUTPUT -p tcp -m tcp --dport 110 -j ACCEPT #9

 

#ping outside

$IPT -A OUTPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT  #10

$IPT -A OUTPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT #10

 

#FTP

$IPT -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT  #3

$IPT -A INPUT -p tcp --dport 21 -j ACCEPT #11

$IPT -A INPUT -p tcp --dport 20 -j ACCEPT #11

$IPT -A INPUT -p tcp --dport 30001:31000 -j ACCEPT #11

$IPT -A OUTPUT -p tcp --sport 30001:31000 -j ACCEPT #11

 

#save

service iptables save

service iptables restart

iptables -L --line-numbers

##########
在生产环境下调试iptables脚本前,强烈建议编写crontab任务,每5分钟关闭一次iptalbes脚本,防止将SSH客户端锁在外面,命令如下所示:
*/5 * * * * root /etc/init.d/iptables stop
  评论这张
 
阅读(1)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018