如何配置应用层防火墙(WAF)以hillstone为例
防火墙是网络安全中不可或缺的组成部分,它位于网络的边缘,用以控制进出一个网络系统的数据流。防火墙的核心功能是根据一系列预先设定的规则来允许或拒绝数据包的传输,从而保护网络不受恶意攻击和未经授权的访问。1.1 防火墙关键要素:部署在网络边缘控制网络进出数据流需要预先设定规则(厂家设定用户自定义)检测传输过程的数据包。
·
实验目的
- 了解防火墙类型
- 学会管理WAF
- 掌握WAF安全配置
一、防火墙概述
防火墙是网络安全中不可或缺的组成部分,它位于网络的边缘,用以控制进出一个网络系统的数据流。防火墙的核心功能是根据一系列预先设定的规则来允许或拒绝数据包的传输,从而保护网络不受恶意攻击和未经授权的访问。
1.1 防火墙关键要素:
- 部署在网络边缘
- 控制网络进出数据流
- 需要预先设定规则(厂家设定+用户自定义)
- 检测传输过程的数据包
1.2 防火墙工作流程:

二、常见的防火墙类型
1.1 硬件防火墙
硬件防火墙是一种独立的硬件设备,专门用来过滤网络流量,不会占用主机的CPU和内存资源。适合大型企业使用,但相对于软件防火墙而言,成本更高。
常见的硬件防火墙生产商:
华为、华三、山石等
1.2 软件防火墙
软件防火墙直接安装在主机设备上,仅保护单一设备。其优点是可以为指定设备提供保护,而缺点则是可能占用系统资源和存储空间。
例如常见的类型软件安装类型的 pfsense
系统安装类型的 clearOS
软件安装类型的国产防火墙 雷池WAF
1.3 基于云的防火墙
基于云的防火墙通过互联网提供,按需服务,能够提供灵活的安全管理和更新。这种防火墙类型适用于云计算环境,但可能存在依赖性的问题。
1.4 常见的防火墙架构
最基础的防火墙架构
常规防火墙架构
企业内常见的防火墙架构
三、防火墙实验
演示网络架构如下图:
3.1 防火墙管理
常用console线去连接登录,使用console登陆到防火墙设备后,需要在字符界面使用用户名和密码登陆

当我们拿到一个新的WAF设备时,使用console口登陆,命令行将WAF设备接口1的IP设置为
192.168.1.1 ,然后打开HTTP/HTTPS管理页面,参考代码如下:
# 山石防火墙为例
#configure #进配置模式
interface ethernet0/0
zone trust 配置安全域
#ip add 192.168.1.1 255.255.255.0 配置1接口的IPmanage http 开放相应的web管理页面
manage https 开放相应的web管理页面
manage ping 可以ping同这个设备口
exit
使用管理电脑(如个人笔记本),使用网线连接电脑和WAF设备接口1,管理电脑手动设置静态IP
在192.168.1.1/24网段内,例如 192.168.1.101 ,配置完成后,开到管理电脑的浏览器,输入
https://192.168.1.1 就能访问到WAF设备的web管理页面了
3.2 WEB UI 登录
用管理电脑登录http://192.168.1.1
而在我们的场景中,我们已经提前配置好接口0的ip了,为 123.180.50.1 ,可以直接在与设备0接口相连的管理电脑上,进行web登陆,如下图(用户名密码默认都是hillstone):
综上,我们总结一下防火墙登陆管理相关的要素:
- 1、需要防火墙设备的至少有一个接口分配了IP,并开启了HTTP/HTTPS管理(ssh管理)
- 2、通常设备厂商会给防火墙设备其中一个接口(大部分接口0)分配IP,开启HTTP/HTTPS管理,
- 即我们可以直接使用web登陆管理页面。需要注意的是,较老的设备(5~10年前),仍然需要
- console来配置防火墙的参数----解决-->刷固件,升到有web页面的版本,不行就命令行硬配
- 3、如果防火墙设备没有被分配IP,则需要我们连接到设备的console口,自己设置设备接口的IP,
- 并手动开启HTTP/HTTPS管理
- 4、HTTP/HTTPS管理设置好以后,如何登陆到web页面?管理电脑(个人笔记本)网线连接到
- WAF设备配置了IP开启了HTTP/HTTPS管理的接口后,管理电脑配置和WAF设备接口IP同一网段
- (管理电脑的网关地址是WAF设备配置的IP地址,这点需要注意)
3.3 接口配置
进入页面后点击网络-->接口

