iptables设置防火墙规则
防伪码:学而不思则罔,思而不学则殆!
前言:大家都知道Michael Rash这个人吧!世界级的安全技术专家,以防火墙、入侵检测系统等方面的造诣享誉安全界。所以可以看出防火墙的重要性!下面为大家说一下防火墙策略的使用!
理论知识:
1. Linux防火墙:
netfiler :位于linux内核中的包过滤功能体系。
称为linux防火墙的“内核态”
iptables :位于/sbin/iptables,用来管理防火墙规则的工具
称为linux防火墙的“用户态”
2. 包过滤的工作层次:
主要是网络层,针对ip数据包
体现在对包内的ip地址、端口等信息的处理上
3、 iptables的表、链的结构
raw表:PREROUTING链、OUTPUT链
mangle表:PREROUTING链、POSTROUTING链、INPUT链、OUTPUT链、FORWARD链
nat表:PREROUTING链、POSTROUTING链、OUTPUT链、
filter表:INPUT链、OUTPUT链、FORWARD链
4. 规则链:
规则的作用:对数据包进行过滤或处理
链的作用:容纳各种防火墙规则
链的分类依据:处理数据包的不同时机
5. 五种规则链:
默认包括5种规则链
INPUT:处理入站数据包
OUTPUT:处理出站数据包
FORWARD:处理转发数据包
POSTROUTING:在进行路由选择后处理数据包
PREROUTING:在进行路由选择前处理数据包
6. 规则表:
表的作用:容纳各种规则链
表的划分依据:防火墙规则的作用相似
默认包括4个规则表
raw表:确定是否对该数据包进行状态跟踪
mangle表:为数据包设置标记
nat表:修改数据包中的源、目的ip地址或端口
filter表:确认是否放行该数据包(过滤)
7. 规则表之间的顺序
raw、mangle、nat、filter
8. 规则链之间的顺序
入站:PREROUTING、INPUT
出站:OUTPUT、POSTROUTING
转发:PREROUTING、FORWARD、POSTROUTING
9. 规则链内的匹配顺序:
按顺序依次检查,匹配即停止(log策略例外)
若找不到相匹配的规则,则按该链的默认策略处理
10、.匹配流程图:
一般raw和mangle表很少使用
及匹配后的流程图如下:
11、注意事项:
不指定表时,默认指filter表
不指定链名时,默认指表内的所有链
除非设置链的默认策略,否则必须指定匹配条件
选项、链名、控制类型使用大写字母,其余均为小写
如何设置防火墙规则呢?下面我们来学习一下如何设置防火墙策略!
一、COMMAND
1、列出所有链的规则:iptables -L ,显示某条链的规则就是iptables -L INPUT
更加详细的查询防火墙设置的规则:iptables -vnL
那么我们应该如何清除所有链的规则:iptables -F ,清楚完毕后,我们用iptables -L 可以看到之前的规则已全部被清除。
设置默认规则策略:(我要拒绝所有的数据包),上一步我们使用-F 清理了所有的规则,设置了拒绝所有数据包的规则之后,我们使用-L 查看到防火墙状态全部为DROP。
PS:如果要是想要远程连接,首先需要改成 iptables -P INPUT ACCEPT
下面让我们来添加一些规则,
添加防火墙规则,在INPUT链上添加,协议为tcp,目的端口为21和22:
插入规则,在INPUT链上,端口号23,设置规则号为1
替换规则,在INPUT链上替换规则号为1的规则,将端口替换为24
删除规则,在input链上删除规则号为1的规则
二、match:基本规则匹配
指定协议:
指定icmp类型,设置规则
指定ip地址,设置规则
指定网络接口,设置规则
指定端口号,设置规则
三、match 扩展规则匹配
limit:限制速率
iprange :针对一整段连续的ip设置防火墙某种策略
time指定某个时间范围内设置防火墙策略
multiport 针对多个端口设置防火墙策略
string:可以对某个报文中的字符串做匹配检查,比如一些敏感词汇等
state 可以根据“连接追踪机制”去检查连接的状态情况
以上iptables防火墙的一些简单实用,希望大家都可以学会!如有新的规则,我会为大家继续更新!
本文出自 “卢春宁” 博客,转载请与作者联系!
原文:http://luchunning.blog.51cto.com/12092606/1888580