防火墙概述
防火墙的概念
防火墙源自于建筑领域,用来隔离火灾的墙。而在数通领域防火墙就是可以放行通信报文拒绝网络攻击的软件或硬件。
防火墙相当于是带了安全模块的路由器,能够对流量进行深度分析。
防火墙的作用
隔离外网
内网隔离
防垃圾
防攻击
防病毒
防火墙的类型
ensp中的防火墙即为软件防火墙。
防火墙的发展历程
包过滤防火墙
acl 通过数据报文的五元组对报文进行过滤
弊端:无报文关联分析,容易被欺骗
配置步骤较为繁琐,难以适应动态需求
逐条检测,性能低下
通常不检查应用层数据
状态检测防火墙
AI防火墙
防火墙的基本概念
安全区域
防火墙有四个安全区域
trust 受信区域 优先级85 定义内网
untrust 非受信区域 优先级5 一般用来定义外网
dmz 非军事化区域 优先级50 定义需要被外网访问的内网
local 本地区域 优先级 100 防火墙设备本地接口
华为防火墙默认访问规则
默认两个区域之间无法相互访问
一个接口只能加到一个安全区域中
一个安全区域可以有多个接口,相同安全区域之间默认允许放行
已经配置好基本的IP
[USG6000V1]firewall zone trust
[USG6000V1-zone-trust]add interface g1/0/0
[USG6000V1-zone-trust]add
[USG6000V1-zone-trust]add int g1/0/2
该命令的含义是把与防火墙g1/0/0和g1/0/2接口下的区域的网络加入到trust区域,接口本身属于local。
此时PC1和PC3都在trust区域,用PC1pingPC3
将PC2划分到untrust区域
[USG6000V1]firewall zone untrust
[USG6000V1-zone-untrust]add int g1/0/1
无法ping通,此时需要安全策略(因为不同安全区域的网络默认不通)
[USG6000V1]security-policy 安全策略
[USG6000V1-policy-security]rule name test
[USG6000V1-policy-security-rule-test]source-zone trust 原区域
[USG6000V1-policy-security-rule-test]destination-zone untrust 目的区域
[USG6000V1-policy-security-rule-test]source-address 1.1.1.1 0.0.0.0 原ip 也可以是网段
[USG6000V1-policy-security-rule-test]destination-address 2.2.2.1 0.0.0.0
[USG6000V1-policy-security-rule-test]action permit 放行
此时可以通。
安全策略还可以定义服务类型,定义的安全策略都需要满足才能放行,如果安全策略是同一种类的话则满足一个就可以放行
有很多安全策略的话,先配的安全策略更加优先。所以前面要配重要的策略
会话表
现在反向用PC2ping PC1
无法访问。
原因PC2回PC1的包是基于会话表象完成的,PC2无法主动访问PC1.
会话表为了节省资源老化时间特别短,用PC1 ping PC2 立马查表
dis firewall session table
5次ping下的5个会话,因为PCping的五个端口不一样
缺省情况下,各协议的老化时间为:DNS(120秒)、ftp(120秒)、ftp-data(120秒)、HTTP(120秒)、icmp(20秒)、tcp(600秒)、tcp-proxy(10秒)、udp(120秒)、sip(1800秒)、sip-media(120秒)、rtsp(60秒)、rtsp-media(120秒)、pptp(600秒)、pptp-data(600秒)
1.PC1发包,
2.防火墙接受创建会话表象。
3.防火墙放行首包‘
4.PC2回包
5.匹配会话表象防火墙放行
对于PC1而言只有第一个包需要进行安全检测节省了时间
来源于test1,如果test1策略删除该表象会马上删除。
由于防火墙本身的安全机制如果需要PCping防火墙的端口需要进行配置
int g1/0/0
service-manage ping permit
允许1/0/0下的PCping通防火墙的所有本地地址,(没有安全策略放行也可以通过,但如果要和防火墙建立协议的邻居关系需要配置
会话表老化时间与长连接
FTP有控制通道和数据通道,下载文件时使用的是数据通道。
[USG6000V1]firewall session aging-time service-set icmp 100
双通道协议的问题
单通道协议:只需要一个端口的协议,如http只需要80端口号.
多通道协议:需要占用两个或多个端口的协议,ftp就是多通道协议
如果防火墙的放行条件很宽松虽然能够建立起协议但存在安全隐患。
ASPF(应用层特殊包过滤)可以基于应用层的协议信息进行检测,通过维护会话的状态和检查会话的端口号等信息,阻止恶意的入侵
ASPF能够让防火墙预测服务器发回来的目的端口号,从而创建大概server表(很快消失),如果收到服务器发过来的报文则删除server表,创建明细的session表。
实验过程
现在用实验验证上面的理论
配置好各接口ip,用静态路由的方式配好网关,将接口划到安全区域中
[USG6000V1]security-policy
[USG6000V1-policy-security]rule name ctf
[USG6000V1-policy-security-rule-ctf]source-zone trust
[USG6000V1-policy-security-rule-ctf]destination-zone untrust
[USG6000V1-policy-security-rule-ctf]service ftp
[USG6000V1-policy-security-rule-ctf]action permit
测试连通性
做好ftp的相关配置
[Huawei]ftp server enable
[Huawei]user-interface vty 0 4
[Huawei-ui-vty0-4]authentication-mode aaa
[Huawei-ui-vty0-4]aaa
[Huawei-aaa]local-user ftp service-type ftp
[Huawei-aaa]local-user ftp privilege level 15
[Huawei-aaa]local-user ftp password cipher ftp
[Huawei-aaa]local-user ftp ftp-directory flash:
<Huawei>copy sslvpn.zip sslvpn.zip.bak
Copy flash:/sslvpn.zip to flash:/sslvpn.zip.bak? (y/n)[n]:y
因为前面策略放行了trust到untrust,ASPF的功能在防火墙是默认开启的。所以可以建立ftp的连接
这个是控制通道的会话表
在客户端使用dir命令,就会有
1.server-map的产生
2.数据通道会话的建立
ftp-data VPN: public --> public 2.2.2.1:20 --> 1.1.1.1:50120
这条并没有被防火墙放行,是防火墙自动放行。
现在关闭ASPF功能看看ftp是否能建立
[USG6000V1]undo firewall detect ftp 关闭ftp的状态状态检测功能,即关闭ASPF功能
控制通道依然能够连接。
数据通道无法建立。
此时如果配置安全策略允许unturst访问trust,数据通道能够建立
[USG6000V1-policy-security]rule name ftc
[USG6000V1-policy-security-rule-ftc]source-zone
[USG6000V1-policy-security-rule-ftc]destination-zone trust
[USG6000V1-policy-security-rule-ftc]action permit
此时
第二个协议是tcp,不是ftp data。
并且存在很大的安全隐患,此时untrust 能够直接访问 trust。
这样的话防火墙失去了它存在的意义。
实验完成。