目录
前言
防火墙指的是一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障,是一种获取安全性方法的形象说法,它是一种计算机硬件和软件的结合,使Internet与Intranet之间建立起一个安全网关(Security Gateway),从而保护内部网免受非法用户的侵入,防火墙主要由服务访问规则、验证工具、包过滤和应用网关4个部分组成,防火墙就是一个位于计算机和它所连接的网络之间的软件或硬件。该计算机流入流出的所有网络通信和数据包均要经过此防火墙。
一.安全技术
1.入侵检测系统(Intrusion Detection Systems):特点是不阻断任何网络访问,量化、定位来自内外网络的威胁情况,主要以提供报警和事后监督为主,提供有针对性的指导措施和安全决策依据,类 似于监控系统一般采用旁路部署方式。
2.入侵防御系统(Intrusion Prevention System):以透明模式工作,分析数据包的内容如:溢出攻击、拒绝服务攻击、木马、蠕虫、系统漏洞等进行准确的分析判断,在判定为攻击行为后立即予以 阻断,主动而有效的保护网络的安全,一般采用在线部署方式。
3.防火墙( FireWall ):隔离功能,工作在网络或主机边缘,对进出网络或主机的数据包基于一定的规则检查,并在匹配某规则时由规则定义的行为进行处理的一组功能的组件,基本上的实现都是默 认情况下关闭所有的通过型访问,只开放允许访问的策略,会将希望外网访问的主机放在DMZ (demilitarized zone‘非军事化区域’)网络中。
二.nerfilter
1.位于linux内核中的包过滤功能体系
2.称为linux防火墙的“内核态”
三.iptables
1.位于/sbin/iptables,用管理防火墙规则的工具
2.称为linux防火墙的“用户态”
四.规则表和规则链
表的作用:容纳各种规则链
表的划分依据:防火墙规则的作用相似
规则的作用:对数据包进行过滤或处理
链的作用:容纳各种防火墙规则
链的分类依据:处理数据包的不同时机
五.四表五链
RAW表: 确认是否对该数据包进行状态跟踪
MANGLE表: 为数据包设置标记
NAT表: 修改数据包中的源、目标IP地址或端口
FILTER表: 确认是否放行该数据包(过滤)
方向控制(具体动作)
INPUT: 处理入站数据包
OUTPUT: 处理出站数据包
FORWARD: 处理转发数据包
POSTROUTING链:在进行路由选择后处理数据包
PREROUTING链: 在进行路由器选择前处理数据包
具体处理位置(动作执行位置 )
六.数据包过滤的匹配流程
规则表之间的顺序
raw>mangle>nat>filter
规则表之间的顺序
入站:PRERPOUTING>INPUT
出站:OUTPUT>POSTROUTING
转发:PREROUTING>FORWARD>POSTROUTING
入站数据流向:来自外界的数据包到达防火墙后,首先被 PREROUTING 链处理(是 否修改数据包地址等),然后进行路由选择(判断该数据包应发往何处);如果数据包的 目标地址是防火墙本机(如 Internet 用户访问网关的 Web 服务端口),那么内核将其传 递给 INPUT 链进行处(决定是否允许通过等),通过以后再交给系统上层的应用程序 (如 httpd 服务器)进行响应。 - 转发数据流向:来自外界的数据包到达防火墙后,首先被 PREROUTING 链处理,然 后再进行路由选择;如果数据包的目标地址是其他外部地址(如局域网用户通过网关访 问 QQ 服务器),则内核将其传递给 FORWARD 链进行处理(允许转发或拦截、丢弃), 最后交给 POSTROUTING (是否修改数据包的地址等)进行处理。 - 出站数据流向:防火墙本机向外部地址发送的数据包(如在防火墙主机中测试公网 DNS 服务时),首先进行路由选择,确定了输出路径后,再经由OUTPUT 链处理,最后再 交 POSTROUTING 链(是否修改数据包的地址等)进行处理。
七.包过滤的工作层次
1.主要是网络层,针对IP数据包
2.体现在包内的IP地址,端口等信息的处理上
八.数据包的常见控制类型
对于防火墙,数据包的控制类型非常关键,直接关系到数据包的放行、封堵及做相应的日志记录等。在 iptables 防火墙体系中,最常用的几种控制类型如下。
- ACCEPT:允许数据包通过。
- DROP:直接丢弃数据包,不给出任何回 应信息。
- REJECT:拒绝数据包通过,必要时会给数据发送端一个响应信息。
- LOG:在/var/log/messages 文件中记录日志信息,然后将数据包传递给下一条规则。
- SNAT:修改数据包的源地址。
- DNAT:修改数据包的目的地址。
- MASQUERADE:伪装成一个非固定公网IP地址。
防火墙规则的“匹配即停止”对于 LOG 操作来说是一个特例,因为 LOG 只是一种辅助动作,并没有真正处理数据包。