将防火墙的所有接口都配置上ip地址。需要注意的是,不同功能的端口,安全域的名称不一样,通常三层安全域(二层是透明模式,不推荐),通常安全设备会默认给我们创建好2个安全域,trust和untrust有的设备也会有第三个安全域DMZ,我们也可以自己创建自己的安全域
连接公网IP的接口:使用untrust安全域
连接内网的接口:使用trust的安全域或者DMZ安全域
我们场景中,防火墙设备有3个接口,因此我们需要参考网络拓扑图,修改或配置三个接口的参数:
- 接口0的配置参数

- 接口1的配置参数
在实验场景中,接口1连接的是10.0.0.0/8网段里面的设备,所以防火墙设备接口1的ip应该是
10.0.0.1,同时10.0.0.0/8网段里面的电脑/服务器网关都需要配置为10.0.0.1(电脑/服务器网关实
际不用强调,约定俗成默认网关地址都是x.x.x.1)同时,我们规划的是这个域需要作为DMZ区域进行隔离,我们先添加一个安全域,然后把接口1放到这个安全域里面。



- 接口2的配置参数
在实验场景中,接口2连接的是192.168.1.1/24网段里面的设备,这个是我们核心的办公区域或者
核心服务区域,我们在这个网段开启HTTP/HTTPS最佳,安全域trust
实际上,在接口2配置好IP和HTTP/HTTPS管理后,我们场景中的核心内网电脑 192.168.1.2 就能
通过浏览器输入地址 192.168.1.1 来访问防火墙设备的web管理页面了
这个时候,我们把连接公网的接口0参数修改一下,关闭所有的管理方式,如下图:
至此,防火墙设备的所有接口就配置完毕了,我们总结一下防火墙接口配置的相关要素:
1、连接公网的接口,不要开启任何管理方式,避免防火墙设备在公网被发现
2、如果非内网防火墙有三个接口,建议一个公网、一个DMZ、一个内网
3.4 路由策略
在本次的实验场景中,WAF防火墙的接口下面都是和服务器进行直连的,因此不需要配置任何路由策略
数据访问逻辑
192.168.1.2主机访问10.0.0.2发送数据包------>数据包找到网关192.168.1.1------>数据包到达WAF防火墙接口2------>防火墙查看目的地址位10.0.0.2,检查自身的其他接口1有一个10.0.0.0/24网段,而目的地址10.0.0.2在接口1的网段中----->防火墙将数据直接发送到接口1---->接口1接收到数据,查看目的地址10.0.0.2在自己的网段里面------>将数据包发送到自己网段内的主机10.0.0.2上
补充:在实际的企业场景中,你需要配置一条出去的公网路由,这样防火墙连接的内网IP才能访问公网,你需要知道运营商给企业分配的静态公网IP的网关地址(这个运营商通常会告知企业相关信息的),配置如下图:


3.5 web防护配置
3.5.1 系统中修改防火墙的参数模式为反向代理模式
串联:关键节点,当做路由器进行转发,转发时筛选流量
反向代理:将网站放在waf上,去访问网站时相当于访问了waf
监听:当做ids用没有阻断的功能
3.5.2 模式调整为反向代理后,在防火墙上添加站点,如下图


waf公网端口的流量转发到web服务器上
需要注意的是,在站点的基本配置中,真实环境的服务IP应该是运营商分配给企业的公网IP地址
真实场景情况:
1、如上图配置企业的公网IP,端口通常是80
2、将企业的域名解析到公网IP,这里是 123.180.50.1 比如企业域名是 a.zwxa.com ,那么企业将
会在域名 a.zwxa.com 控制台添加A记录,记录值是 123.180.50.1
3、公网访问情况
配置完成后,我们可以在外网kali主机访问一下web'地址(你在站点--->服务配置的那个IP地址,就访问那个IP地址),然后再WAF的站点概览就能看到访问信息了
3.6 web防护测试
我们使用外网的kali主机里面的nikto扫描一下防火墙防护的网站,然后看看防火墙是否有检测到
kali主机上执行如下命令:
nikto -h http://10.0.0.2:8081 #服务ip参数是10.0.0.2情况
#或
nikto -h http://a.zwxa.com #参考真实环境配置的情况
WAF防火墙在哪里查看检测到的信息?---> 报表日志的网页安全日志查看
如何应对?----> 我们再安全日志中,找到恶意请是否有一定的规律,然后针对规律创建告警或过滤规则即可
例如,nikto 扫描在UA中,带有固定的nikto字样特征,如下图:
根据特征创建告警规则
创建规则后,还需要开启
最后查看,自定义的规则告警策略是否有生效
再次进行扫描
然后再WAF防火墙 报表日志---->网页安全日志上,添加过滤条件
过滤类型是防护子类型
最终得到自定义规则的记录信息说明自定义规则配置生效成功
更多推荐
所有评论(0)