防火墙简单分类
- 主机防火墙:针对于单个主机进行防护。
- 网络防火墙:往往处于网络入口或边缘,针对于网络入口进行防护,服务于防火墙背后的本地局域网。
软件防火墙简单的工作原理
- 包过滤:对主机的数据包进行筛选和过滤
- 规则匹配:放行( accept)、拒绝( reject))和丢弃(drop)
- 配置规则:添加、删除或者修改规则
iptables
iptables结构
- 表(tables)提供特定的功能,iptables内置了4个表,即filter表、nat表、mangle表和raw表,分别用于实现包过滤,网络地址转换、包重构(修改)和数据跟踪处理。
- 链(chains)是数据包传播的路径,每一条链其实就是众多规则中的一个检查清单,每一条链中可以有一条或数条规则。当一个数据包到达一个链时,iptables就会从链中第一条规则开始检查,看该数据包是否满足规则所定义的条件。如果满足,系统就会根据该条规则所定义的方法处理该数据包;否则iptables将继续检查下一条规则,如果该数据包不符合链中任一条规则,iptables就会根据该链预先定义的默认策略来处理数据包。
![图片[1]-防火墙配置之分类及工作原理-蚂蚁安全](https://download.1pyx.cn/wp-content/uploads/2022/05/4a47a0db6e60.png)
iptables 四张内建表(优先级从高到低)
raw | 高级功能,如:网址过滤 |
mangle | 数据包修改(QOS),用于实现服务质量 |
nat | 地址转换,用于网关路由器、nat地址转换 |
filter | 包过滤,用于防火墙拦截规则、过滤数据包 |
内建表的链
![图片[2]-防火墙配置之分类及工作原理-蚂蚁安全](https://download.1pyx.cn/wp-content/uploads/2022/05/fb5c81ed3a22.png)
chains的概念
![图片[3]-防火墙配置之分类及工作原理-蚂蚁安全](https://download.1pyx.cn/wp-content/uploads/2022/05/10fb15c77258.png)
- prerouting:进入netfilter后的数据包在进入路由判断前执行的规则。改变包。
- Input:当经过路由判断后,要进入本机的数据包执行的规则。
- output:由本机产生,需向外发的数据包执行的规则。
- forward:经过路由判断后,目的地不是本机的数据包执行的规则。与nat 和 mangle表相关联很高,与本机没有关联。
- postrouting:经过路由判断后,发送到网卡接口前。即数据包准备离开netfilter时执行的规则。
数据包如何通过 iptables
![图片[4]-防火墙配置之分类及工作原理-蚂蚁安全](https://download.1pyx.cn/wp-content/uploads/2022/05/09dd8c2662b9-1024x545.png)
包拦截与放行
拒绝所有访问 80 端口的数据包
iptables -A INPUT -p tcp –dport 80 -j DROP
允许 192.168.19.1 访问 80 端口的数据包
iptables -I INPUT -p tcp -s 192.168.19.1 –dport 80 -j ACCEPT
↓
仅允许 192.168.19.1 访问80端口的数据包
允许整个网段访问
iptables -I INPUT -p tcp -s 192.168.19.1/24 –dport 80 -j ACCEPT
iptables参数
-P | 设置默认策略 |
-F | 清空规则链 |
-L | 查看规则链 |
-A | 在规则链的末尾加入新规则 |
-I num | 在规则链的头部加入新规则 |
-D num | 删除某一条规则 |
-s | 匹配来源地址IP/MASK,加叹号”!”表示除这个IP外。 |
-d | 匹配目标地址 |
-i | 网卡名称 匹配从这块网卡流入的数据 |
-o | 网卡名称 匹配从这块网卡流出的数据 |
-p | 匹配协议,如tcp,udp,icmp |
–dport num | 匹配目标端口号 |
–sport num | 匹配来源端口号 |
iptables -m 参数说明
-m state [状态]
- INVALID:无效的封包,例如数据破损的封包状态
- ESTABLISHED:已经联机成功的联机状态;
- NEW:想要新建立联机的封包状态;
- RELATED:这个最常用!表示这个封包是与我们主机发送出去的封包有关, 可能是响应封包或者是联机成功之后的传送封包!这个状态很常被设定,因为设定了他之后,只要未来由本机发送出去的封包,即使我们没有设定封包的 INPUT 规则,该有关的封包还是可以进入我们主机, 可以简化相当多的设定规则。
- UNTRACKED:报文的状态为untracked时,表示报文未被追踪,当报文的状态为Untracked时通常表示无法找到相关的连接。
© 版权声明
THE END
暂无评论内容