加载中…
个人资料
福盈陈富安
福盈陈富安
  • 博客等级:
  • 博客积分:0
  • 博客访问:3,190
  • 关注人气:1
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

防火墙iptables的filter表规则设定范本

(2014-12-26 09:56:57)
标签:

股票

分类: linux
#1.设定操作路径。
cd /
cd etc/ssh
#2.清除原有规则
sudo iptables -F #清除预设表filter中的所有规则链的规则
sudo iptables -X #清除预设表filter中使用者自定链中的规则
#3.设定预设规则
#设定当数据包不符合IPTABLES的filter表里的INPUT,FORWARD两个链规则时,是DROP(放弃)的。
#而对于要通过OUTPUT链流出的数据包,不做太多限制。即不符合OUTPUT规则里的是ACCEPT(通过)。
#这样设置是合理的,也可以三个链都DROP。但这样是没有必要的,而且要写的规则会增加。但如果只想要有限的几个规则;
#如只做WEB服务器,推荐三个链都是DROP。
#刚刚执行完清除指令,加上底下3个指令也已经执行,还没有执行其他指令前,防火墙因为没有设置任何规则,所以是在全封锁状态。
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT ACCEPT
sudo iptables -P FORWARD DROP
#4.添加规则
#一般常用端口有SSH 22,DNS 53,HTTP 80,MySQL 3306,FTP 21,MAIL 25及110 
#最好INPUT与OUTPUT成对的编写,以免遗漏。
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT #设定SSH数据包进入端口
sudo iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT #设定SSH数据包输出端口
sudo iptables -A INPUT -p tcp --dport 53 -j ACCEPT #设定DNS数据包进入端口
sudo iptables -A OUTPUT -p tcp --sport 53 -j ACCEPT #设定DNS数据包输出端口
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT #设定HTTP数据包进入端口
sudo iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT #设定HTTP数据包输出端口
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT #设定MySQL数据包进入端口
sudo iptables -A OUTPUT -p tcp --sport 3306 -j ACCEPT #设定MySQL数据包输出端口
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT #设定FTP数据包进入端口
sudo iptables -A OUTPUT -p tcp --sport 21 -j ACCEPT #设定FTP数据包输出端口
sudo iptables -A INPUT -p tcp --dport 25 -j ACCEPT #设定MAIL接收数据包进入端口
sudo iptables -A OUTPUT -p tcp --sport 25 -j ACCEPT #设定MAIL接收数据包输出端口
sudo iptables -A INPUT -p tcp --dport 110 -j ACCEPT #设定MAIL发送数据包进入端口
sudo iptables -A OUTPUT -p tcp --sport 110 -j ACCEPT #设定MAIL发送数据包输出端口
sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT #设定HTTPS数据包进入端口
sudo iptables -A OUTPUT -p tcp --sport 8080 -j ACCEPT #设定HTTPS数据包输出端口
sudo iptables -A INPUT -p icmp -j ACCEPT #允许PING通过,也就是ICMP
sudo iptables -A OUTPUT -p icmp -j ACCEPT #允许PING通过,也就是ICMP
sudo IPTABLES -A INPUT -i lo -p all -j ACCEPT #允许loopback!(不然会导致DNS无法正常关闭等问题)
sudo IPTABLES -A OUTPUT -o lo -p all -j ACCEPT #允许loopback!(不然会导致DNS无法正常关闭等问题)
#5.减少不安全的端口连接
#有些特洛伊木马会扫描端口31337到31340(即黑客语言中的 elite 端口)上的服务。
#既然合法服务都不使用这些非标准端口来通信,阻塞这些端口能够有效地减少可能被感染的机会
#还有其他端口像:31335、27444、27665、20034 NetBus、9704、137-139(smb),2049(NFS)端口也应被禁止。
sudo iptables -A INPUT -p tcp --dport 31337 -j DROP
sudo iptables -A OUTPUT -p tcp --sport 31337 -j DROP
sudo iptables -A INPUT -p tcp --dport 31338 -j DROP
sudo iptables -A OUTPUT -p tcp --sport 31338 -j DROP
sudo iptables -A INPUT -p tcp --dport 31339 -j DROP
sudo iptables -A OUTPUT -p tcp --sport 31339 -j DROP
sudo iptables -A INPUT -p tcp --dport 31340 -j DROP
sudo iptables -A OUTPUT -p tcp --sport 31340 -j DROP
sudo iptables -A INPUT -p tcp --dport 31335 -j DROP
sudo iptables -A OUTPUT -p tcp --sport 31335 -j DROP
sudo iptables -A INPUT -p tcp --dport 27444 -j DROP
sudo iptables -A OUTPUT -p tcp --sport 27444 -j DROP
sudo iptables -A INPUT -p tcp --dport 27665 -j DROP
sudo iptables -A OUTPUT -p tcp --sport 27665 -j DROP
sudo iptables -A INPUT -p tcp --dport 20034 -j DROP
sudo iptables -A OUTPUT -p tcp --sport 20034 -j DROP
sudo iptables -A INPUT -p tcp --dport 2049 -j DROP
sudo iptables -A OUTPUT -p tcp --sport 2049 -j DROP
sudo iptables -A INPUT -p tcp --dport 9704 -j DROP
sudo iptables -A OUTPUT -p tcp --sport 9704 -j DROP
sudo iptables -A INPUT -p tcp --dport 137 -j DROP  #以下是smb端口,注意可能影响分享功能
sudo iptables -A OUTPUT -p tcp --sport 137 -j DROP #以下是smb端口,注意可能影响分享功能
sudo iptables -A INPUT -p tcp --dport 138 -j DROP
sudo iptables -A OUTPUT -p tcp --sport 138 -j DROP
sudo iptables -A INPUT -p tcp --dport 139 -j DROP
sudo iptables -A OUTPUT -p tcp --sport 139 -j DROP
#6.开启转发功能
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eh0 -j ACCEPT
#7.限制IP地址段192.168.0.1~192.168.0.255可以ssh连接
sudo iptables -A INPUT -s 192.168.0.1/24 -p tcp --dport 22 -j ACCEPT
#8.丢弃坏的TCP包
sudo iptables -A FORWARD -p TCP ! --syn -m state --state NEW -j DROP
#9.处理IP碎片数量,防止攻击,允许每秒200个
sudo iptables -A FORWARD -f -m limit --limit 200/s --limit-burst 200 -j ACCEPT
#10.设置ICMP包过滤,允许每秒1个包,限制触发条件是10个包.
sudo iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
#11.drop非法连接
sudo iptables -A INPUT -m state --state INVALID -j DROP
sudo iptables -A OUTPUT -m state --state INVALID -j DROP
sudo iptables-A FORWARD -m state --state INVALID -j DROP
#12.允许所有已经建立的和相关的连接
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#13.保存设定
cd /
sudo /sbin/iptables-save

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有