1.防火墙分类
- 物理特性的划分
- 硬件防火墙
- 软件防火墙
- 按性能划分
- 百兆级防火墙
- 千兆级防火墙
- 按结构分类
- 单一主机防火墙
- 路集成性防火墙
- 分布式防火墙
- 按照技术分类
- 包过滤防火墙
- 应用代理防火墙
- 状态监测防火墙
2.防火墙功能
- 访问控制
- 地址转换
- 网络环境支持
- 带宽管理功能
- 入侵检测和攻击防御
3.防火墙安全策略
按照一定规则控制设备对流量转发以及对流量进行诶荣安全一体化检测的策略,本质是包过滤.
- 安全策略分类
- 域间安全策略
- 域内安全策略
- 接口包过滤
防火墙技术 | 防火墙 |
访问控制 | 包过滤 |
代理技术 | 应用代理 |
会话机制 | 状态检测 |
多功能叠加 | UTM |
DFI | 下一代防火墙 |
3.1访问控制技术
- 包过滤基础:五元组工作原理(源地址,目的地址,源端口,目的端口,协议)
- 缺陷:当威胁存在与数据中的时候,访问控制技术无法防御,,因此也无法抵御来自应用层的病毒.
3.2代理技术
- 客户机不直接访问服务器,而是将请求发送给防火墙,由防火墙访问服务器,并将结果返回给客户机.
- 特点:只检查数据,对于ip和tcp头不进行检测,
3.3UTM
- 一次拆包,然后各个检测防火墙依次检测,最后一次打包.
- 比起多设备叠加,他是多次拆包,多次打包,UTM更加快速
3.4下一代防火墙NGFW
- 完整的L2-7层次安全架构,强悍的web安全防护能力
- 只能的攻击行为分析,有效检测apt攻击和僵尸网络
- 基于应用的安全检测,直观呈现业务安全风险
- 先进的云安全技术,快速发现并阻断新型威胁
4.linux 下的防火墙:iptables
4.1概述
iptables:是基于包过滤的技术
- netfilter:位于linux内核中的包过滤功能体系,成为linux防火墙的内核态
- iptables:位于/sbin/iptables,用来管理防火墙规则的工具,成为linux的用户态.
- 包过滤的工作层次:主要是网络层,针对ip数据包,主要工作在二三层.
- 规则链:对数据包进行过滤和处理,可以容纳各种防火墙规则,处理数据包的不同时机
- 默认五种规则链
- input:入站规则
- output:出站规则
- forward:转发规则
- postrouting:路由选择后进行处理的包
- prerouting:路由选择之前进行处理的包
- 表规则:容纳各种规则链,与防火墙规则相似
- raw表”确定是否对该数据包进行状态跟踪
- mangle表:为数据包设计标记
- nat表:修改数据包中的源,目标ip地址或者短裤欧
- filter:是否对表进行过滤
- 规则之间的顺序:nat–>filter
- 规则链之间的规则:
- 入站:pre–>input
- 出站:output–>post
- 转发:pre-forward->post
- 按顺序依次检查直到第一次匹配,如果找过到则使用默认的
┏╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍┓
┌───────────────┐ ┃ Network ┃
│ table: filter │ ┗━━━━━━━┳━━━━━━━┛
│ chain: INPUT │◀────┐ │
└───────┬───────┘ │ ▼
│ │ ┌───────────────────┐
┌ ▼ ┐ │ │ table: nat │
│local process│ │ │ chain: PREROUTING │
└ ┘ │ └─────────┬─────────┘
│ │ │
▼ │ ▼ ┌─────────────────┐
┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ │ ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ │table: nat │
Routing decision └───── outing decision ─────▶│chain: PREROUTING│
┅┅┅┅┅┅┅┅┅┳┅┅┅┅┅┅┅┅┅ ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ └────────┬────────┘
│ │
▼ │
┌───────────────┐ │
│ table: nat │ ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ │
│ chain: OUTPUT │ ┌─────▶ outing decision ◀──────────────┘
└───────┬───────┘ │ ┅┅┅┅┅┅┅┅┳┅┅┅┅┅┅┅┅
│ │ │
▼ │ ▼
┌───────────────┐ │ ┌────────────────────┐
│ table: filter │ │ │ chain: POSTROUTING │
│ chain: OUTPUT ├────┘ └──────────┬─────────┘
└───────────────┘ │
▼
┏╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍┓
┃ Network ┃
┗━━━━━━━━━━━━━━━┛
4.2基本语法
- iptables -I INPUT -p ICMP –ICMP-type echo-request -j reject
iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型]
- -t 表名省略默认为: -t filter
- 控制类型:
- accept:允许通过
- drop:直接丢弃,不流出任何回应
- reject:拒绝通过,必要是会给出提示
- log:记录日志信息,然后传给下一条规则继续匹配
- 添加新的规则:
- -A:在链的末尾追加一条规则
- -I:在链的开头或者指定序号插入一条规则
- 查看规则列表
- -L:列出所有的规则条目
- -n:以数字的形式显示地址,端口信息
- -v以更详细的方式显示规则信息
- –line-numbers查看规则时显示序号
- 删除规则
- -D :删除一条规则
- -F:清楚规则链
- 常见的通用匹配条件
- -p:指定协议
- -s ,-d:地址协议
- -i,-o:接口匹配
- –sport:目标端口匹配,–dport 目标端口
- tcp:–tcp-flags:检查范围 被设置的标记
- ICMP类
- 多端口匹配:-m multiport –s/dports 源目的端口列表
- ip范围匹配:-m iprange –src-range ip范围
- -m mac –mac-source Mac地址
- 状态匹配:-m state –state连接状态
- linux下的NAT
- SNAT:将内网转换为外网上网地址,然后允许内网上网
- DNAT:将外网转换为内网访问地址,然后允许外网访问内部服务器
- SNAT在postrouting链转换为外部上网地址
- iptables -t nat -A POSTROUTING -s []/24 -o ens33 -j SNAT –to []
- 默认linux中没有开启转发:需要将/proc/sys/net/ipv4/ip_forward的值改为1才可以开启路由功能