ASA防火墙配置 URL 过滤

一、实验拓扑图

在这里插入图片描述

二、准备工作

1.配置内网 DNS 服务

挂光盘,并配置yum源

[root@localhost ~]# hostnamectl set-hostname dns
[root@localhost ~]# bash
[root@dns ~]# yum -y install bind
[root@dns ~]# vim /etc/named.conf

在这里插入图片描述
往下滑
在这里插入图片描述
配置DNS区域配置文件

[root@dns ~]# cd /var/named/
[root@dns named]# cp -p named.localhost baidu
[root@dns named]# cp -p named.localhost youxi
[root@dns named]# vim baidu

在这里插入图片描述

[root@dns named]# vim youxi

在这里插入图片描述

[root@dns named]# systemctl start named		#开启DNS服务

注意事项:

  • DNS 服务器要将 DNS 指向自己
  • Win7 客户机需要将 DNS 指向 DNS 服务器

使用客户机验证是否能够解析刚才域名
在这里插入图片描述

2.配置外网 Web 主机

挂光盘,并配置yum源
baidu上配置:

[root@localhost ~]# hostnamectl set-hostname baidu
[root@localhost ~]# bash
[root@baidu ~]# yum -y install httpd
[root@baidu ~]# echo "This is baidu.com" > /var/www/html/index.html
[root@baidu ~]# echo "ServerName www.baidu.com" >> /etc/httpd/conf/httpd.conf
[root@baidu ~]# systemctl start httpd

在这里插入图片描述
youxi上配置:

[root@localhost ~]# hostnamectl set-hostname youxi
[root@localhost ~]# bash
[root@youxi ~]# yum -y install httpd
[root@youxi ~]# echo "This is youxi.com" > /var/www/html/index.html
[root@youxi ~]# echo "ServerName www.youxi.com" >> /etc/httpd/conf/httpd.conf
[root@youxi ~]# systemctl start httpd

在这里插入图片描述

3.配置 ASA 防火墙

ciscoasa> en
ciscoasa# conf t
ciscoasa(config)# hostname ASA		#配置主机名

E0/0

ASA(config)# int e0/0
ASA(config-if)# nameif inside 
INFO: Security level for "inside" set to 100 by default.
ASA(config-if)# security-level 100
ASA(config-if)# ip add 192.168.1.254 255.255.255.0
ASA(config-if)# no sh
Ctrl+C
ASA# ping 192.168.1.5	     #测试和内网主机连通性
ASA# ping 192.168.1.1

E0/1

ASA# conf t
ASA(config)# int e0/1 
ASA(config-if)# nameif outside
INFO: Security level for "outside" set to 0 by default.
ASA(config-if)# security-level 0
ASA(config-if)# ip add 192.168.100.254 255.255.255.0
ASA(config-if)# no sh
Ctrl+C
ASA# ping 192.168.100.1		#测试和外网主机连通性
ASA# ping 192.168.100.2

4.使用客户机访问验证

在这里插入图片描述
在这里插入图片描述
可以看到现在两个域名都可以访问,但是我们只想让内网访问 www.baidu.com,这个时候我们就可以通过配置 URL 过滤来实现;

三、ASA 防火墙配置 URL 过滤

1.创建 Class-map ,识别传输流量

  1. 创建一条名字是 aaa 的ACL;允许 192.168.1.0 网段访问所有外网的 www 服务
ASA# conf t
ASA(config)# ASA(config)# access-list aaa permit tcp 192.168.1.0 255.255.255.0 any eq www			
  1. 创建一个名字叫"zhangsan"的类映射,随之进入子模式
ASA(config)# class-map zhangsan
  1. 在类映射中带入刚刚创建 ACL 中的允许的流量
ASA(config-cmap)# match access-list aaa
ASA(config-cmap)# exit			#第一个映射创建完,退出到全局模式
  1. 创建了一个名称叫"URL1"的正则表达式,识别的扩展名是".youxi.com"
ASA(config)# regex URL1 "\.youxi\.com"
  1. 创建了一个名称"bbb"的 ,类型是"识别任何一个流量的"类映射
ASA(config)# class-map type regex match-any bbb
  1. 把刚刚创建的正则表达式"URL1"带入当前这个类映射
ASA(config-cmap)# match regex URL1
ASA(config-cmap)# exit			#第二个类映射完成,该类映射是用来识别扩展名
  1. 创建一个名称是"ccc",类型是识别"http"这种流量的 类映射
ASA(config)# class-map type inspect http ccc'
  1. 将 http 请求报文头部中 url 扩展名是".youxi.com"这种类型的映射带入到当前的映射
ASA(config-cmap)# match request header host regex class bbb
ASA(config-cmap)# exit			#第三个类映射结束

2.创建策略映射,关联类映射

  1. 创建了一个名称是 p-aaa,类型是识别"http"流量的 策略映射
ASA(config)# policy-map type inspect http p-aaa
  1. 将刚刚创建的 ccc 这个类映射调用到当前的策略映射
ASA(config-pmap)# class ccc
  1. 对刚刚识别的流量做关闭连接并记录在日志中
ASA(config-pmap-c)# drop-connection log
ASA(config-pmap-c)# exit
ASA(config-pmap)# exit			#退出,第一个策略映射完成
  1. 创建名称是"p-bbb"的策略映射
ASA(config)# policy-map p-bbb
  1. 调用之前创建的"zhangsan"这个类映射,识别传输流量
ASA(config-pmap)# class zhangsan
  1. 检查 http 流量,把第一个策略映射带入当前这个策略映射
ASA(config-pmap-c)# inspect http p-aaa
ASA(config-pmap-c)# exit
ASA(config-pmap)# exit			#退出,第二个策略映射结束

3.将最终的策略映射 p-bbb 用在ASA的 inside 接口上

ASA(config)# service-policy p-bbb interface inside

注意:一个接口只能用一个 policy-map

4.使用客户机访问测试

在这里插入图片描述
在这里插入图片描述
可以看到 baidu 可以正常访问,而 youxi 却访问不了,因为我们刚才做了 URL 过滤,把 youxi 过滤掉了

猜你喜欢

转载自blog.csdn.net/weixin_46902396/article/details/110392781